X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fadmin_topics.py;h=ffe24fbacae57eb86031bb00c47ff6a8e63e7664;hp=eb8c988498909313afe81a43c84201606b306c0b;hb=1ac7f465e8e465980690daba3414a7aadb6fb0b4;hpb=871f8888918592d5c2357a8034e1b0f098a26fee diff --git a/osm_nbi/admin_topics.py b/osm_nbi/admin_topics.py index eb8c988..ffe24fb 100644 --- a/osm_nbi/admin_topics.py +++ b/osm_nbi/admin_topics.py @@ -478,11 +478,13 @@ class UserTopicAuth(UserTopic): for project in content["projects"]: for role in project["roles"]: - project_role_mappings.append([project, role]) + project_role_mappings.append({"project": project, "role": role}) del content["projects"] content["project_role_mappings"] = project_role_mappings + return content + def new(self, rollback, session, indata=None, kwargs=None, headers=None): """ Creates a new entry into the authentication backend. @@ -569,15 +571,15 @@ class UserTopicAuth(UserTopic): for mapping in mappings_to_remove: self.auth.remove_role_from_user( user["name"], - mapping[0], - mapping[1] + mapping["project"], + mapping["role"] ) for mapping in mappings_to_add: self.auth.assign_role_to_user( user["name"], - mapping[0], - mapping[1] + mapping["project"], + mapping["role"] ) return content["_id"] @@ -932,8 +934,7 @@ class RoleTopicAuth(BaseTopic): :param _id: server internal id :return: dictionary, raise exception if not found. """ - filter_db = self._get_project_filter(session) - filter_db["_id"] = _id + filter_db = {"_id": _id} role = self.db.get_one(self.topic, filter_db) new_role = dict(role) @@ -1012,8 +1013,7 @@ class RoleTopicAuth(BaseTopic): :return: dictionary with deleted item _id. It raises EngineException on error: not found, conflict, ... """ self.check_conflict_on_del(session, _id, None) - filter_q = self._get_project_filter(session) - filter_q["_id"] = _id + filter_q = {"_id": _id} if not dry_run: self.auth.delete_role(_id) v = self.db.del_one(self.topic, filter_q)