Skip to content

Commit

Permalink
Added support for retrieving folders
Browse files Browse the repository at this point in the history
- See #59
  • Loading branch information
afawcettffdc committed Apr 8, 2015
1 parent b95574b commit ab4ba67
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 12 deletions.
48 changes: 44 additions & 4 deletions apex-mdapi/src/classes/MetadataService.cls
Expand Up @@ -2470,10 +2470,20 @@ public class MetadataService {
public class EmailFolder extends Folder {
public String type = 'EmailFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class Territory2Rule {
public Boolean active;
Expand Down Expand Up @@ -7512,10 +7522,20 @@ public class MetadataService {
public class ReportFolder extends Folder {
public String type = 'ReportFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class RelatedListItem {
public String[] customButtons;
Expand Down Expand Up @@ -8266,10 +8286,20 @@ public class MetadataService {
public class DashboardFolder extends Folder {
public String type = 'DashboardFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class PermissionSetApexPageAccess {
public String apexPage;
Expand Down Expand Up @@ -8706,10 +8736,20 @@ public class MetadataService {
public class DocumentFolder extends Folder {
public String type = 'DocumentFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class FlowConstant {
public String dataType;
Expand Down
6 changes: 3 additions & 3 deletions apex-mdapi/src/classes/MetadataServiceExamples.cls
Expand Up @@ -915,9 +915,9 @@ public with sharing class MetadataServiceExamples
MetadataService.ReportFolder folder =
(MetadataService.ReportFolder) service.readMetadata('ReportFolder',
new String[] { 'MyFolder' }).getRecords()[0];
MetadataService.SharedTo shareTo = folder.SharedTo;
for(String groupName : shareTo.group_x)
System.debug('Shared to Group ' + groupName);
System.debug('name ' + folder.name);
System.debug('fullName ' + folder.fullName);
System.debug('allInternalUsers ' + folder.sharedTo.allInternalUsers);
}

public static void readReport()
Expand Down
3 changes: 2 additions & 1 deletion apex-mdapi/src/classes/MetadataServicePatcher.cls
Expand Up @@ -211,7 +211,8 @@ public with sharing class MetadataServicePatcher {
// List of base types to prescan for merging into derived types
private static final Map<String, String> METADATA_BASE_TYPES =
new Map<String, String> {
'SharingBaseRule' => 'SharingBaseRule' };
'SharingBaseRule' => 'SharingBaseRule',
'Folder' => 'Folder' };

public static void patch()
{
Expand Down
Expand Up @@ -2470,10 +2470,20 @@ public class MetadataService {
public class EmailFolder extends Folder {
public String type = 'EmailFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class Territory2Rule {
public Boolean active;
Expand Down Expand Up @@ -7512,10 +7522,20 @@ public class MetadataService {
public class ReportFolder extends Folder {
public String type = 'ReportFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class RelatedListItem {
public String[] customButtons;
Expand Down Expand Up @@ -8266,10 +8286,20 @@ public class MetadataService {
public class DashboardFolder extends Folder {
public String type = 'DashboardFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class PermissionSetApexPageAccess {
public String apexPage;
Expand Down Expand Up @@ -8706,10 +8736,20 @@ public class MetadataService {
public class DocumentFolder extends Folder {
public String type = 'DocumentFolder';
public String fullName;
public String accessType;
public MetadataService.FolderShare[] folderShares;
public String name;
public String publicFolderAccess;
public MetadataService.SharedTo sharedTo;
private String[] accessType_type_info = new String[]{'accessType','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] folderShares_type_info = new String[]{'folderShares','http://soap.sforce.com/2006/04/metadata',null,'0','-1','false'};
private String[] name_type_info = new String[]{'name','http://soap.sforce.com/2006/04/metadata',null,'1','1','false'};
private String[] publicFolderAccess_type_info = new String[]{'publicFolderAccess','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] sharedTo_type_info = new String[]{'sharedTo','http://soap.sforce.com/2006/04/metadata',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://soap.sforce.com/2006/04/metadata','true','false'};
private String[] type_att_info = new String[]{'xsi:type'};
private String[] fullName_type_info = new String[]{'fullName','http://www.w3.org/2001/XMLSchema','string','0','1','false'};
private String[] field_order_type_info = new String[]{'fullName'};
private String[] field_order_type_info = new String[]{'fullName','accessType','folderShares','name','publicFolderAccess','sharedTo'};
}
public class FlowConstant {
public String dataType;
Expand Down

0 comments on commit ab4ba67

Please sign in to comment.