import 'package:eatvio_app/features/feed/models/plan_pagination_model.dart'; import 'package:eatvio_app/features/plans/enums/chosen_plan_state_enum.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'chosen_plan_model.freezed.dart'; part 'chosen_plan_model.g.dart'; @freezed class ChosenPlanModel with _$ChosenPlanModel { factory ChosenPlanModel({ @JsonKey() required int id, @JsonKey(name: 'option_type') required String optionType, @JsonKey(name: 'start_date') required DateTime startDate, @JsonKey(name: 'last_state') required ChosenPlanStateEnum chosenPlanState, @JsonKey(name: 'chat_id') required String chatId, @JsonKey(name: 'consultant_id') required int consultantId, @JsonKey(name: 'plan') required PlanModel plan, }) = _ChosenPlanModel; factory ChosenPlanModel.fromJson(Map json) => _$ChosenPlanModelFromJson(json); } ChosenPlanModel? parseChosenPlan(json) { if (json is Map) { return ChosenPlanModel.fromJson(json); } return null; }