56 lines
4.1 KiB
OpenEdge ABL
56 lines
4.1 KiB
OpenEdge ABL
@RestResource(UrlMapping='/CreateShopifyLog/*')
|
|
global class CreateShopifyLog {
|
|
//public static map<String,String> Shopifyididvsbody = new map<String,String>(); //Shopify Id vs JSON Response body
|
|
@HTTPPost
|
|
global static void createlog(){
|
|
Restrequest request = restContext.request;
|
|
String store = 'Default';
|
|
String objectname;
|
|
String Shopify_Id;
|
|
Map <String, String> params = request.params;
|
|
//Map<String, String> deserializedList = (Map<String, String>)JSON.deserializeUntyped(params);
|
|
System.debug(params);
|
|
if(!params.isEmpty() && params.containsKey('store') && params.get('store') != null){ store = params.get('store');
|
|
Map <String, Object> params2 = (Map <String, Object>)JSON.deserializeUntyped(store);
|
|
if(!params2.isEmpty() && params2.containsKey('store') && params2.get('store') != null){
|
|
store = String.valueOf(params2.get('store'));
|
|
System.debug(store);
|
|
}
|
|
if(!params2.isEmpty() && params2.containsKey('objectname') && params2.get('objectname') != null){
|
|
objectname = String.valueOf(params2.get('objectname'));
|
|
System.debug(objectName);
|
|
}
|
|
}
|
|
Restresponse response = restContext.response;
|
|
String jSONRequestBody = request.requestBody.ToString().Trim();
|
|
|
|
if(jSONRequestBody == '' || jSONRequestBody == null) return;
|
|
Map<String,Object> main = (Map<String,Object>) JSON.deserializeUntyped(jSONRequestBody);
|
|
|
|
HIC_ShopifySync__Shopify_Log__c SuccessLog = new HIC_ShopifySync__Shopify_Log__c();
|
|
SuccessLog.HIC_ShopifySync__Store__c = store;
|
|
SuccessLog.HIC_ShopifySync__Is_Webhook__c = True;
|
|
SuccessLog.HIC_ShopifySync__Shopify_Id__c = String.valueOf(main.get('id'));
|
|
SuccessLog.Name = objectname + ' ' + SuccessLog.HIC_ShopifySync__Shopify_Id__c;
|
|
System.debug(SuccessLog.Name);
|
|
|
|
if(jSONRequestBody!= null && jSONRequestBody != ''){
|
|
Integer lengthofjSONRequestBody = jSONRequestBody.length();
|
|
if(lengthofjSONRequestBody != null && lengthofjSONRequestBody != 0 && lengthofjSONRequestBody <= 131072){
|
|
SuccessLog.HIC_ShopifySync__Info__c = jSONRequestBody;
|
|
}else if(lengthofjSONRequestBody > 131072 && lengthofjSONRequestBody <= 262144){
|
|
SuccessLog.HIC_ShopifySync__Info__c = jSONRequestBody.substring(0,131072);
|
|
SuccessLog.HIC_ShopifySync__Second_Info__c =jSONRequestBody.substring(131072,lengthofjSONRequestBody);
|
|
}else if(lengthofjSONRequestBody > 262144 && lengthofjSONRequestBody <= 393216){
|
|
SuccessLog.HIC_ShopifySync__Info__c = jSONRequestBody.substring(0,131072);
|
|
SuccessLog.HIC_ShopifySync__Second_Info__c =jSONRequestBody.substring(131072,262144);
|
|
SuccessLog.HIC_ShopifySync__Third_Info__c = jSONRequestBody.substring(262144,lengthofjSONRequestBody);
|
|
}else if(lengthofjSONRequestBody > 393216){
|
|
SuccessLog.HIC_ShopifySync__Info__c = jSONRequestBody.substring(0,131072);
|
|
SuccessLog.HIC_ShopifySync__Second_Info__c =jSONRequestBody.substring(131072,262144);
|
|
SuccessLog.HIC_ShopifySync__Third_Info__c = jSONRequestBody.substring(262144,393216);
|
|
}
|
|
}
|
|
insert SuccessLog;
|
|
}
|
|
} |