forked from eatvio/eatvio_app
29 lines
1.1 KiB
Dart
29 lines
1.1 KiB
Dart
import 'package:eatvio_app/features/diary/models/diary_day_model.dart';
|
||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||
|
||
part 'diary_day_entity.freezed.dart';
|
||
|
||
@freezed
|
||
abstract class DiaryDayEntity with _$DiaryDayEntity {
|
||
factory DiaryDayEntity({
|
||
@JsonKey(name: "id") required int id,
|
||
@JsonKey(name: "date") required String date,
|
||
@JsonKey(name: "wakeup") String? wakeup,
|
||
@JsonKey(name: "retire") String? retire,
|
||
@JsonKey(name: "closed") required int closed,
|
||
@JsonKey(name: "comment") required String comment,
|
||
@JsonKey(name: "state") required TypeOfDiaryModel typeOfDiary,
|
||
@JsonKey(name: "meals") required List<MealModel> meals,
|
||
@JsonKey(name: "chosen_plan_id") required int? chosenPlanId,
|
||
@JsonKey(name: "day_of_chosen_diet") required int? dayOfChosenDiet,
|
||
@JsonKey(name: "chosen_diet", fromJson: parseDiet) required DiaryDietModel? diet,
|
||
|
||
/// Slug владельца дневника; `null`, если сервер его не вернул.
|
||
String? ownerSlug,
|
||
}) = _DiaryDayEntity;
|
||
|
||
const DiaryDayEntity._();
|
||
|
||
bool get hasProducts => meals.any((meal) => meal.portions.isNotEmpty);
|
||
}
|