exec method

MealRecordModel exec(
  1. {required MealRecord mealRecord}
)

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(),
  );
}