getDepositsEmail method

void getDepositsEmail(
  1. BuildContext context
)

Implementation

void getDepositsEmail(BuildContext context) async {
  FocusScope.of(context).requestFocus(FocusNode());
  if (formKey2.currentState!.validate()) {
    FocusScope.of(context).unfocus();
    try {
      isLoading(true);
      var request = {
        'email': email.text.toString(),
        'api_key': dotenv.env['apiEmailKey'].toString(),
      };
      Dio dioService = Dio();
      dioService = Dio(BaseOptions(
        baseUrl: dotenv.env['apiEmailBaseUrl'].toString(),
      ));
      (dioService.httpClientAdapter as DefaultHttpClientAdapter)
          .onHttpClientCreate = (HttpClient dioClient) {
        dioClient.badCertificateCallback =
            ((X509Certificate cert, String host, int port) => true);
        return dioClient;
      };
      var response =
          await dioService.post('/get-user-from-email', data: request);
      if (response.statusCode == 200) {
        GetMerchantEmailResponse emailResponse =
            GetMerchantEmailResponse.fromJson(response.data);
        if (emailResponse.status == Strings.success) {
          print(
              'derived deposits email : ${emailResponse.data!.id.toString()}');
          depositsUserId.value = emailResponse.data!.id.toString();
          depositsUserEmail.value = emailResponse.data!.email.toString();
          isDepositsIdDerived(true);

          Utils.showSnackbar(context, Strings.success, emailResponse.message!,
              AppColors.green);
        } else {
          isLoading(false);
          return Utils.showSnackbar(
              context, Strings.error, emailResponse.message!, AppColors.red);
        }
      } else {
        isLoading(false);
        return Utils.showSnackbar(
            context, Strings.error, "message", AppColors.red);
      }
    } on DioError catch (e) {
      return Utils.showSnackbar(context, Strings.error,
          Utils.handleErrorComing(e).toTitleCase(), Colors.red);
    } catch (e) {
      isLoading(false);
      return Utils.showSnackbar(
          context, Strings.error, e.toString().toTitleCase(), Colors.red);
    } finally {
      isLoading(false);
    }
    update();
  }
}