exec method

MealAnalysisTask exec(
  1. {required TaskResult taskResult}
)

Implementation

MealAnalysisTask exec({
  required TaskResult taskResult,
}) {
  final taskId = taskResult.ID;

  // TODO: API仕様変更依頼中。OpenAPI.yml反映後にnullチェック削除
  if (taskId == null) {
    throw Exception('TaskResultのIDが不正です');
  }

  TaskStatus taskStatus;

  switch (taskResult.taskStatus) {
    case TaskResultTaskStatusEnum.completed:
      taskStatus = TaskStatus.completed;
      break;
    case TaskResultTaskStatusEnum.processing:
      taskStatus = TaskStatus.processing;
      break;
    case TaskResultTaskStatusEnum.failed:
      taskStatus = TaskStatus.failed;
      break;
    default:
      // TODO: API仕様変更依頼中。OpenAPI.yml反映後にnullチェック削除
      throw Exception('TaskStatusが不正です');
  }

  return MealAnalysisTask(
    id: taskId,
    status: taskStatus,
  );
}