How to read & check permissions of profiles in apex salesforce

H

public with sharing class IPA_MyAppsComponentController
{
//Member Var
public list myApps {get; private set;}
private static ID userId;
private static ID profileId;
private List myPermSetAsgmnts = new List();
private List profilePermSetAsgmnt = new List();
private Set permSetIds = new Set();
private List appList = new List();
private Set appIds = new Set();
public IPA_Page_Widget__c pageWidgetObj {get; set;}
public String Widget_title {get; set;}

//Constructor
public IPA_MyAppsComponentController() {

USERID = UserInfo.getUserID();
myPermSetAsgmnts = [SELECT PermissionSetId
FROM PermissionSetAssignment
WHERE AssigneeId = : userId];
PROFILEID = UserInfo.getProfileId();
if(!myPermSetAsgmnts.isEmpty()){
for(PermissionSetAssignment permSetAsgmnt : myPermSetAsgmnts){
permSetIds.add(permSetAsgmnt.PermissionSetId);
}
}
profilePermSetAsgmnt = [Select Id
FROM PermissionSet
WHERE ProfileId = : PROFILEID];
if(!profilePermSetAsgmnt.isEmpty()){
for(PermissionSet permSet : profilePermSetAsgmnt){
permSetIds.add(permSet.Id);
}
}
if(!permSetIds.isEmpty()){
appList = [SELECT SetupEntityId
FROM SetupEntityAccess
WHERE SetupEntityType in (‘TabSet’,’ConnectedApplication’) AND ParentId = : permSetIds];
if(!appList.isEmpty()){
for(SetupEntityAccess app : appList){
appIds.add(app.SetupEntityId);
}
}
}
}
}

About the author

kalpesh.surana
By kalpesh.surana

Category