Backup_FME_personal/force-app/main/default/classes/InvocableApexActionHandler.cls

122 lines
6.3 KiB
OpenEdge ABL

public without sharing class InvocableApexActionHandler {
private static final String GOOGLE_DRIVE_API_URL = 'https://www.googleapis.com/drive/v3/files';
private static String externalStorage = 'Google Drive';
public static Map<String,String> createFolderFromAction(Boolean isServiceMode,String userId,String folderName, String parentFolderId ,String recordId,String newAccessTokenGnt) {
Map<String,String> newAccessTokenMap=new Map<String,String>();
// String ACCESS_TOKEN;
// String refreshToken;
// System.debug('parentFolderId >>>'+parentFolderId);
// Map<String, Object> accessTokenMap=new Map<String, Object>();
// // Map<String,Map<String,Object>> storageTokenMap=new Map<String,Map<String,Object>>();
// Map<String,String> googleDriveMap=new Map<String,String>();
// try{
// System.debug('newAccessTokenGnt'+newAccessTokenGnt);
// if(newAccessTokenGnt == null){
// accessTokenMap = CloudStorageUtlilty.getAccessToken(isServiceMode, userId, externalStorage);
// ACCESS_TOKEN=(String)accessTokenMap.get('ACCESS_TOKEN');
// refreshToken = (String) accessTokenMap.get('REFRESH_TOKEN');
// }
// else{
// ACCESS_TOKEN=newAccessTokenGnt;
// }
// String folderMetadata = '{' +
// '"name": "' + folderName + '",' +
// '"mimeType": "application/vnd.google-apps.folder"';
// if (parentFolderId != null && parentFolderId != '') {
// folderMetadata += ',"parents": ["' + parentFolderId + '"]';
// }
// folderMetadata += '}';
// Map<String, String> headers = new Map<String, String>();
// headers.put('Authorization', 'Bearer ' + ACCESS_TOKEN);
// headers.put( 'Content-Type', 'application/json');
// HttpResponse res = CloudStorageUtlilty.makeCallout(folderMetadata, GOOGLE_DRIVE_API_URL, headers, 'POST');
// String createdFolderName;
// String folderId;
// if (res.getStatusCode() == 200) {
// System.debug('resBody'+JSON.serializePretty(res.getBody()));
// String responseBody = res.getBody();
// Map<String, object> resultMap = (Map<String, object>) JSON.deserializeUntyped(responseBody);
// folderId=(String) resultMap.get('id');
// createdFolderName=(String) resultMap.get('name');
// googleDriveMap.put('folderName',createdFolderName);
// googleDriveMap.put('parentFolderId',folderId);
// }
// else if(res.getStatusCode() == 401){
// newAccessTokenMap = CloudStorageUtlilty.refreshAndReturn(refreshToken, externalStorage);
// googleDriveMap.put('isnewAccesstoken' ,'true');
// googleDriveMap.put('newAccessToken', newAccessTokenMap.get('ACCESS_TOKEN'));
// Map<String, String> headers1 = new Map<String, String>();
// headers1.put('Authorization', 'Bearer ' + newAccessTokenMap.get('ACCESS_TOKEN'));
// headers1.put( 'Content-Type', 'application/json');
// HttpResponse res1 = CloudStorageUtlilty.makeCallout(folderMetadata, GOOGLE_DRIVE_API_URL, headers1, 'POST');
// String responseBody = res1.getBody();
// Map<String, object> resultMap = (Map<String, object>) JSON.deserializeUntyped(responseBody);
// folderId=(String) resultMap.get('id');
// createdFolderName=(String) resultMap.get('name');
// googleDriveMap.put('folderName',createdFolderName);
// googleDriveMap.put('parentFolderId',folderId);
// // storageTokenMap.put('Google Drive',googleDriveMap);
// }
// return googleDriveMap;
// }
// catch (Exception e) {
// FME_Logger.error(e.getMessage(), 'InvocableApexActionHandler' + e.getLineNumber(), 'createFolderFromAction');
// // System.debug('>>>error='+e.getMessage());
// // throw new AuraHandledException(e.getMessage());
// }
// finally{
// FME_Logger.saveLog();
// }
return new Map<String, String>();
}
public static void linkFilesWithRecord(String recordId,String folderId,String storageType,String folderName){
try{
// List<HIC_FilesME__File_Link__c> fileLinkList = new List<HIC_FilesME__File_Link__c>();
// HIC_FilesME__File_Link__c fileLink = new HIC_FilesME__File_Link__c();
// fileLink.HIC_FilesME__Linked_Entity_Id__c = folderId;
// fileLink.HIC_FilesME__Linked_Storage_Type__c = storageType;
// fileLink.HIC_FilesME__Linked_Entity_Name__c = folderName;
// fileLink.HIC_FilesME__Linked_Mimetype__c = 'application/vnd.google-apps.folder';
// fileLink.HIC_FilesME__Linked_Record_Id__c = recordId;
// fileLinkList.add(fileLink);
// if(fileLinkList.size()>0){
// insert fileLinkList;
// }
}
catch(Exception e){
FME_Logger.error(e.getMessage(), 'InvocableApexActionHandler' + e.getLineNumber(), 'linkFilesWithRecord');
}
// finally{
// FME_Logger.saveLog();
// }
}
public static void moveSalesforceFiles(String storageType,String recordId,String folderId,String driveId){
try{
ContentVersion cv = [SELECT Id, VersionData,Title,FileExtension FROM ContentVersion WHERE Id = :recordId];
Integer fileSize = cv.VersionData.size();
// if (fileSize <= 6000000) {
// //String cloudFileId = 'test';
// String fileId = FME_GoogleDriveService.uploadFile(cv, folderId);
// System.debug('✅ File uploaded to Google Drive, fileId = ' + fileId);
// }
}
catch(Exception e){
FME_Logger.error(e.getMessage(), 'InvocableApexActionHandler' + e.getLineNumber(), 'linkFilesWithRecord');
}
finally{
FME_Logger.saveLog();
}
}
}