diff --git a/src/schema/TI-M_Pro/permissionConfig_V1.json b/src/schema/TI-M_Pro/permissionConfig_V1.json new file mode 100644 index 00000000..28070c0f --- /dev/null +++ b/src/schema/TI-M_Pro/permissionConfig_V1.json @@ -0,0 +1,53 @@ +{ + "$id": "https://gematik.de/ti-m/permissionConfig.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Permission Configuration", + "type": "object", + "properties": { + "defaultSetting": { + "type": "string", + "enum": [ + "allow all", + "block all" + ] + }, + "domainExceptions": { + "type": "object", + "description": "The map of servers to in-/exclude. This is a mapping of Matrix server name (https://spec.matrix.org/v1.3/appendices/#server-name) to empty object.", + "patternProperties": { + "^.*$": { + "type": "object", + "description": "An empty object for future enhancement" + } + }, + "additionalProperties": false + }, + "userExceptions": { + "type": "object", + "description": "The map of users to in-/exclude. This is a mapping of Matrix user ID (https://spec.matrix.org/v1.3/appendices/#user-identifiers) to empty object.", + "patternProperties": { + "^@.*$": { + "type": "object", + "description": "An empty object for future enhancement" + } + }, + "additionalProperties": false + }, + "groupExceptions": { + "type": "array", + "uniqueItems": true, + "items": { + "groupName": { + "description": "The name of the group to be in-/excluded", + "type": "string", + "enum": [ + "isInsuredPerson" + ] + } + } + } + }, + "required": [ + "defaultSetting" + ] +} \ No newline at end of file diff --git a/src/schema/TI-M_ePA/permissionConfig_V1.json b/src/schema/TI-M_ePA/permissionConfig_V1.json new file mode 100644 index 00000000..d1902e19 --- /dev/null +++ b/src/schema/TI-M_ePA/permissionConfig_V1.json @@ -0,0 +1,40 @@ +{ + "$id": "https://gematik.de/ti-m/permissionConfig.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Permission Configuration", + "type": "object", + "properties": { + "defaultSetting": { + "type": "string", + "enum": [ + "allow all", + "block all" + ] + }, + "domainExceptions": { + "type": "object", + "description": "The map of servers to in-/exclude. This is a mapping of Matrix server name (https://spec.matrix.org/v1.3/appendices/#server-name) to empty object.", + "patternProperties": { + "^.*$": { + "type": "object", + "description": "An empty object for future enhancement" + } + }, + "additionalProperties": false + }, + "userExceptions": { + "type": "object", + "description": "The map of users to in-/exclude. This is a mapping of Matrix user ID (https://spec.matrix.org/v1.3/appendices/#user-identifiers) to empty object.", + "patternProperties": { + "^@.*$": { + "type": "object", + "description": "An empty object for future enhancement" + } + }, + "additionalProperties": false + } + }, + "required": [ + "defaultSetting" + ] +} \ No newline at end of file diff --git a/src/schema/examples/permissionConfig.group-exception.json b/src/schema/examples/permissionConfig.group-exception.json new file mode 100644 index 00000000..715b4a24 --- /dev/null +++ b/src/schema/examples/permissionConfig.group-exception.json @@ -0,0 +1,8 @@ +{ + "defaultSetting": "allow all", + "groupExceptions": [ + { + "groupName": "isInsuredPerson" + } + ] +}