useVoucher method

Future useVoucher({
  1. required String voucherCode,
})

Implementation

Future<dynamic> useVoucher({required String voucherCode}) async {
  try{
    var module = await SharedPrefs.getModule();
    var accessToken = await SharedPrefs.getAccessToken();
    module = module.isEmpty ? globalModule : module;

    VoucherUserBodyModel body = VoucherUserBodyModel(voucherCode: voucherCode);

    Response response = await _dio.post(useVoucherURL, data: body.toJson(), options: Options(headers: {'module': module, 'Authorization': "Bearer $accessToken"},));
    return response;
  }catch(e){
    DioExceptions.fromDioError(dioError: e as DioException);
    if(e.response?.statusCode! == 401){
      return DioExceptions.unauthorized(() => useVoucher(voucherCode: voucherCode));
    }else{
      return e.response;
    }
  }
}