authoriseOtp method

void authoriseOtp(
  1. BuildContext context
)

Implementation

void authoriseOtp(BuildContext context) async {
  FocusScope.of(context).requestFocus(FocusNode());
  if (formKey.currentState!.validate()) {
    FocusScope.of(context).unfocus();
    isLoading(true);
    offStageRequestButton(true);

    var request = {
      'email': Storage.getValue(Constants.userEmail),
      'code': otpController.text.toString(),
      'api_key': Constants.apiKey,
      'sub_client_api_key': Storage.getValue(Constants.subClientApiKey)
    };

    var response = await DioClient().request(
        context: context,
        api: '/verify-user',
        method: Method.POST,
        params: request);

    VerifyUserResponse verifyUserResponse =
        VerifyUserResponse.fromJson(response);
    if (verifyUserResponse.status == Strings.success) {
      Storage.removeValue(Constants.token);
      Storage.saveValue(Constants.token, verifyUserResponse.data!.token);
      await fetchfundingSources(context);
    } else {
      isLoading(false);
      offStageRequestButton(false);
      return Utils.showSnackbar(context, Strings.error,
          response['message'].toString().toTitleCase(), AppColors.red);
    }
  }
}