diff --git a/app/classes/web/routes/api/roles/index.py b/app/classes/web/routes/api/roles/index.py index 45a00bf0..69bbf4df 100644 --- a/app/classes/web/routes/api/roles/index.py +++ b/app/classes/web/routes/api/roles/index.py @@ -12,25 +12,29 @@ create_role_schema = { "type": "string", "minLength": 1, "pattern": r"^[^,\[\]]*$", + "error": "roleName", }, "servers": { "type": "array", + "error": "typeList", "items": { "type": "object", "properties": { "server_id": { "type": "string", "minimum": 1, + "error": "roleServerId", }, "permissions": { "type": "string", "pattern": r"^[01]{8}$", # 8 bits, see EnumPermissionsServer + "error": "roleServerPerms", }, }, "required": ["server_id", "permissions"], }, }, - "manager": {"type": ["integer", "null"]}, + "manager": {"type": ["integer", "null"], "error": "roleManager"}, }, "additionalProperties": False, "minProperties": 1, @@ -42,19 +46,23 @@ basic_create_role_schema = { "name": { "type": "string", "minLength": 1, + "error": "roleName", }, "servers": { "type": "array", + "error": "typeList", "items": { "type": "object", "properties": { "server_id": { "type": "string", "minimum": 1, + "error": "roleServerId", }, "permissions": { "type": "string", - "pattern": "^[01]{8}$", # 8 bits, see EnumPermissionsServer + "pattern": r"^[01]{8}$", # 8 bits, see EnumPermissionsServer + "error": "roleServerPerms", }, }, "required": ["server_id", "permissions"], diff --git a/app/classes/web/routes/api/roles/role/index.py b/app/classes/web/routes/api/roles/role/index.py index 1eab6183..2d1be660 100644 --- a/app/classes/web/routes/api/roles/role/index.py +++ b/app/classes/web/routes/api/roles/role/index.py @@ -11,25 +11,29 @@ modify_role_schema = { "type": "string", "minLength": 1, "pattern": r"^[^,\[\]]*$", + "error": "roleName", }, "servers": { "type": "array", + "error": "typeList", "items": { "type": "object", "properties": { "server_id": { "type": "string", "minimum": 1, + "error": "roleServerId", }, "permissions": { "type": "string", "pattern": r"^[01]{8}$", # 8 bits, see EnumPermissionsServer + "error": "roleServerPerms", }, }, "required": ["server_id", "permissions"], }, }, - "manager": {"type": ["integer", "null"]}, + "manager": {"type": ["integer", "null"], "error": "roleManager"}, }, "additionalProperties": False, "minProperties": 1, @@ -41,19 +45,23 @@ basic_modify_role_schema = { "name": { "type": "string", "minLength": 1, + "error": "roleName", }, "servers": { "type": "array", + "error": "typeList", "items": { "type": "object", "properties": { "server_id": { "type": "string", "minimum": 1, + "error": "roleServerId", }, "permissions": { "type": "string", - "pattern": "^[01]{8}$", # 8 bits, see EnumPermissionsServer + "pattern": r"^[01]{8}$", # 8 bits, see EnumPermissionsServer + "error": "roleServerPerms", }, }, "required": ["server_id", "permissions"], diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index 50ab88c5..831f7542 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -670,6 +670,10 @@ "validators": { "filesPageLen": "Length must be greater than 1 for property ", "passLength": "Password Too Short. Minimum Length: 8", + "roleManager": "Role manager must be of type integer (manager ID) or None", + "roleName": "Role name must be a string that is greater than 1 character. It must not include any of the following symbols: [ ] , ", + "roleServerId": "Server ID property must be a string with a minimum length of 1", + "roleServerPerms": "Server permissions must be an 8-bit string", "typeBool": "Type error: True or False required for ", "typeInteger": "Type error: Integer required for ", "typeList": "Type error: List required for ",