X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=904abbd3014ea9a38487754a245e27de452dc48e;hp=a081ffa449b761ce3f1f5b4e58b43be7a2798163;hb=9c63011a8f3ff8f42ad90359323606b9aa9f2e7a;hpb=cf042d30e8b7a1a9cbd1b2064e83c5d20ffcec9b diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index a081ffa..904abbd 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -661,20 +661,34 @@ roles_new_schema = { "type": "object", "properties": { "name": shortname_schema, - "root": bool_schema, + "permissions": { + "type": "object", + "patternProperties": { + ".": bool_schema, + }, + # "minProperties": 1, + } }, - "required": ["name", "root"], - "additionalProperties": True + "required": ["name"], + "additionalProperties": False } roles_edit_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Roles edit schema for administrators", "type": "object", "properties": { - "root": bool_schema, + "name": shortname_schema, + "permissions": { + "type": "object", + "patternProperties": { + ".": { + "oneOf": [bool_schema, null_schema] + } + }, + # "minProperties": 1, + } }, - "required": ["root"], - "additionalProperties": True, + "additionalProperties": False, "minProperties": 1 } @@ -793,5 +807,5 @@ def is_valid_uuid(x): try: if UUID(x): return True - except (TypeError, ValueError): + except (TypeError, ValueError, AttributeError): return False