58 lines
1.4 KiB
Dart
58 lines
1.4 KiB
Dart
class DailyDiary {
|
|
final String id;
|
|
final String childId;
|
|
final DateTime date;
|
|
final String teacherId;
|
|
final String? food;
|
|
final int? sleepMinutes;
|
|
final String? activities;
|
|
final String? mood;
|
|
final String? notes;
|
|
final List<String> photos;
|
|
final DateTime createdAt;
|
|
|
|
DailyDiary({
|
|
required this.id,
|
|
required this.childId,
|
|
required this.date,
|
|
required this.teacherId,
|
|
this.food,
|
|
this.sleepMinutes,
|
|
this.activities,
|
|
this.mood,
|
|
this.notes,
|
|
required this.photos,
|
|
required this.createdAt,
|
|
});
|
|
|
|
factory DailyDiary.fromMap(Map<String, dynamic> map) {
|
|
return DailyDiary(
|
|
id: map['id'] ?? '',
|
|
childId: map['child_id'] ?? '',
|
|
date: DateTime.tryParse(map['date'] ?? '') ?? DateTime.now(),
|
|
teacherId: map['teacher_id'] ?? '',
|
|
food: map['food'],
|
|
sleepMinutes: map['sleep_minutes'],
|
|
activities: map['activities'],
|
|
mood: map['mood'],
|
|
notes: map['notes'],
|
|
photos: List<String>.from(map['photos'] ?? []),
|
|
createdAt: DateTime.tryParse(map['created_at'] ?? '') ?? DateTime.now(),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'child_id': childId,
|
|
'date': date.toIso8601String().split('T')[0],
|
|
'teacher_id': teacherId,
|
|
'food': food,
|
|
'sleep_minutes': sleepMinutes,
|
|
'activities': activities,
|
|
'mood': mood,
|
|
'notes': notes,
|
|
'photos': photos,
|
|
};
|
|
}
|
|
}
|