Li Jun
2022-03-28 f5a94e721ae5a26f817f0df75065b64f1f192eb3
force-app/main/default/classes/DeveloperUtility.cls
@@ -1,6 +1,16 @@
public class DeveloperUtility {
   
    public static List<HTTPResponse> CreateFields(string sobject_name,string [] fields){
    /**public static List<HTTPResponse> CreateFields(string sobject_name,string [] fields, boolean create_field,boolean create_config){
        PI_Policy_Configuration__c ppc = null;
        if(create_config){
            List<PI_Policy_Configuration__c> ppcs = [select id from PI_Policy_Configuration__c where Sobject_Type__c = :sobject_name];
            if(ppcs.size()>0){
                ppc = ppcs[0];
            }
        }
        List<PI_Field_Policy_Detail__c> ds = new List<PI_Field_Policy_Detail__c>();
        List<HTTPResponse> results = new List<HTTPResponse>();
        for(string f : fields){
            string old_label = f.removeEnd('__c').replace('_',' ');
@@ -10,8 +20,39 @@
            system.debug('old_label='+old_label);
            system.debug('label='+label);
            system.debug('name='+name);
            results.add(CreateField(sobject_name,label,name,description,'Text'));
            if(create_field){
                system.debug(CreateField(sobject_name,label,name,description,'Text'));
            }
            if(create_config){
                PI_Field_Policy_Detail__c d = new PI_Field_Policy_Detail__c();
                d.SF_Field_API_Name__c = f;
                d.SF_Field_Encrypted_API__c = name;
                d.AWS_Field_API__c = f;
                d.AWS_Encrypted_Field_API__c = name;
                d.Field_Type__c = 'String';
                d.Enable_Encrypt__c = true;
                if(ppc!=null){
                    d.PI_Policy_Configuration__c = ppc.Id;
                }
                ds.add(d);
            }
        }
        if(ppc==null){
            ppc = new PI_Policy_Configuration__c();
            ppc.Sobject_Type__c = sobject_name;
            insert ppc;
            for(PI_Field_Policy_Detail__c d : ds){
                d.PI_Policy_Configuration__c = ppc.Id;
            }
        }
        insert ds;
        return results;
    }
    
@@ -54,9 +95,37 @@
        
        req.setBody(b);
        req.setCompressed(false);
        req.setEndpoint('https://ocsm--pipl.my.salesforce.com/services/Soap/m/25.0');
        req.setEndpoint('https://'+System.URL.getOrgDomainUrl().getHost()+'/services/Soap/m/25.0');
        HTTPResponse resp = h.send(req);
        System.debug(resp.getStatus());
        System.debug(resp.getBody());
        return resp;
    }
    public static string ToolingQuery(string query){
        system.debug('query='+query);
        String baseURL = 'https://'+System.URL.getOrgDomainUrl().getHost()+'/services/data/v41.0/tooling/query?q='+ query.replace(' ', '+');
        HttpResponse resp = null;
        HttpRequest req = new HttpRequest();
        req.setMethod('GET');
        req.setHeader('Authorization', 'Bearer ' + UserInfo.getsessionid());
        req.setEndpoint(baseURL);
        Http client = new Http();
        resp = client.send(req);
        system.debug(resp.getStatus());
        system.debug(resp.getStatusCode());
        if(resp.getStatus() == 'OK'){
            string s = resp.getBody();
            system.debug(resp.getBody());
           return s;
        }else{
            system.debug('status is not ok,error:'+resp.getBody());
            return null;
        }
    }*/
}