SyncMadeEasy/force-app/main/default/classes/CreateShopifyLog.cls

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;
}
}