Name
sn_collab_request.AppManagementDataUtil
Description
No description available
Script
var AppManagementDataUtil = (function() {
return {
getCurrentUserData: function(appId) {
var permissionSetIds = CollabReqConstants.permissionSetIds;
var descriptorIds = CollabReqConstants.descriptorIds;
var INVITE_COLLABORATORS_PERM_SET_ID = permissionSetIds.INVITE_COLLABORATORS_PERM_SET_ID;
var MANAGE_COLLABORATORS_PERM_SET_ID = permissionSetIds.MANAGE_COLLABORATORS_PERM_SET_ID;
var EDITOR_DESCRIPTOR_ID = descriptorIds.EDITOR_DESCRIPTOR_ID;
var permissions;
if (!UserDelegatedDevPermissions.isScopeValid(appId)) {
UserDelegatedDevPermissions.throwAppNotFound(appId);
}
var isUserAdmin = gs.hasRole('admin');
if (isUserAdmin) {
permissions = {
canUserManageCollaborators: true,
canUserInviteCollaborators: true,
canUserModifyAllDesciptors: true,
inviteDescriptorsFilter: [],
readOnlyMode: false
};
} else {
var permissionsGranted = UserDelegatedDevPermissions.getPermissionSetsGrantedToUserFromScope(appId);
// if empty, then no permission sets are granted
var grantedPermSetNameAndIds = UserDelegatedDevPermissions.getPermSetNamesAndIdsFromObj(permissionsGranted);
var canUserManageCollaborators = !!grantedPermSetNameAndIds[MANAGE_COLLABORATORS_PERM_SET_ID];
var canUserInviteCollaborators = !!grantedPermSetNameAndIds[INVITE_COLLABORATORS_PERM_SET_ID];
var canUserOnlyInviteCollaborators = canUserInviteCollaborators && !canUserManageCollaborators;
var inviteDescriptorsFilter = canUserOnlyInviteCollaborators ? [EDITOR_DESCRIPTOR_ID] : [];
permissions = {
canUserManageCollaborators: canUserManageCollaborators,
canUserInviteCollaborators: canUserInviteCollaborators,
canUserModifyAllDesciptors: false,
readOnlyMode: !canUserManageCollaborators && !canUserInviteCollaborators,
inviteDescriptorsFilter: inviteDescriptorsFilter
};
}
return permissions;
}
};
})();
Sys ID
db901903c3703010a9f5e548fa40dd18