setSubscriberReferral method

Future<void> setSubscriberReferral([
  1. void onSuccess()?
])

Implementation

Future<void> setSubscriberReferral([void Function()? onSuccess]) async {
  try {
    String code = customInvitationCodeController.text.trim();
    if (isValidCode.isFalse || code.isEmpty) {
      CustomFlashWidget.showFlashMessage(
        type: FlashType.error,
        title: "Invalid referral code",
        message: "Please enter a valid referral code",
      );
      return;
    }
    var response = await Requests.getDio()
        .post('subscriber/referral/set', data: {"code": code});
    log('subscriber/referral/set ${response.data}');
    if (response.statusCode == 200) {
      referralCode.value=response.data['data']['referralCode'];
      referralCode.refresh();
      CustomFlashWidget.showFlashMessage(
        type: FlashType.success,
        title: "Success",
        message: "Referral code set successfully",
      );
      if (onSuccess != null) {
        onSuccess();
      }
    } else {
      CustomFlashWidget.showFlashMessage(
        type: FlashType.error,
        title: "Error",
        message: response.data['message'],
      );
    }
  } catch (e) {
    CustomFlashWidget.showFlashMessage(
      type: FlashType.error,
      title: "Error",
      message: e.toString(),
    );
  }
}