Chris_Carr | 2022-02-22 16:04:08 UTC | #1
Hi,
I am trying to get all permissions assigned to a list of roles. Below is a an example JSON response.
{ "id": "60a63986-4de2-44e1-ad29-fb5f9d1194c5", "name": "admin", "description": "Organization Administrator", "defaultRoleId": "admin", "permissions": [ "contentmanagementuser", "admin", "employee", "contentmanagementadmin" ], "permissionPolicies": [ { "domain": "wfm", "entityName": "adhocModel", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "conversation", "entityName": "communication", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "chat", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "queueObservation", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "webchat", "entityName": "deployment", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "speechAndTextAnalyticsAggregates", "actionSet": [ "" ], "allowConditions": false }, { "domain": "reporting", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "conversationDetail", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "telephony", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "authorization", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "presence", "entityName": "userPresence", "actionSet": [ "edit" ], "allowConditions": false }, { "domain": "routing", "entityName": "wrapupCode", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "geolocation", "entityName": "settings", "actionSet": [ "edit" ], "allowConditions": false }, { "domain": "bridge", "entityName": "server", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "userAggregate", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "integrations", "entityName": "action", "actionSet": [ "" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "externalEntity", "actionSet": [ "" ], "allowConditions": false }, { "domain": "directory", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "wfm", "entityName": "adhocForecast", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "audits", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "quality", "entityName": "evaluation", "actionSet": [ "add", "editScore" ], "allowConditions": false }, { "domain": "bridge", "entityName": "pluginType", "actionSet": [ "add", "edit" ], "allowConditions": false }, { "domain": "conversation", "entityName": "email", "actionSet": [ "" ], "allowConditions": false }, { "domain": "routing", "entityName": "schedule", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "conversationAggregate", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "bridge", "entityName": "publisher", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "integrations", "entityName": "integration", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "routing", "entityName": "skill", "actionSet": [ "" ], "allowConditions": false }, { "domain": "outbound", "entityName": "campaign", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "documents", "entityName": "audit", "actionSet": [ "search" ], "allowConditions": false }, { "domain": "routing", "entityName": "queue", "actionSet": [ "view", "search" ], "allowConditions": false }, { "domain": "widgets", "entityName": "deployment", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "notification", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "cobrowse", "entityName": "deployment", "actionSet": [ "manage" ], "allowConditions": false }, { "domain": "routing", "entityName": "callRoute", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "routing", "entityName": "emergencyGroup", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "speechAndTextAnalytics", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "voicebots", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "quality", "entityName": "calibration", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "contact", "actionSet": [ "" ], "allowConditions": false }, { "domain": "routing", "entityName": "scheduleGroup", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "bridge", "entityName": "plugin", "actionSet": [ "add", "call", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "oauth", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "gdpr", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "voicemail", "entityName": "groupPolicy", "actionSet": [ "view", "edit" ], "allowConditions": false }, { "domain": "wfm", "entityName": "schedulingrequest", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "externalOrganization", "actionSet": [ "" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "customFields", "actionSet": [ "" ], "allowConditions": false }, { "domain": "attributes", "entityName": "attribute", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "ui", "entityName": "networkPerformanceIndicators", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "actions", "actionSet": [ "add", "view", "edit", "delete", "execute" ], "allowConditions": false }, { "domain": "billing", "entityName": "subscription", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "presence", "entityName": "presenceDefinition", "actionSet": [ "add", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "dataExport", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "serverFile", "actionSet": [ "add", "request", "view" ], "allowConditions": false } ], "userCount": 68, "default": true, "base": false, "selfUri": "/api/v2/authorization/roles/60a63986-4de2-44e1-ad29-fb5f9d1194c5" }
I am trying to get all of the domain names, entitity names and action set arrays, however, the function below is only providing me with a single domain per role ID that I have in my list.
def z():
for r in roleList: rprole = json.loads(autho.getauthorizationrole(r).tojson()) print(rprole['id']) print(rprole['permission_policies'][0]['domain']) print('-------------------------------------------')
Are you able to help me?
Thank you.
Jerome.Saint-Marc | 2022-02-24 00:43:29 UTC | #2
Hello,
I am not a regular python developer but the following should do what you are asking:
def z():
for r in roleList: rprole = autho.getauthorizationrole(r) print('Role name:', rprole.name, '- id:', rprole.id) for pol in rprole.permissionpolicies: print('Domain:', pol.domain, '- Entity:', pol.entityname, '- ActionSet:', pol.action_set) print('-------------------------------------------')
Regards,
Chris_Carr | 2022-02-24 00:43:51 UTC | #3
Jerome.Saint-Marc, post:2, topic:13669
def z():
for r in roleList:
rp_role = autho.get_authorization_role(r)
print('Role name:', rp_role.name, '- id:', rp_role.id)
for pol in rp_role.permission_policies:
print('Domain:', pol.domain, '- Entity:', pol.entity_name, '- ActionSet:', pol.action_set)
print('-------------------------------------------')
Hi Jerome,
Thank you so much this is perfect! I appreciate it.
system | 2022-03-27 00:44:49 UTC | #4
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 13669