Initial schema draft

This commit is contained in:
Joseph Abbey
2024-01-12 18:43:04 +00:00
parent 4665d144c5
commit cec10bb89a

View File

@ -15,13 +15,27 @@
"name": { "title": "Your familiar name", "type": "string" }, "name": { "title": "Your familiar name", "type": "string" },
"type": { "type": {
"title": "Menu item type", "title": "Menu item type",
"description": "One of 'tap, 'toggle' or 'group'.", "description": "One of 'tap', 'template', 'toggle' or 'group'.",
"const": "toggle" "const": "toggle"
} }
}, },
"required": ["entity", "name", "type"], "required": ["entity", "name", "type"],
"additionalProperties": false "additionalProperties": false
}, },
"template": {
"type": "object",
"properties": {
"name": { "title": "Your familiar name", "type": "string" },
"content": { "title": "What to display (template)", "type": "string" },
"type": {
"title": "Menu item type",
"description": "One of 'tap', 'template', 'toggle' or 'group'.",
"const": "template"
}
},
"required": ["name", "content", "type"],
"additionalProperties": false
},
"tap": { "tap": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -29,7 +43,7 @@
"name": { "title": "Your familiar name", "type": "string" }, "name": { "title": "Your familiar name", "type": "string" },
"type": { "type": {
"title": "Menu item type", "title": "Menu item type",
"description": "One of 'tap, 'toggle' or 'group'.", "description": "One of 'tap', 'template', 'toggle' or 'group'.",
"const": "tap" "const": "tap"
}, },
"service": { "service": {
@ -54,7 +68,7 @@
"title": { "type": "string" }, "title": { "type": "string" },
"type": { "type": {
"title": "Menu item type", "title": "Menu item type",
"description": "One of 'tap, 'toggle' or 'group'.", "description": "One of 'tap', 'template', 'toggle' or 'group'.",
"const": "group" "const": "group"
}, },
"items": { "$ref": "#/$defs/items" } "items": { "$ref": "#/$defs/items" }
@ -66,8 +80,9 @@
"type": "array", "type": "array",
"items": { "items": {
"oneOf": [ "oneOf": [
{ "$ref": "#/$defs/toggle" },
{ "$ref": "#/$defs/tap" }, { "$ref": "#/$defs/tap" },
{ "$ref": "#/$defs/template" },
{ "$ref": "#/$defs/toggle" },
{ "$ref": "#/$defs/menu" } { "$ref": "#/$defs/menu" }
] ]
} }