From: Adurti Date: Mon, 25 Mar 2024 08:21:36 +0000 (+0000) Subject: Bug 2356 Fixed: Able to update User with same project and role multiple times X-Git-Tag: v17.0.0~3 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=16e6edd520df93c2f1b83c8e65296cb526f49fd3;p=osm%2FNBI.git Bug 2356 Fixed: Able to update User with same project and role multiple times Change-Id: I1d010d4b1e27d20322d17731a190c85f8448c543 Signed-off-by: Adurti --- diff --git a/osm_nbi/admin_topics.py b/osm_nbi/admin_topics.py index 0803ad6..b4f8980 100644 --- a/osm_nbi/admin_topics.py +++ b/osm_nbi/admin_topics.py @@ -1159,6 +1159,15 @@ class UserTopicAuth(UserTopic): # set if indata.get("project_role_mappings"): + duplicates = [] + for pr in indata.get("project_role_mappings"): + if pr not in duplicates: + duplicates.append(pr) + if len(indata.get("project_role_mappings")) > len(duplicates): + raise EngineException( + "Project-role combination should not be repeated", + http_code=HTTPStatus.UNPROCESSABLE_ENTITY, + ) for to_set in indata["project_role_mappings"]: for mapping in original_mapping: if to_set["project"] in (