exec method

Future<List<MealRecordModel>?> exec(
  1. {required DateTime from,
  2. required DateTime to}
)

期間内の食事記録を取得する。

指定された期間内の食事記録をリストでサーバーから取得します。

Parameters:

  • from : 取得する期間の開始日時
  • to : 取得する期間の終了日時

Return: Future<List<MealRecordModel>?> が返されます。このFutureは、操作が完了すると完了します。

使用するリポジトリ:

  • MealRecordRepository : 食事記録のデータ操作を管理するリポジトリ 使用するAPI:
  • MealRecordApi.listMealRecords : 期間内の食事記録のリスト取得を行うAPI

Implementation

Future<List<MealRecordModel>?> exec({
  required DateTime from,
  required DateTime to,
}) async {
  try {
    final utcFromDateTime = from.toZeroTime.toUtc();

    // 1日後を指定することで、当日のデータを取得できるようにする
    final utcToDateTime = to.toZeroTime.toUtc().add(const Duration(days: 1));

    final records = await _mealRecordsRepository.getRecords(
      from: utcFromDateTime,
      to: utcToDateTime,
    );

    return records;
  } on RepositoryException catch (error, stackTrace) {
    throw _errorHandler.handleRepositoryError(error, stackTrace);
  } catch (error, stackTrace) {
    throw _errorHandler.handleUnknownError(error, stackTrace);
  }
}