|
|
|
@ -30,7 +30,8 @@ AppSharedPreferences sharedPref = new AppSharedPreferences();
|
|
|
|
/// onFailure: (String error, int statusCode) {},
|
|
|
|
/// onFailure: (String error, int statusCode) {},
|
|
|
|
/// body: Map();
|
|
|
|
/// body: Map();
|
|
|
|
///
|
|
|
|
///
|
|
|
|
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>();
|
|
|
|
AuthenticatedUserObject authenticatedUserObject =
|
|
|
|
|
|
|
|
locator<AuthenticatedUserObject>();
|
|
|
|
VitalSignService _vitalSignService = locator<VitalSignService>();
|
|
|
|
VitalSignService _vitalSignService = locator<VitalSignService>();
|
|
|
|
|
|
|
|
|
|
|
|
class BaseAppClient {
|
|
|
|
class BaseAppClient {
|
|
|
|
@ -54,12 +55,17 @@ class BaseAppClient {
|
|
|
|
url = BASE_URL + endPoint;
|
|
|
|
url = BASE_URL + endPoint;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
String? pharmacyToken = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
String? pharmacyToken =
|
|
|
|
|
|
|
|
await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
Map<String, String> headers = {'Content-Type': 'application/json', 'Accept': 'application/json'};
|
|
|
|
Map<String, String> headers = {
|
|
|
|
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
|
|
|
|
'Accept': 'application/json'
|
|
|
|
|
|
|
|
};
|
|
|
|
if (!isExternal) {
|
|
|
|
if (!isExternal) {
|
|
|
|
String? token = await sharedPref.getString(TOKEN);
|
|
|
|
String? token = await sharedPref.getString(TOKEN);
|
|
|
|
String? languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
String? languageID =
|
|
|
|
|
|
|
|
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
if (endPoint == SEND_ACTIVATION_CODE) {
|
|
|
|
if (endPoint == SEND_ACTIVATION_CODE) {
|
|
|
|
languageID = 'en';
|
|
|
|
languageID = 'en';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -74,7 +80,7 @@ class BaseAppClient {
|
|
|
|
body['VersionID'] = VERSION_ID;
|
|
|
|
body['VersionID'] = VERSION_ID;
|
|
|
|
body['Channel'] = CHANNEL;
|
|
|
|
body['Channel'] = CHANNEL;
|
|
|
|
|
|
|
|
|
|
|
|
if (body.containsKey('LanguageID')) {
|
|
|
|
// if (body.containsKey('LanguageID')) {
|
|
|
|
if (body['LanguageID'] != null) {
|
|
|
|
if (body['LanguageID'] != null) {
|
|
|
|
//change this line because language issue happened on dental
|
|
|
|
//change this line because language issue happened on dental
|
|
|
|
body['LanguageID'] = body['LanguageID'] == 'ar'
|
|
|
|
body['LanguageID'] = body['LanguageID'] == 'ar'
|
|
|
|
@ -83,12 +89,20 @@ class BaseAppClient {
|
|
|
|
? 2
|
|
|
|
? 2
|
|
|
|
: body['LanguageID'];
|
|
|
|
: body['LanguageID'];
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
body['LanguageID'] = Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isArabic ? 1 : 2;
|
|
|
|
body['LanguageID'] =
|
|
|
|
}
|
|
|
|
Provider.of<ProjectViewModel>(AppGlobal.context, listen: false)
|
|
|
|
} else {
|
|
|
|
.isArabic
|
|
|
|
// body['LanguageID'] = (languageID.toString().toLowerCase() == 'ar' ? 1 : 2);
|
|
|
|
? 1
|
|
|
|
body['LanguageID'] = Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isArabic ? 1 : 2;
|
|
|
|
: 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// // body['LanguageID'] = (languageID.toString().toLowerCase() == 'ar' ? 1 : 2);
|
|
|
|
|
|
|
|
// body['LanguageID'] =
|
|
|
|
|
|
|
|
// Provider.of<ProjectViewModel>(AppGlobal.context, listen: false)
|
|
|
|
|
|
|
|
// .isArabic
|
|
|
|
|
|
|
|
// ? 1
|
|
|
|
|
|
|
|
// : 2;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// body['LanguageID'] = Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isArabic ? 1 : 2;
|
|
|
|
// body['LanguageID'] = Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isArabic ? 1 : 2;
|
|
|
|
|
|
|
|
|
|
|
|
@ -103,7 +117,8 @@ class BaseAppClient {
|
|
|
|
body['Longitude'] = long;
|
|
|
|
body['Longitude'] = long;
|
|
|
|
|
|
|
|
|
|
|
|
if (body.containsKey('isDentalAllowedBackend')) {
|
|
|
|
if (body.containsKey('isDentalAllowedBackend')) {
|
|
|
|
body['isDentalAllowedBackend'] = body.containsKey('isDentalAllowedBackend')
|
|
|
|
body['isDentalAllowedBackend'] =
|
|
|
|
|
|
|
|
body.containsKey('isDentalAllowedBackend')
|
|
|
|
? body['isDentalAllowedBackend'] != null
|
|
|
|
? body['isDentalAllowedBackend'] != null
|
|
|
|
? body['isDentalAllowedBackend']
|
|
|
|
? body['isDentalAllowedBackend']
|
|
|
|
: IS_DENTAL_ALLOWED_BACKEND
|
|
|
|
: IS_DENTAL_ALLOWED_BACKEND
|
|
|
|
@ -151,14 +166,17 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
if (user != null) {
|
|
|
|
if (user != null) {
|
|
|
|
body['TokenID'] = body['TokenID'] != null ? body['TokenID'] : token;
|
|
|
|
body['TokenID'] = body['TokenID'] != null ? body['TokenID'] : token;
|
|
|
|
body['PatientID'] = body['PatientID'] != null ? body['PatientID'] : user['PatientID'];
|
|
|
|
body['PatientID'] = body['PatientID'] != null
|
|
|
|
|
|
|
|
? body['PatientID']
|
|
|
|
|
|
|
|
: user['PatientID'];
|
|
|
|
|
|
|
|
|
|
|
|
body['PatientOutSA'] = body.containsKey('PatientOutSA')
|
|
|
|
body['PatientOutSA'] = body.containsKey('PatientOutSA')
|
|
|
|
? body['PatientOutSA'] != null
|
|
|
|
? body['PatientOutSA'] != null
|
|
|
|
? body['PatientOutSA']
|
|
|
|
? body['PatientOutSA']
|
|
|
|
: user['OutSA']
|
|
|
|
: user['OutSA']
|
|
|
|
: user['OutSA'];
|
|
|
|
: user['OutSA'];
|
|
|
|
body['SessionID'] = getSessionId(body['TokenID'] != null ? body['TokenID'] : ""); //getSe
|
|
|
|
body['SessionID'] = getSessionId(
|
|
|
|
|
|
|
|
body['TokenID'] != null ? body['TokenID'] : ""); //getSe
|
|
|
|
// body['SessionID'] = body['TokenID']; //getSe
|
|
|
|
// body['SessionID'] = body['TokenID']; //getSe
|
|
|
|
|
|
|
|
|
|
|
|
// headers = {
|
|
|
|
// headers = {
|
|
|
|
@ -190,12 +208,15 @@ class BaseAppClient {
|
|
|
|
print(jsonBody);
|
|
|
|
print(jsonBody);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection(bypassConnectionCheck: bypassConnectionCheck)) {
|
|
|
|
if (await Utils.checkConnection(
|
|
|
|
final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: headers);
|
|
|
|
bypassConnectionCheck: bypassConnectionCheck)) {
|
|
|
|
|
|
|
|
final response = await http.post(Uri.parse(url.trim()),
|
|
|
|
|
|
|
|
body: json.encode(body), headers: headers);
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
onFailure('Error While Fetching data', statusCode);
|
|
|
|
onFailure('Error While Fetching data', statusCode);
|
|
|
|
logApiEndpointError(endPoint, 'Error While Fetching data', statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, 'Error While Fetching data', statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// var decoded = utf8.decode(response.bodyBytes);
|
|
|
|
// var decoded = utf8.decode(response.bodyBytes);
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
@ -209,8 +230,12 @@ class BaseAppClient {
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
navigateToAppUpdate(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (parsed['ErrorType'] == 2) {
|
|
|
|
if (parsed['ErrorType'] == 2) {
|
|
|
|
await logout();
|
|
|
|
await logout();
|
|
|
|
@ -229,28 +254,46 @@ class BaseAppClient {
|
|
|
|
// if (parsed != null) {
|
|
|
|
// if (parsed != null) {
|
|
|
|
// onSuccess(parsed, statusCode);
|
|
|
|
// onSuccess(parsed, statusCode);
|
|
|
|
// } else {
|
|
|
|
// } else {
|
|
|
|
onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
// logout();
|
|
|
|
// logout();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) {
|
|
|
|
} else if (parsed['MessageStatus'] == 1 ||
|
|
|
|
|
|
|
|
parsed['SMSLoginRequired'] == true) {
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
} else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) {
|
|
|
|
} else if (parsed['MessageStatus'] == 2 &&
|
|
|
|
|
|
|
|
parsed['IsAuthenticated']) {
|
|
|
|
if (parsed['SameClinicApptList'] != null) {
|
|
|
|
if (parsed['SameClinicApptList'] != null) {
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
if (parsed['message'] == null &&
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
onFailure("Server Error found with no available message", statusCode);
|
|
|
|
onFailure("Server Error found with no available message",
|
|
|
|
logApiEndpointError(endPoint, "Server Error found with no available message", statusCode);
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
"Server Error found with no available message",
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
onFailure(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -262,11 +305,18 @@ class BaseAppClient {
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
onSuccess(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
onFailure(parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
onFailure(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -275,17 +325,23 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure('Please Check The Internet Connection', -1);
|
|
|
|
onFailure('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
print(e);
|
|
|
|
print(e);
|
|
|
|
onFailure(e.toString(), -1);
|
|
|
|
onFailure(e.toString(), -1);
|
|
|
|
_analytics.errorTracking.log(endPoint, error: "api exception: $e - API Path: $url");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log(endPoint, error: "api exception: $e - API Path: $url");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
postPharmacy(String endPoint,
|
|
|
|
postPharmacy(String endPoint,
|
|
|
|
{Map<String, dynamic>? body, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, bool isAllowAny = false, bool isExternal = false}) async {
|
|
|
|
{Map<String, dynamic>? body,
|
|
|
|
|
|
|
|
Function(dynamic response, int statusCode)? onSuccess,
|
|
|
|
|
|
|
|
Function(String error, int statusCode)? onFailure,
|
|
|
|
|
|
|
|
bool isAllowAny = false,
|
|
|
|
|
|
|
|
bool isExternal = false}) async {
|
|
|
|
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
String url;
|
|
|
|
String url;
|
|
|
|
@ -302,13 +358,16 @@ class BaseAppClient {
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Authorization': pharmacyToken ?? '',
|
|
|
|
'Authorization': pharmacyToken ?? '',
|
|
|
|
'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "",
|
|
|
|
'Mobilenumber': user != null
|
|
|
|
|
|
|
|
? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString())
|
|
|
|
|
|
|
|
: "",
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
};
|
|
|
|
};
|
|
|
|
if (!isExternal) {
|
|
|
|
if (!isExternal) {
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
var languageID =
|
|
|
|
|
|
|
|
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
|
|
|
|
|
|
|
|
// if (body.containsKey('SetupID')) {
|
|
|
|
// if (body.containsKey('SetupID')) {
|
|
|
|
// body['SetupID'] = body.containsKey('SetupID')
|
|
|
|
// body['SetupID'] = body.containsKey('SetupID')
|
|
|
|
@ -370,12 +429,14 @@ class BaseAppClient {
|
|
|
|
print("Headers : ${json.encode(headers)}");
|
|
|
|
print("Headers : ${json.encode(headers)}");
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: headers);
|
|
|
|
final response = await http.post(Uri.parse(url.trim()),
|
|
|
|
|
|
|
|
body: json.encode(body), headers: headers);
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
logApiEndpointError(endPoint, 'Error While Fetching data', statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, 'Error While Fetching data', statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
@ -383,8 +444,12 @@ class BaseAppClient {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
navigateToAppUpdate(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isAllowAny) {
|
|
|
|
if (isAllowAny) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
@ -399,29 +464,56 @@ class BaseAppClient {
|
|
|
|
if (parsed != null) {
|
|
|
|
if (parsed != null) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
logApiEndpointError(endPoint, 'session logged out', statusCode);
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, 'session logged out', statusCode);
|
|
|
|
logout();
|
|
|
|
logout();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) {
|
|
|
|
} else if (parsed['MessageStatus'] == 1 ||
|
|
|
|
|
|
|
|
parsed['SMSLoginRequired'] == true) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) {
|
|
|
|
} else if (parsed['MessageStatus'] == 2 &&
|
|
|
|
|
|
|
|
parsed['IsAuthenticated']) {
|
|
|
|
if (parsed['SameClinicApptList'] != null) {
|
|
|
|
if (parsed['SameClinicApptList'] != null) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
if (parsed['message'] == null &&
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
onFailure!("Server Error found with no available message", statusCode);
|
|
|
|
onFailure!("Server Error found with no available message",
|
|
|
|
logApiEndpointError(endPoint, "Server Error found with no available message", statusCode);
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
"Server Error found with no available message",
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
onFailure!(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorSearchMsg'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorSearchMsg'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (!parsed['IsAuthenticated']) {
|
|
|
|
} else if (!parsed['IsAuthenticated']) {
|
|
|
|
@ -433,11 +525,22 @@ class BaseAppClient {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
onFailure!(parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -445,7 +548,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
print(e);
|
|
|
|
print(e);
|
|
|
|
@ -457,7 +561,8 @@ class BaseAppClient {
|
|
|
|
Future navigateToAppUpdate(context, String text) async {
|
|
|
|
Future navigateToAppUpdate(context, String text) async {
|
|
|
|
Navigator.pushAndRemoveUntil(
|
|
|
|
Navigator.pushAndRemoveUntil(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
MaterialPageRoute(builder: (context) => AppUpdatePage(appUpdateText: text)),
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
|
|
|
builder: (context) => AppUpdatePage(appUpdateText: text)),
|
|
|
|
(Route<dynamic> route) => false,
|
|
|
|
(Route<dynamic> route) => false,
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -488,7 +593,10 @@ class BaseAppClient {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
final response = await http.get(
|
|
|
|
final response = await http.get(
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
headers: {'Content-Type': 'application/json', 'Accept': 'application/json'},
|
|
|
|
headers: {
|
|
|
|
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
|
|
|
|
'Accept': 'application/json'
|
|
|
|
|
|
|
|
},
|
|
|
|
);
|
|
|
|
);
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
@ -502,7 +610,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -534,7 +643,9 @@ class BaseAppClient {
|
|
|
|
'Content-Type': 'text/html; charset=utf-8',
|
|
|
|
'Content-Type': 'text/html; charset=utf-8',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Authorization': token ?? '',
|
|
|
|
'Authorization': token ?? '',
|
|
|
|
'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "",
|
|
|
|
'Mobilenumber': user != null
|
|
|
|
|
|
|
|
? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString())
|
|
|
|
|
|
|
|
: "",
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
// 'Host': "mdlaboratories.com",
|
|
|
|
// 'Host': "mdlaboratories.com",
|
|
|
|
@ -544,14 +655,19 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode == 401) {
|
|
|
|
if (statusCode == 401) {
|
|
|
|
onFailure!(TranslationBase.of(AppGlobal.context).pharmacyRelogin, statusCode);
|
|
|
|
onFailure!(TranslationBase.of(AppGlobal.context).pharmacyRelogin,
|
|
|
|
logApiEndpointError(endPoint, TranslationBase.of(AppGlobal.context).pharmacyRelogin, statusCode);
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
TranslationBase.of(AppGlobal.context).pharmacyRelogin,
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
Navigator.of(AppGlobal.context).pushNamed(HOME);
|
|
|
|
Navigator.of(AppGlobal.context).pushNamed(HOME);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
var bodyUtf = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
var bodyUtf = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
// print(bodyUtf);
|
|
|
|
// print(bodyUtf);
|
|
|
|
onFailure!(bodyUtf['error']['ErrorEndUserMsg'], statusCode);
|
|
|
|
onFailure!(bodyUtf['error']['ErrorEndUserMsg'], statusCode);
|
|
|
|
logApiEndpointError(endPoint, bodyUtf['error']['ErrorEndUserMsg'], statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, bodyUtf['error']['ErrorEndUserMsg'], statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
@ -560,7 +676,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -576,7 +693,8 @@ class BaseAppClient {
|
|
|
|
// print("body: $body");
|
|
|
|
// print("body: $body");
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
headers!.addAll(
|
|
|
|
|
|
|
|
{'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
final response = await http.post(
|
|
|
|
final response = await http.post(
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
body: json.encode(body),
|
|
|
|
body: json.encode(body),
|
|
|
|
@ -584,7 +702,12 @@ class BaseAppClient {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePost(fullUrl, onFailure: onFailure, onSuccess: onSuccess, body: body, headers: headers);
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl))
|
|
|
|
|
|
|
|
simplePost(fullUrl,
|
|
|
|
|
|
|
|
onFailure: onFailure,
|
|
|
|
|
|
|
|
onSuccess: onSuccess,
|
|
|
|
|
|
|
|
body: body,
|
|
|
|
|
|
|
|
headers: headers);
|
|
|
|
|
|
|
|
|
|
|
|
// print(response.body.toString());
|
|
|
|
// print(response.body.toString());
|
|
|
|
|
|
|
|
|
|
|
|
@ -596,12 +719,16 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
simpleGet(String fullUrl,
|
|
|
|
simpleGet(String fullUrl,
|
|
|
|
{Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, Map<String, dynamic>? queryParams, Map<String, String>? headers}) async {
|
|
|
|
{Function(dynamic response, int statusCode)? onSuccess,
|
|
|
|
|
|
|
|
Function(String error, int statusCode)? onFailure,
|
|
|
|
|
|
|
|
Map<String, dynamic>? queryParams,
|
|
|
|
|
|
|
|
Map<String, String>? headers}) async {
|
|
|
|
headers = headers ?? {};
|
|
|
|
headers = headers ?? {};
|
|
|
|
String url = fullUrl;
|
|
|
|
String url = fullUrl;
|
|
|
|
|
|
|
|
|
|
|
|
@ -613,7 +740,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
headers.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
headers.addAll(
|
|
|
|
|
|
|
|
{'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
final response = await http.get(
|
|
|
|
final response = await http.get(
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
headers: headers,
|
|
|
|
headers: headers,
|
|
|
|
@ -621,7 +749,12 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleGet(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, queryParams: queryParams);
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl))
|
|
|
|
|
|
|
|
simpleGet(fullUrl,
|
|
|
|
|
|
|
|
onFailure: onFailure,
|
|
|
|
|
|
|
|
onSuccess: onSuccess,
|
|
|
|
|
|
|
|
headers: headers,
|
|
|
|
|
|
|
|
queryParams: queryParams);
|
|
|
|
|
|
|
|
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
@ -631,17 +764,22 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
simplePut(String fullUrl,
|
|
|
|
simplePut(String fullUrl,
|
|
|
|
{Map<String, dynamic>? body, Map<String, String>? headers, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure}) async {
|
|
|
|
{Map<String, dynamic>? body,
|
|
|
|
|
|
|
|
Map<String, String>? headers,
|
|
|
|
|
|
|
|
Function(dynamic response, int statusCode)? onSuccess,
|
|
|
|
|
|
|
|
Function(String error, int statusCode)? onFailure}) async {
|
|
|
|
String url = fullUrl;
|
|
|
|
String url = fullUrl;
|
|
|
|
// print("URL Query String: $url");
|
|
|
|
// print("URL Query String: $url");
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
headers!.addAll(
|
|
|
|
|
|
|
|
{'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
final response = await http.put(
|
|
|
|
final response = await http.put(
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
body: json.encode(body),
|
|
|
|
body: json.encode(body),
|
|
|
|
@ -650,7 +788,12 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePut(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, body: body);
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl))
|
|
|
|
|
|
|
|
simplePut(fullUrl,
|
|
|
|
|
|
|
|
onFailure: onFailure,
|
|
|
|
|
|
|
|
onSuccess: onSuccess,
|
|
|
|
|
|
|
|
headers: headers,
|
|
|
|
|
|
|
|
body: body);
|
|
|
|
|
|
|
|
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
@ -660,12 +803,16 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
simpleDelete(String fullUrl,
|
|
|
|
simpleDelete(String fullUrl,
|
|
|
|
{Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, Map<String, String>? queryParams, Map<String, String>? headers}) async {
|
|
|
|
{Function(dynamic response, int statusCode)? onSuccess,
|
|
|
|
|
|
|
|
Function(String error, int statusCode)? onFailure,
|
|
|
|
|
|
|
|
Map<String, String>? queryParams,
|
|
|
|
|
|
|
|
Map<String, String>? headers}) async {
|
|
|
|
String url = fullUrl;
|
|
|
|
String url = fullUrl;
|
|
|
|
// print("URL Query String: $url");
|
|
|
|
// print("URL Query String: $url");
|
|
|
|
|
|
|
|
|
|
|
|
@ -677,7 +824,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
headers!.addAll(
|
|
|
|
|
|
|
|
{'Content-Type': 'application/json', 'Accept': 'application/json'});
|
|
|
|
final response = await http.delete(
|
|
|
|
final response = await http.delete(
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
Uri.parse(url.trim()),
|
|
|
|
headers: headers,
|
|
|
|
headers: headers,
|
|
|
|
@ -685,7 +833,12 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
final int statusCode = response.statusCode;
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleDelete(fullUrl, onFailure: onFailure, onSuccess: onSuccess, queryParams: queryParams, headers: headers);
|
|
|
|
if (await handleUnauthorized(statusCode, forUrl: fullUrl))
|
|
|
|
|
|
|
|
simpleDelete(fullUrl,
|
|
|
|
|
|
|
|
onFailure: onFailure,
|
|
|
|
|
|
|
|
onSuccess: onSuccess,
|
|
|
|
|
|
|
|
queryParams: queryParams,
|
|
|
|
|
|
|
|
headers: headers);
|
|
|
|
|
|
|
|
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
onFailure!('Error While Fetching data', statusCode);
|
|
|
|
@ -695,11 +848,13 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<bool> handleUnauthorized(int statusCode, {required String forUrl}) async {
|
|
|
|
Future<bool> handleUnauthorized(int statusCode,
|
|
|
|
|
|
|
|
{required String forUrl}) async {
|
|
|
|
if (forUrl.startsWith(EXA_CART_API_BASE_URL) && statusCode == 401) {
|
|
|
|
if (forUrl.startsWith(EXA_CART_API_BASE_URL) && statusCode == 401) {
|
|
|
|
final token = await generatePackagesToken();
|
|
|
|
final token = await generatePackagesToken();
|
|
|
|
packagesAuthHeader['Authorization'] = 'Bearer $token';
|
|
|
|
packagesAuthHeader['Authorization'] = 'Bearer $token';
|
|
|
|
@ -712,8 +867,10 @@ class BaseAppClient {
|
|
|
|
await sharedPref.remove(LOGIN_TOKEN_ID);
|
|
|
|
await sharedPref.remove(LOGIN_TOKEN_ID);
|
|
|
|
await sharedPref.remove(PHARMACY_CUSTOMER_ID);
|
|
|
|
await sharedPref.remove(PHARMACY_CUSTOMER_ID);
|
|
|
|
await authenticatedUserObject.getUser();
|
|
|
|
await authenticatedUserObject.getUser();
|
|
|
|
Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isLogin = false;
|
|
|
|
Provider.of<ProjectViewModel>(AppGlobal.context, listen: false).isLogin =
|
|
|
|
var model = Provider.of<ToDoCountProviderModel>(AppGlobal.context, listen: false);
|
|
|
|
false;
|
|
|
|
|
|
|
|
var model =
|
|
|
|
|
|
|
|
Provider.of<ToDoCountProviderModel>(AppGlobal.context, listen: false);
|
|
|
|
_vitalSignService.weightKg = "";
|
|
|
|
_vitalSignService.weightKg = "";
|
|
|
|
_vitalSignService.heightCm = "";
|
|
|
|
_vitalSignService.heightCm = "";
|
|
|
|
model.setState(0, 0, false, null);
|
|
|
|
model.setState(0, 0, false, null);
|
|
|
|
@ -728,7 +885,8 @@ class BaseAppClient {
|
|
|
|
|
|
|
|
|
|
|
|
static defaultHttpParameters() async {
|
|
|
|
static defaultHttpParameters() async {
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
var languageID =
|
|
|
|
|
|
|
|
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var params = {};
|
|
|
|
var params = {};
|
|
|
|
if (user != null) {
|
|
|
|
if (user != null) {
|
|
|
|
@ -748,7 +906,11 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pharmacyPost(String endPoint,
|
|
|
|
pharmacyPost(String endPoint,
|
|
|
|
{Map<String, dynamic>? body, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, bool isAllowAny = false, bool isExternal = false}) async {
|
|
|
|
{Map<String, dynamic>? body,
|
|
|
|
|
|
|
|
Function(dynamic response, int statusCode)? onSuccess,
|
|
|
|
|
|
|
|
Function(String error, int statusCode)? onFailure,
|
|
|
|
|
|
|
|
bool isAllowAny = false,
|
|
|
|
|
|
|
|
bool isExternal = false}) async {
|
|
|
|
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
String url;
|
|
|
|
String url;
|
|
|
|
@ -760,7 +922,8 @@ class BaseAppClient {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (isExternal) {
|
|
|
|
if (isExternal) {
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
String token = await sharedPref.getString(TOKEN);
|
|
|
|
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
var languageID =
|
|
|
|
|
|
|
|
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
var user = await sharedPref.getObject(USER_PROFILE);
|
|
|
|
if (body!.containsKey('SetupID')) {
|
|
|
|
if (body!.containsKey('SetupID')) {
|
|
|
|
body['SetupID'] = body.containsKey('SetupID')
|
|
|
|
body['SetupID'] = body.containsKey('SetupID')
|
|
|
|
@ -783,7 +946,8 @@ class BaseAppClient {
|
|
|
|
: user['OutSA'];
|
|
|
|
: user['OutSA'];
|
|
|
|
|
|
|
|
|
|
|
|
if (body.containsKey('isDentalAllowedBackend')) {
|
|
|
|
if (body.containsKey('isDentalAllowedBackend')) {
|
|
|
|
body['isDentalAllowedBackend'] = body.containsKey('isDentalAllowedBackend')
|
|
|
|
body['isDentalAllowedBackend'] =
|
|
|
|
|
|
|
|
body.containsKey('isDentalAllowedBackend')
|
|
|
|
? body['isDentalAllowedBackend'] != null
|
|
|
|
? body['isDentalAllowedBackend'] != null
|
|
|
|
? body['isDentalAllowedBackend']
|
|
|
|
? body['isDentalAllowedBackend']
|
|
|
|
: IS_DENTAL_ALLOWED_BACKEND
|
|
|
|
: IS_DENTAL_ALLOWED_BACKEND
|
|
|
|
@ -810,7 +974,9 @@ class BaseAppClient {
|
|
|
|
: user['PatientType'];
|
|
|
|
: user['PatientType'];
|
|
|
|
if (user != null) {
|
|
|
|
if (user != null) {
|
|
|
|
body['TokenID'] = token;
|
|
|
|
body['TokenID'] = token;
|
|
|
|
body['PatientID'] = body['PatientID'] != null ? body['PatientID'] : user['PatientID'];
|
|
|
|
body['PatientID'] = body['PatientID'] != null
|
|
|
|
|
|
|
|
? body['PatientID']
|
|
|
|
|
|
|
|
: user['PatientID'];
|
|
|
|
body['PatientOutSA'] = user['OutSA'];
|
|
|
|
body['PatientOutSA'] = user['OutSA'];
|
|
|
|
// body['SessionID'] = SESSION_ID; //getSessionId(token);
|
|
|
|
// body['SessionID'] = SESSION_ID; //getSessionId(token);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -822,11 +988,14 @@ class BaseAppClient {
|
|
|
|
var ss = json.encode(body);
|
|
|
|
var ss = json.encode(body);
|
|
|
|
|
|
|
|
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
if (await Utils.checkConnection()) {
|
|
|
|
final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: {
|
|
|
|
final response = await http
|
|
|
|
|
|
|
|
.post(Uri.parse(url.trim()), body: json.encode(body), headers: {
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Authorization': token ?? '',
|
|
|
|
'Authorization': token ?? '',
|
|
|
|
'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "",
|
|
|
|
'Mobilenumber': user != null
|
|
|
|
|
|
|
|
? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString())
|
|
|
|
|
|
|
|
: "",
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
'Username': user != null ? user['PatientID'].toString() : "",
|
|
|
|
});
|
|
|
|
});
|
|
|
|
@ -834,8 +1003,15 @@ class BaseAppClient {
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
// print("statusCode :$statusCode");
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
if (statusCode < 200 || statusCode >= 400 || json == null) {
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
onFailure!(parsed['error']['ErrorEndUserMsgN'] ?? 'Error While Fetching data', statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['error']['ErrorEndUserMsgN'] ?? 'Error While Fetching data', statusCode);
|
|
|
|
parsed['error']['ErrorEndUserMsgN'] ??
|
|
|
|
|
|
|
|
'Error While Fetching data',
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['error']['ErrorEndUserMsgN'] ??
|
|
|
|
|
|
|
|
'Error While Fetching data',
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
// var parsed = json.decode(response.body.toString());
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
var parsed = json.decode(utf8.decode(response.bodyBytes));
|
|
|
|
@ -843,7 +1019,8 @@ class BaseAppClient {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
if (parsed['ErrorType'] == 4) {
|
|
|
|
navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
navigateToAppUpdate(
|
|
|
|
|
|
|
|
AppGlobal.context, parsed['ErrorEndUserMessage']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isAllowAny) {
|
|
|
|
if (isAllowAny) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
@ -858,25 +1035,47 @@ class BaseAppClient {
|
|
|
|
if (parsed != null) {
|
|
|
|
if (parsed != null) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
logout();
|
|
|
|
logout();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) {
|
|
|
|
} else if (parsed['MessageStatus'] == 1 ||
|
|
|
|
|
|
|
|
parsed['SMSLoginRequired'] == true) {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) {
|
|
|
|
} else if (parsed['MessageStatus'] == 2 &&
|
|
|
|
if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
parsed['IsAuthenticated']) {
|
|
|
|
|
|
|
|
if (parsed['message'] == null &&
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
if (parsed['ErrorSearchMsg'] == null) {
|
|
|
|
onFailure!("Server Error found with no available message", statusCode);
|
|
|
|
onFailure!("Server Error found with no available message",
|
|
|
|
logApiEndpointError(endPoint, "Server Error found with no available message", statusCode);
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
"Server Error found with no available message",
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
onFailure!(parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint, parsed['ErrorSearchMsg'], statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ??
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ??
|
|
|
|
|
|
|
|
parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (!parsed['IsAuthenticated']) {
|
|
|
|
} else if (!parsed['IsAuthenticated']) {
|
|
|
|
await logout();
|
|
|
|
await logout();
|
|
|
|
@ -887,11 +1086,18 @@ class BaseAppClient {
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
onSuccess!(parsed, statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
if (parsed['message'] != null) {
|
|
|
|
onFailure!(parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(endPoint,
|
|
|
|
|
|
|
|
parsed['message'] ?? parsed['message'], statusCode);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
onFailure!(
|
|
|
|
logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
|
|
|
|
logApiEndpointError(
|
|
|
|
|
|
|
|
endPoint,
|
|
|
|
|
|
|
|
parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
|
|
|
|
|
|
|
|
statusCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -899,7 +1105,8 @@ class BaseAppClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
onFailure!('Please Check The Internet Connection', -1);
|
|
|
|
_analytics.errorTracking.log("internet_connectivity", error: "no internet available");
|
|
|
|
_analytics.errorTracking
|
|
|
|
|
|
|
|
.log("internet_connectivity", error: "no internet available");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
print(e);
|
|
|
|
print(e);
|
|
|
|
@ -911,11 +1118,15 @@ class BaseAppClient {
|
|
|
|
Future<String> generatePackagesToken() async {
|
|
|
|
Future<String> generatePackagesToken() async {
|
|
|
|
var url = EXA_CART_API_BASE_URL + PACKAGES_TOKEN;
|
|
|
|
var url = EXA_CART_API_BASE_URL + PACKAGES_TOKEN;
|
|
|
|
var body = {
|
|
|
|
var body = {
|
|
|
|
"api_client": {"client_id": "a4ab6be4-424f-4836-b032-46caed88e184", "client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c"}
|
|
|
|
"api_client": {
|
|
|
|
|
|
|
|
"client_id": "a4ab6be4-424f-4836-b032-46caed88e184",
|
|
|
|
|
|
|
|
"client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c"
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
String? token;
|
|
|
|
String? token;
|
|
|
|
final completer = Completer();
|
|
|
|
final completer = Completer();
|
|
|
|
simplePost(url, body: body, headers: {}, onSuccess: (dynamic stringResponse, int statusCode) {
|
|
|
|
simplePost(url, body: body, headers: {},
|
|
|
|
|
|
|
|
onSuccess: (dynamic stringResponse, int statusCode) {
|
|
|
|
if (statusCode == 200) {
|
|
|
|
if (statusCode == 200) {
|
|
|
|
var jsonResponse = json.decode(stringResponse);
|
|
|
|
var jsonResponse = json.decode(stringResponse);
|
|
|
|
token = jsonResponse['auth_token'];
|
|
|
|
token = jsonResponse['auth_token'];
|
|
|
|
|