|
|
|
|
@ -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<String, dynamic> body,
|
|
|
|
|
Function(dynamic response, int statusCode) onSuccess,
|
|
|
|
|
Function(String error, int statusCode) onFailure,bool isAllowAny = false
|
|
|
|
|
}) async {
|
|
|
|
|
post(String endPoint,
|
|
|
|
|
{Map<String, dynamic> 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'];
|
|
|
|
|
|