getTask method

  1. @override
Future<MealAnalysisTask> getTask(
  1. {required String taskId}
)
override

Implementation

@override
Future<MealAnalysisTask> getTask({
  required String taskId,
}) async {
  try {
    final result = await _client.getTaskGet(
      taskId: taskId,
    );

    final resultData = result.data;

    if (resultData == null) {
      return throw RepositoryException(
        RepositoryErrorType.notFound,
        RepositoryErrorType.notFound.message,
      );
    }

    final task = _convertToTask.exec(taskResult: resultData);

    return task;
  } on RepositoryException catch (_) {
    rethrow;
  } on DioException catch (error, stackTrace) {
    throw await _dioErrorHandler.handleDioError(
      error,
      stackTrace,
      taskId,
    );
  } catch (error, stackTrace) {
    throw _repositoryErrorHandler.handleUnknownError(error, stackTrace);
  }
}