X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fauthconn_keystone.py;h=115de7c8b8a15e5aee1ed0736494d09d624490ba;hp=3aedfaba2f85ac214926d1553a395393a7d92807;hb=refs%2Fchanges%2F51%2F7851%2F2;hpb=08ddb14b077121ffced28e41c441fef31b6bb6a1 diff --git a/osm_nbi/authconn_keystone.py b/osm_nbi/authconn_keystone.py index 3aedfab..115de7c 100644 --- a/osm_nbi/authconn_keystone.py +++ b/osm_nbi/authconn_keystone.py @@ -299,23 +299,21 @@ class AuthconnKeystone(Authconn): users = [user for user in users if filter_q["_id"] == user["_id"]] for user in users: + user["project_role_mappings"] = [] + user["projects"] = [] projects = self.keystone.projects.list(user=user["_id"]) - projects = [{ - "name": project.name, - "_id": project.id, - "id": project.id - } for project in projects] - for project in projects: - roles = self.keystone.roles.list(user=user["_id"], project=project["_id"]) - roles = [{ - "name": role.name, - "_id": role.id, - "id": role.id - } for role in roles] - project["roles"] = roles - - user["projects"] = projects + user["projects"].append(project.name) + + roles = self.keystone.roles.list(user=user["_id"], project=project.id) + for role in roles: + prm = { + "project": project.id, + "project_name": project.name, + "role_name": role.name, + "role": role.id, + } + user["project_role_mappings"].append(prm) return users except ClientException as e: