22 lines
577 B
Dart
22 lines
577 B
Dart
/// One thing planned for a Meal on a day: a Recipe or a short note.
|
|||
|
|
class PlanEntry {
|
||
|
|
const PlanEntry({
|
||
|
|
required this.id,
|
||
|
|
required this.day,
|
||
|
|
required this.mealId,
|
||
|
|
this.recipeId,
|
||
|
|
this.note,
|
||
|
|
required this.position,
|
||
|
|
}) : assert((recipeId == null) != (note == null), 'A Plan Entry is either a Recipe or a note');
|
||
|
|
|
||
|
|
final String id;
|
||
|
|
|
||
|
|
/// The calendar day, as a UTC midnight (see `day.dart`).
|
||
|
|
final DateTime day;
|
||
|
|
final String mealId;
|
||
|
|
final String? recipeId;
|
||
|
|
final String? note;
|
||
|
|
|
||
|
|
/// Order within its Meal on its day.
|
||
|
|
final int position;
|
||
|
|
}
|