X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=81b288dab362f0c8cff3ecea815fbf4d5184b47e;hp=c8c96cdb871233a8e2e6b1723a5329a9739b32f4;hb=5c01e193a17fcf730406e39fe7d019e1dee5c64d;hpb=09e6542ceae8ee08ee7cc372f7344a77bc1f5304 diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index c8c96cd..81b288d 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -565,6 +565,17 @@ pdu_edit_schema = { } # USERS +project_role_mapping = { + "title": "", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "project": shortname_schema, + "role": shortname_schema + }, + "required": ["project", "role"], + "additionalProperties": False +} user_new_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "New user schema", @@ -573,8 +584,13 @@ user_new_schema = { "username": shortname_schema, "password": passwd_schema, "projects": nameshort_list_schema, + "project_role_mappings": { + "type": "array", + "items": project_role_mapping, + "minItems": 1 + }, }, - "required": ["username", "password", "projects"], + "required": ["username", "password"], "additionalProperties": False } user_edit_schema = { @@ -589,6 +605,11 @@ user_edit_schema = { array_edition_schema ] }, + "project_role_mappings": { + "type": "array", + "items": project_role_mapping, + "minItems": 1 + }, }, "minProperties": 1, "additionalProperties": False @@ -617,6 +638,32 @@ project_edit_schema = { "minProperties": 1 } +# ROLES +roles_new_schema = { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "New role schema for administrators", + "type": "object", + "properties": { + "name": shortname_schema, + "definition": object_schema, + }, + "required": ["name"], + "additionalProperties": False +} +roles_edit_schema = { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Roles edit schema for administrators", + "type": "object", + "properties": { + "_id": id_schema, + "name": shortname_schema, + "definition": object_schema, + }, + "required": ["_id", "name", "definition"], + "additionalProperties": False, + "minProperties": 1 +} + # GLOBAL SCHEMAS nbi_new_input_schemas = {