import 'package:flutter/material.dart'; import 'package:hmg_patient_app_new/core/app_state.dart'; import 'package:hmg_patient_app_new/core/enums.dart'; import 'package:hmg_patient_app_new/core/utils/request_utils.dart'; import 'package:hmg_patient_app_new/features/authentication/authentication_repo.dart'; import 'package:hmg_patient_app_new/features/authentication/models/request_models/check_patient_authentication_request_model.dart'; import 'package:hmg_patient_app_new/services/dialog_service.dart'; import 'package:hmg_patient_app_new/services/error_handler_service.dart'; class AuthenticationViewModel extends ChangeNotifier { AuthenticationRepo authenticationRepo; AppState appState; ErrorHandlerService errorHandlerService; DialogService dialogService; AuthenticationViewModel({ required this.appState, required this.authenticationRepo, required this.errorHandlerService, required this.dialogService, }); final TextEditingController nationalIdController = TextEditingController(); final TextEditingController phoneNumberController = TextEditingController(); Future selectDeviceImei({Function(dynamic)? onSuccess, Function(String)? onError}) async { String firebaseToken = "dOGRRszQQMGe_9wA5Hx3kO:APA91bFV5IcIJXvcCXXk0tc2ddtZgWwCPq7sGSuPr-YW7iiJpQZKgFGN9GAzCVOWL8MfheaP1slE8MdxB7lczdPBGdONQ7WbMmhgHcsUCUktq-hsapGXXqc"; final result = await authenticationRepo.selectDeviceByImei(firebaseToken: firebaseToken); result.fold( (failure) async => await errorHandlerService.handleError(failure: failure), (apiResponse) { if (apiResponse.messageStatus == 2) { dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {}); } else if (apiResponse.messageStatus == 1) { //todo: move to next api call } }, ); } // Future checkUserAuthentication({Function(dynamic)? onSuccess, Function(String)? onError}) async { // CheckPatientAuthenticationReq checkPatientAuthenticationReq = RequestUtils.getCommonRequestWelcome( // phoneNumber: '0567184134', // otpTypeEnum: OTPTypeEnum.sms, // deviceToken: 'dummyDeviceToken123', // patientOutSA: true, // loginTokenID: 'dummyLoginToken456', // registeredData: null, // patientId: 12345, // nationIdText: '1234567890', // countryCode: 'SA', // ); // // final result = await authenticationRepo.checkPatientAuthentication(checkPatientAuthenticationReq: checkPatientAuthenticationReq); // result.fold( // (failure) async => await errorHandlerService.handleError(failure: failure), // (apiResponse) { // if (apiResponse.data['isSMSSent']) { // // TODO: set this in AppState // // sharedPref.setString(LOGIN_TOKEN_ID, value['LogInTokenID']); // // loginTokenID = value['LogInTokenID'], // // sharedPref.setObject(REGISTER_DATA_FOR_LOGIIN, request), // sendActivationCode(type); // } else { // if (apiResponse.data['IsAuthenticated']) { // checkActivationCode(onWrongActivationCode: (String? message) {}); // } // } // }, // ); // } // Future sendActivationCode({required OTPTypeEnum otpTypeEnum}) async { // var request = RequestUtils.getCommonRequestAuthProvider( // otpTypeEnum: otpTypeEnum, // registeredData: null, // deviceToken: "dummyLoginToken456", // mobileNumber: "0567184134", // zipCode: "SA", // patientOutSA: true, // loginTokenID: "dummyLoginToken456", // selectedOption: selectedOption, // patientId: 12345, // ); // // request.sMSSignature = await SMSOTP.getSignature(); // selectedOption = type; // // GifLoaderDialogUtils.showMyDialog(context); // if (healthId != null || isDubai) { // if (!isDubai) { // request.dob = dob; //isHijri == 1 ? dob : dateFormat2.format(dateFormat.parse(dob)); // } // request.healthId = healthId; // request.isHijri = isHijri; // await this.apiClient.sendActivationCodeRegister(request).then((result) { // // GifLoaderDialogUtils.hideDialog(context); // if (result != null && result['isSMSSent'] == true) { // this.startSMSService(type); // } // }).catchError((r) { // GifLoaderDialogUtils.hideDialog(context); // context.showBottomSheet( // child: ExceptionBottomSheet( // message: r.toString(), // onOkPressed: () { // Navigator.of(context).pop(); // }, // )); // // AppToast.showErrorToast(message: r); // }); // } else { // request.dob = ""; // request.healthId = ""; // request.isHijri = 0; // await this.authService.sendActivationCode(request).then((result) { // GifLoaderDialogUtils.hideDialog(context); // if (result != null && result['isSMSSent'] == true) { // this.startSMSService(type); // } // }).catchError((r) { // GifLoaderDialogUtils.hideDialog(context); // context.showBottomSheet( // child: ExceptionBottomSheet( // message: r.toString(), // onOkPressed: () { // Navigator.of(context).pop(); // }, // )); // // AppToast.showErrorToast(message: r.toString()); // }); // } // } }