signIn method

void signIn(
  1. BuildContext context
)

Implementation

void signIn(BuildContext context) async {
  FocusScope.of(context).requestFocus(FocusNode());
  if (formKey.currentState!.validate()) {
    FocusScope.of(context).unfocus();
    try {
      isLoading(true);
      var request = {
        'email': Storage.getValue(Constants.userEmail),
        'api_key': Constants.apiKey,
        'sub_client_api_key': Storage.getValue(Constants.subClientApiKey)
      };
      Dio dioService = Dio();
      dioService = Dio(BaseOptions(
        baseUrl: Constants.baseUrl(),
      ));
      (dioService.httpClientAdapter as DefaultHttpClientAdapter)
          .onHttpClientCreate = (HttpClient dioClient) {
        dioClient.badCertificateCallback =
            ((X509Certificate cert, String host, int port) => true);
        return dioClient;
      };
      // var response = await DioClient().post(Constants.baseUrl, '/auth-user', request);
      var response = await dioService.post('/auth-user', data: request);
      // .request(api: '/auth-user', method: Method.POST, params: request);
      if (response.statusCode == 200) {
        final String responseStr = jsonEncode(response.data);
        final respJson = jsonDecode(responseStr);
        final String status = respJson['status'] as String;
        final String message = respJson['message'] as String;
        if (status == Strings.success) {
          isLoading(false);
          Utils.navigationReplace(context, const ConfirmOtp());
          Utils.showSnackbar(
              context, Strings.success, message, AppColors.green);
        } else {
          isLoading(false);
          return Utils.showSnackbar(
              context, Strings.error, message, AppColors.red);
        }
      } else {
        isLoading(false);
        return Utils.showSnackbar(
            context, Strings.error, "message", AppColors.red);
      }

      // var response = await DioClient().request(api: '/auth-user', method: Method.POST, params: request);
      // AuthUserResponse authUserResponse = AuthUserResponse.fromJson(response);
      // if (authUserResponse.status == Strings.success) {
      //   Utils.navigationPush(
      //       context, ConfirmOtp(initialScreen: initialScreen));
      //   Utils.showSnackbar(context, Strings.success,
      //       authUserResponse.message!, AppColors.green);
      // } else {
      //   return Utils.showSnackbar(
      //       context, Strings.error, response['message'].toString().toTitleCase(), 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();
  }
}