krona-staff/schemas/settings.schema.schema.json

52 lines
1.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": ["groups"],
"properties": {
"$schema": { "type": "string" },
"groups": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["key", "label", "fields"],
"properties": {
"key": { "type": "string", "pattern": "^[a-z][a-z0-9_]*$" },
"label": { "type": "string" },
"fields": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["key", "type", "label"],
"properties": {
"key": { "type": "string", "pattern": "^[a-z][a-z0-9_]*$" },
"type": {
"enum": [
"text",
"number",
"boolean",
"date",
"datetime",
"money",
"select",
"multiselect",
"relation",
"email",
"phone",
"url",
"json"
]
},
"label": { "type": "string" },
"required": { "type": "boolean" },
"description": { "type": "string" }
}
}
}
}
}
}
}
}