getApplication method
Implementation
@override
Future<Application> getApplication(String clientId, String clientSecret) async{
AccessTokenResult accessTokenResult = await this.getAccessToken(clientId, clientSecret);
final String url = "$API_URL/merchants/applications/current";
final http.Response response = await http.get(
Uri.parse(url),
headers: {
'Authorization' : 'Bearer ${accessTokenResult.accessToken}',
'Accept':'application/json'
}
);
if(response.statusCode == 200){
final Map<String, dynamic> json = jsonDecode(response.body);
if(json.containsKey('data')){
Map<String, dynamic> jsonData = json['data'];
final Application result = Application.fromJson(jsonData);
return result;
}else{
String? message = "";
int? code = -1;
String? status = "";
if(json.containsKey('message')){
code = StatusCode.codes[StatusCode.OPERATION_ERROR];
status = StatusCode.OPERATION_ERROR;
message = json['message'] as String;
}
throw AdjeminPayException(message, response.statusCode, code,status);
}
}else{
var message = StatusCode.messages[StatusCode.OPERATION_ERROR];
var code = StatusCode.codes[StatusCode.OPERATION_ERROR];
var status = StatusCode.OPERATION_ERROR;
if(response.headers['content-type'] == 'application/json'){
final Map<String, dynamic> json = jsonDecode(response.body);
if(json.containsKey('message')){
message = json['message'];
}
if(json.containsKey('code')){
code = json['code'];
}
if(json.containsKey('status')){
status = json['status'];
}
}else{
message = "An error has occurred";
}
throw AdjeminPayException(message, response.statusCode, code,status);
}
}