exec method
Implementation
MealRecordModel exec({
required MealRecord mealRecord,
}) {
final uid = mealRecord.uid;
final dateTime = mealRecord.dateTime;
final imageUrl = mealRecord.imageUrl;
final foodItems = mealRecord.foodItems;
// TODO: API仕様変更依頼中。OpenAPI.yml反映後にnullチェック削除
if (uid == null || dateTime == null || imageUrl == null) {
throw Exception('uid or dateTime or imageUrl is null');
}
return MealRecordModel(
uid: uid,
dateTime: dateTime.toLocal(),
imageUrl: imageUrl,
foodItems: foodItems?.map(
(e) {
final name = e.name;
final nutrients = e.nutrients;
// TODO: API仕様変更依頼中。OpenAPI.yml反映後にnullチェック削除
if (name == null || nutrients == null) {
throw Exception('name or nutrients is null');
}
return FoodItemModel(
name: name,
nutrients: nutrients.map((e) {
final name = e.name;
final quantity = e.quantity;
final unit = e.unit;
// TODO: API仕様変更依頼中。OpenAPI.yml反映後にnullチェック削除
if (name == null || quantity == null || unit == null) {
throw Exception('name or quantity or unit is null');
}
return NutrientModel(
name: name,
quantity: quantity,
unit: unit,
);
}).toList(),
);
},
).toList(),
);
}