jsonsystems / json-schema

JSONSchema.Net Public Repository
Apache License 2.0
663 stars 64 forks source link

Support to Create Config-UI-X config.schema.json #81

Closed donavanbecker closed 3 years ago

donavanbecker commented 4 years ago

It would be nice to have more customization that would help with creating the config.shema.json file for Config-UI-X.

jackwootton commented 4 years ago

Hi @donavanbecker - what kind of customization do you need for this?

donavanbecker commented 4 years ago

If we were wanting to get this json

{
    "name": "Test"
}

Out of the use of schema, this is the basic schema that we would use:

{
  "pluginAlias": "Camera-ffmpeg",
  "pluginType": "platform",
  "singular": false,
  "headerDisplay": "Optional content to display above the plugin config. Supports markdown.",
  "footerDisplay": "Optional content to display below the plugin config. Supports markdown.",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "required": true
      }
    }
  },
  "form": null,
  "display": null
}

On jsonschema.net it would output it as this

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "type": "object",
    "title": "The root schema",
    "required": [],
    "additionalProperties": false,
    "properties": {
        "name": {
            "type": "string",
            "title": "The name schema"
        }
    }
}

so being able to add a setting to change the top part of the schema, or something that could be click that would be defaulted for homebridge config.schema.json to output the same info as we have on the top would be awesome.