{ "type": "object", "properties": { "applications": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "name": { "type": "string", "maxLength": 256 } }, "required": [ "id", "name" ] } }, "applicationRoles": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "name": { "type": "string", "maxLength": 256 }, "applicationId": { "$ref": "#/$defs/guid" } }, "required": [ "id", "name", "applicationId" ] } }, "functionalRoles": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "name": { "type": "string", "maxLength": 256 } }, "required": [ "id", "name" ] } }, "entityTypes": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "entityTypeId": { "type": "string", "maxLength": 256 }, "type": { "type": "string", "maxLength": 256 }, "name": { "type": "string", "maxLength": 256 }, "uri": { "type": [ "string", "null" ], "format": "uri" } }, "required": [ "id", "entityTypeId", "type", "name" ] } }, "domains": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "name": { "type": "string", "maxLength": 256 }, "description": { "type": "string", "maxLength": 256 }, "entityTypeIds": { "type": "array", "items": { "$ref": "#/$defs/guid" } } }, "required": [ "id", "name", "description", "entityTypeIds" ] } }, "mappings": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/$defs/guid" }, "functionalRoleId": { "$ref": "#/$defs/guid" }, "domainId": { "type": [ "string", "null" ], "format": "uuid" }, "applicationRoleId": { "$ref": "#/$defs/guid" }, "isAllEntityTypes": { "type": "boolean" } }, "required": [ "id", "functionalRoleId", "applicationRoleId" ], "if": { "properties": { "isAllEntityTypes": { "const": true } }, "required": [ "isAllEntityTypes" ] }, "then": { "properties": { "domainId": { "type": "string", "format": "uuid", "const": null } } } } } }, "required": [ "applications", "applicationRoles", "functionalRoles", "entityTypes", "domains", "mappings" ], "$defs": { "guid": { "type": "string", "format": "uuid" } } }