diff --git a/config_schema/camera.schema.json b/config_schema/camera.schema.json index cc5eaeb..a50ab80 100644 --- a/config_schema/camera.schema.json +++ b/config_schema/camera.schema.json @@ -52,7 +52,11 @@ "description": "A Camera responding to a Rest API." } }, - "$ref": "rest.schema.json" + "allOf": [ + { + "$ref": "rest.schema.json" + } + ] }, { "properties": { diff --git a/config_schema/config.schema.json b/config_schema/config.schema.json index 4ffbf46..5ab4931 100644 --- a/config_schema/config.schema.json +++ b/config_schema/config.schema.json @@ -5,12 +5,24 @@ "type": "object", "properties": { "camera": { - "$ref": "camera.schema.json", - "description": "The main camera of the setup." + "allOf": [ + { + "$ref": "camera.schema.json" + }, + { + "description": "The main camera of the setup." + } + ] }, "stage": { - "$ref": "stage.schema.json", - "description": "The main stage of the setup." + "allOf": [ + { + "$ref": "stage.schema.json" + }, + { + "description": "The main stage of the setup." + } + ] }, "lasers": { "type": "array", diff --git a/config_schema/laser.schema.json b/config_schema/laser.schema.json index 5595fa0..ddeb2c1 100644 --- a/config_schema/laser.schema.json +++ b/config_schema/laser.schema.json @@ -11,6 +11,11 @@ ], "oneOf": [ { + "allOf": [ + { + "$ref": "serial.schema.json" + } + ], "properties": { "type": { "const": "PDM", @@ -25,7 +30,6 @@ "description": "The index of the PDM device" } }, - "$ref": "serial.schema.json", "required": [ "num" ] diff --git a/config_schema/stage.schema.json b/config_schema/stage.schema.json index cfb8d07..b89554c 100644 --- a/config_schema/stage.schema.json +++ b/config_schema/stage.schema.json @@ -3,7 +3,6 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Stage", "type": "object", - "description": "A Stage.", "allOf": [ { "$ref": "instrument.schema.json" @@ -22,21 +21,34 @@ }, "oneOf": [ { - "properties": { - "type": { - "const": "Corvus", - "description": "Corvus Stage." + "allOf": [ + { + "properties": { + "type": { + "const": "Corvus", + "description": "A Corvus Stage." + } + } + }, + { + "$ref": "serial.schema.json" } - }, - "$ref": "serial.schema.json" + ] }, { - "properties": { - "type": { - "const": "CNC", - "description": "CNC Stage." + "allOf": [ + { + "properties": { + "type": { + "const": "CNC", + "description": "A CNC Stage." + } + } + }, + { + "$ref": "serial.schema.json" } - } + ] }, { "properties": { @@ -53,7 +65,11 @@ "description": "A Stage responding to a Rest API." } }, - "$ref": "rest.schema.json" + "allOf": [ + { + "$ref": "rest.schema.json" + } + ] } ], "required": [