shareVoucher method

Future shareVoucher({
  1. required String voucherCode,
  2. required String sendToMobileNumber,
})

Implementation

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

    ShareVoucherBodyModel body = ShareVoucherBodyModel(voucherCode: voucherCode, toMobileNo: sendToMobileNumber);

    Response response = await _dio.post(shareVoucherURL, 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(() => shareVoucher(voucherCode: voucherCode, sendToMobileNumber: sendToMobileNumber));
    }else{
      return e.response;
    }
  }
}