@ -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 ' ] ;