getUpdateStatus method

  1. @override
Future<Response<UpdateStatusResponse>> getUpdateStatus({
  1. required String token,
  2. required UpdateStatusRequest request,
})
override

Implementation

@override
Future<Response<UpdateStatusResponse>> getUpdateStatus({
  required String token,
  required UpdateStatusRequest request,
}) async {
  return await _mainClient
      .put<Map<String, dynamic>>(
    ApiConstants.updateStatus,
    data: request.toJson(),
    options: Options(
      headers: {
        'Authorization': token,
        'Content-Type': 'application/json',
      },
    ),
  )
      .then((response) {
    return Response<UpdateStatusResponse>(
      data: UpdateStatusResponse.fromJson(response.data ?? {}),
      headers: response.headers,
      requestOptions: response.requestOptions,
      statusCode: response.statusCode,
      statusMessage: response.statusMessage,
      extra: response.extra,
    );
  })
      .catchError((error) {
    String errorMessage = 'Failed to update status';
    if (error is DioException) {
      errorMessage = error.response?.data?['message'] ??
          error.message ??
          'Unable to update status';
    }
    _showError(errorMessage);
    throw error;
  });
}