networkRequestHandlerWithMessage<T> function

Future<void> networkRequestHandlerWithMessage<T>({
  1. required Future<BaseResponse<T>> apiCall(),
  2. dynamic onSuccess(
    1. BaseResponse<T>?
    )?,
  3. dynamic onError(
    1. String
    )?,
})

Generic API request handler with message

Implementation

Future<void> networkRequestHandlerWithMessage<T>({
  required Future<BaseResponse<T>> Function() apiCall,
  Function(BaseResponse<T>?)? onSuccess, // Pass full response
  Function(String)? onError,
}) async {
  try {
    final response = await apiCall();
    if (response.success == Constant.successResCheckValue) {
      onSuccess?.call(response); // Pass full response
    } else {
      onError?.call(response.message ?? "Unknown error occurred.");
    }
  } catch (e) {
    onError?.call("Unexpected error: ${e.toString()}");
  }
}