From 90fdeb7893440eda6f17e8aae8fc09cd8889bbfa Mon Sep 17 00:00:00 2001 From: Mohammad Aljammal Date: Fri, 16 Apr 2021 13:41:54 +0300 Subject: [PATCH] add update page --- lib/client/base_app_client.dart | 42 ++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/lib/client/base_app_client.dart b/lib/client/base_app_client.dart index 45e4a671..e68aa27b 100644 --- a/lib/client/base_app_client.dart +++ b/lib/client/base_app_client.dart @@ -6,10 +6,13 @@ import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; +import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:http/http.dart' as http; import 'dart:io' show Platform; +import '../UpdatePage.dart'; + DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); Helpers helpers = new Helpers(); //ProjectProvider projectsProvider = new ProjectProvider(); @@ -31,12 +34,11 @@ Helpers helpers = new Helpers(); * */ class BaseAppClient { //TODO change the post fun to nun static when you change all service - post( - String endPoint, { - Map body, - Function(dynamic response, int statusCode) onSuccess, - Function(String error, int statusCode) onFailure,bool isAllowAny = false - }) async { + post(String endPoint, + {Map body, + Function(dynamic response, int statusCode) onSuccess, + Function(String error, int statusCode) onFailure, + bool isAllowAny = false}) async { String url = BASE_URL + endPoint; try { Map profile = await sharedPref.getObj(DOCTOR_PROFILE); @@ -86,9 +88,6 @@ class BaseAppClient { print("URL : $url"); print("Body : ${json.encode(body)}"); - String request= json.encode(body); - var asd=""; - if (await Helpers.checkConnection()) { final response = await http.post(url, @@ -102,14 +101,19 @@ class BaseAppClient { onFailure('Error While Fetching data', statusCode); } else { var parsed = json.decode(response.body.toString()); + + if (parsed['ErrorType'] == 4) { + navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']); + } + if (!parsed['IsAuthenticated']) { if (body['OTP_SendType'] != null) { onFailure(getError(parsed), statusCode); - } else if(!isAllowAny){ + } else if (!isAllowAny) { await helpers.logout(); helpers.showErrorToast('Your session expired Please login agian'); } - if(isAllowAny){ + if (isAllowAny) { onFailure(getError(parsed), statusCode); } } else if (parsed['MessageStatus'] == 1) { @@ -218,6 +222,9 @@ class BaseAppClient { if (parsed['Response_Message'] != null) { onSuccess(parsed, statusCode); } else { + if (parsed['ErrorType'] == 4) { + navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']); + } if (parsed['IsAuthenticated'] == null) { if (parsed['isSMSSent'] == true) { onSuccess(parsed, statusCode); @@ -280,6 +287,19 @@ class BaseAppClient { } } + navigateToUpdatePage(String message, String androidLink, iosLink) { + Navigator.pushAndRemoveUntil( + AppGlobal.CONTEX, + FadePage( + page: UpdatePage( + message: message, + androidLink: androidLink, + iosLink: iosLink, + ), + ), + (r) => false); + } + String getError(parsed) { //TODO change this fun String error = parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'];