diff --git a/lib/api/api_client.dart b/lib/api/api_client.dart index 3fbe57c..e3cbee1 100644 --- a/lib/api/api_client.dart +++ b/lib/api/api_client.dart @@ -16,13 +16,14 @@ class APIError { int? errorCode; int? errorType; String? errorMessage; - - APIError(this.errorCode, this.errorMessage, this.errorType); + int? errorStatusCode; + APIError(this.errorCode, this.errorMessage, this.errorType, this.errorStatusCode); Map toJson() => { 'errorCode': errorCode, 'errorMessage': errorMessage, 'errorType': errorType, + 'ErrorStatusCode': errorStatusCode }; @override @@ -38,14 +39,14 @@ APIException _throwAPIException(Response response) { if (response.body != null && response.body.isNotEmpty) { var jsonError = jsonDecode(response.body); print(jsonError); - apiError = APIError(jsonError['ErrorCode'], jsonError['ErrorMessage'], jsonError['ErrorType']); + apiError = APIError(jsonError['ErrorCode'], jsonError['ErrorMessage'], jsonError['ErrorType'], jsonError['ErrorStatusCode']); } return APIException(APIException.BAD_REQUEST, error: apiError); case 400: APIError? apiError; if (response.body != null && response.body.isNotEmpty) { var jsonError = jsonDecode(response.body); - apiError = APIError(jsonError['ErrorCode'], jsonError['ErrorMessage'], jsonError['ErrorType']); + apiError = APIError(jsonError['ErrorCode'], jsonError['ErrorMessage'], jsonError['ErrorType'],jsonError['ErrorStatusCode']); } return APIException(APIException.BAD_REQUEST, error: apiError); case 401: @@ -96,7 +97,7 @@ class ApiClient { return factoryConstructor(jsonData); } else { APIError? apiError; - apiError = APIError(jsonData['ErrorCode'], jsonData['ErrorEndUserMessage'], jsonData['ErrorType'] ?? 0); + apiError = APIError(jsonData['ErrorCode'], jsonData['ErrorEndUserMessage'], jsonData['ErrorType'] ?? 0, jsonData['ErrorStatusCode']); throw APIException(APIException.BAD_REQUEST, error: apiError); } } catch (ex) { @@ -146,7 +147,7 @@ class ApiClient { } var response = await _post(Uri.parse(url), body: requestBody, headers: _headers).timeout(Duration(seconds: 120)); - if (response.statusCode >= 200 && response.statusCode < 300) { + if (response. statusCode >= 200 && response.statusCode < 300) { return response; } else { throw _throwAPIException(response); diff --git a/lib/classes/consts.dart b/lib/classes/consts.dart index aaee117..4ed76b1 100644 --- a/lib/classes/consts.dart +++ b/lib/classes/consts.dart @@ -3,11 +3,12 @@ import 'package:mohem_flutter_app/ui/marathon/widgets/question_card.dart'; class ApiConsts { // static String baseUrl = "http://10.200.204.11"; // Local server // static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server - // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver + static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver + // static String baseUrl = "http://10.201.204.101:2024"; // static String baseUrl = "https://webservices.hmg.com"; // PreProd - static String baseUrl = "https://hmgwebservices.com"; // Live server + // static String baseUrl = "https://hmgwebservices.com"; // Live server static String baseUrlServices = baseUrl + "/Services/"; // server // static String baseUrlServices = "https://api.cssynapses.com/tangheem/"; // Live server static String utilitiesRest = baseUrlServices + "Utilities.svc/REST/"; diff --git a/lib/ui/login/verify_last_login_screen.dart b/lib/ui/login/verify_last_login_screen.dart index c48d1f3..c6bd0f3 100644 --- a/lib/ui/login/verify_last_login_screen.dart +++ b/lib/ui/login/verify_last_login_screen.dart @@ -390,6 +390,15 @@ class _VerifyLastLoginScreenState extends State { } Utils.hideLoading(context); Utils.handleException(ex, context, null); + dynamic errorCode = ex; + if(errorCode.error.errorStatusCode ==699){ + Future.delayed(const Duration(seconds: 2), () + { + Navigator.pop(context); + Navigator.pushNamedAndRemoveUntil( + context, AppRoutes.login, (Route route) => false); + }); + } } } diff --git a/lib/ui/login/verify_login_screen.dart b/lib/ui/login/verify_login_screen.dart index 0147472..ac3c454 100644 --- a/lib/ui/login/verify_login_screen.dart +++ b/lib/ui/login/verify_login_screen.dart @@ -654,6 +654,15 @@ class _VerifyLoginScreenState extends State { otpFieldClear.value = ""; Utils.hideLoading(context); Utils.handleException(ex, context, null); + dynamic errorCode = ex; + if(errorCode.error.errorStatusCode ==699){ + Future.delayed(const Duration(seconds: 2), () + { + Navigator.pop(context); + Navigator.pushNamedAndRemoveUntil( + context, AppRoutes.login, (Route route) => false); + }); + } } }, () => {