Skip to content

Instantly share code, notes, and snippets.

@Patlatus
Patlatus / MD.apxc
Created October 30, 2018 14:55
Build package.xml for Metadata Records
public class MD {
public static String buildPackageXMLForMD(SObjectType mdt, String whereClause){
String mdtName = [ select DeveloperName FROM EntityDefinition where QualifiedAPIName = :mdt.getDescribe().getName() ].DeveloperName;
List<SObject> records = Database.query('SELECT DeveloperName FROM ' + mdt + whereClause );
List<String> items = new List<String>();
for (SObject r: records) {
items.add( mdtName + '.' + r.get( 'DeveloperName' ) );
}
return ' <types>\r\n <members>' + String.join( items, '</members>\r\n <members>' ) + '</members>\r\n <name>CustomMetadata</name>\r\n </types>';
@Patlatus
Patlatus / whichPS.soql
Created September 21, 2020 07:45
Find out which permission set provides read access to a field
SELECT ParentId FROM FieldPermissions WHERE
Field = 'CustomObject__c.CustomField__c'
AND SObjectType = 'CustomObject__c'
AND PermissionsRead = true
AND ParentId IN (SELECT PermissionSetId from PermissionSetAssignment WHERE AssigneeId = '005USerID0000AAA')