From 3ca1960e6ae22929043ef0b5907c864cedecfbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandi=20Milohani=C4=87?= Date: Fri, 22 Oct 2021 08:32:02 +0200 Subject: [PATCH 1/2] add reference from log to meal --- lib/models/nutrition/log.dart | 5 +++++ lib/models/nutrition/log.g.dart | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/models/nutrition/log.dart b/lib/models/nutrition/log.dart index fec9c6079..1d1dd90ef 100644 --- a/lib/models/nutrition/log.dart +++ b/lib/models/nutrition/log.dart @@ -31,6 +31,9 @@ class Log { @JsonKey(required: true) int? id; + @JsonKey(required: false, name: 'meal') + late int? mealId; + @JsonKey(required: true, name: 'plan') int planId; @@ -56,6 +59,7 @@ class Log { Log({ this.id, + required this.mealId, required this.ingredientId, required this.weightUnitId, required this.amount, @@ -70,6 +74,7 @@ class Log { weightUnitId = mealItem.weightUnitId; datetime = dateTime ?? DateTime.now(); amount = mealItem.amount; + mealId = mealItem.id; } // Boilerplate diff --git a/lib/models/nutrition/log.g.dart b/lib/models/nutrition/log.g.dart index 7e64e3843..430e924a2 100644 --- a/lib/models/nutrition/log.g.dart +++ b/lib/models/nutrition/log.g.dart @@ -8,13 +8,14 @@ part of 'log.dart'; Log _$LogFromJson(Map json) { $checkKeys(json, - requiredKeys: const ['id', 'plan', 'datetime', 'ingredient', 'weight_unit', 'amount']); + requiredKeys: const ['id', 'meal', 'plan', 'datetime', 'ingredient', 'weight_unit', 'amount']); return Log( id: json['id'] as int?, ingredientId: json['ingredient'] as int, weightUnitId: json['weight_unit'] as int?, amount: stringToNum(json['amount'] as String?), planId: json['plan'] as int, + mealId: json['meal'] as int, datetime: DateTime.parse(json['datetime'] as String), comment: json['comment'] as String?, ); @@ -22,6 +23,7 @@ Log _$LogFromJson(Map json) { Map _$LogToJson(Log instance) => { 'id': instance.id, + 'meal': instance.mealId, 'plan': instance.planId, 'datetime': instance.datetime.toIso8601String(), 'comment': instance.comment, From 364b37c1060634b49a74332666e77f786b124988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandi=20Milohani=C4=87?= Date: Sat, 23 Oct 2021 07:37:14 +0200 Subject: [PATCH 2/2] Correction reference mealId in log --- lib/models/nutrition/log.dart | 5 ++--- lib/providers/nutrition.dart | 2 +- test_data/nutritional_plans.dart | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/models/nutrition/log.dart b/lib/models/nutrition/log.dart index 1d1dd90ef..97892b537 100644 --- a/lib/models/nutrition/log.dart +++ b/lib/models/nutrition/log.dart @@ -32,7 +32,7 @@ class Log { int? id; @JsonKey(required: false, name: 'meal') - late int? mealId; + int mealId; @JsonKey(required: true, name: 'plan') int planId; @@ -68,13 +68,12 @@ class Log { this.comment, }); - Log.fromMealItem(MealItem mealItem, this.planId, [DateTime? dateTime]) { + Log.fromMealItem(MealItem mealItem, this.planId, this.mealId, [DateTime? dateTime]) { ingredientId = mealItem.ingredientId; ingredientObj = mealItem.ingredientObj; weightUnitId = mealItem.weightUnitId; datetime = dateTime ?? DateTime.now(); amount = mealItem.amount; - mealId = mealItem.id; } // Boilerplate diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart index d82f5df2d..32bc1be36 100644 --- a/lib/providers/nutrition.dart +++ b/lib/providers/nutrition.dart @@ -330,7 +330,7 @@ class NutritionPlansProvider extends WgerBaseProvider with ChangeNotifier { Future logMealToDiary(Meal meal) async { for (final item in meal.mealItems) { final plan = findById(meal.planId); - final Log log = Log.fromMealItem(item, plan.id!); + final Log log = Log.fromMealItem(item, plan.id!, meal.id!); final data = await post(log.toJson(), makeUrl(_nutritionDiaryPath)); log.id = data['id']; diff --git a/test_data/nutritional_plans.dart b/test_data/nutritional_plans.dart index 3983b92b1..fae75c854 100644 --- a/test_data/nutritional_plans.dart +++ b/test_data/nutritional_plans.dart @@ -106,9 +106,9 @@ NutritionalPlan getNutritionalPlan() { plan.meals = [meal1, meal2]; // Add logs - plan.logs.add(Log.fromMealItem(mealItem1, 1, DateTime(2021, 6, 1))); - plan.logs.add(Log.fromMealItem(mealItem2, 1, DateTime(2021, 6, 1))); - plan.logs.add(Log.fromMealItem(mealItem3, 1, DateTime(2021, 6, 10))); + plan.logs.add(Log.fromMealItem(mealItem1, 1,1, DateTime(2021, 6, 1))); + plan.logs.add(Log.fromMealItem(mealItem2, 1,1, DateTime(2021, 6, 1))); + plan.logs.add(Log.fromMealItem(mealItem3, 1,1, DateTime(2021, 6, 10))); return plan; }