Newer Version Available
CustomPermissionDependency
Represents the dependency between two custom permissions when one
custom permission requires that you enable another custom permission. This object
is available in API version 32.0 and later.
Supported Calls
describeLayout(), describeSObjects(), query(), retrieve()
Special Access Rules
As of Spring ’20 and later, only users with View Setup and Configuration permission can access this object.
Fields
| Field Name | Details |
|---|---|
| CustomPermissionId |
|
| RequiredCustomPermissionId |
|
Usage
The following Apex class contains a method that returns the IDs of all custom permissions that are required for the given custom permission ID. To use this class, save it in your
organization.
For
more information about using Apex classes, see the Apex Developer Guide.
1public class CustomPermissionUtil {
2 public String[] getAllRequiredCustomPermissions(String customPermId) {
3 return getAllRequiredHelper(new String[]{customPermId});
4 }
5
6 private String[] getAllRequiredHelper(String[] customPermIds) {
7 CustomPermissionDependency[] requiredPerms = [SELECT RequiredCustomPermissionId
8 FROM CustomPermissionDependency
9 WHERE CustomPermissionId
10 IN :customPermIds];
11 String[] requiredPermIds = new String[]{};
12 for (CustomPermissionDependency cpd : requiredPerms) {
13 requiredPermIds.add(cpd.RequiredCustomPermissionId);
14 }
15 if (requiredPermIds.size() > 0) {
16 customPermIds.addall(getAllRequiredHelper(requiredPermIds));
17 return customPermIds;
18 } else {
19 return customPermIds;
20 }
21 }
22}