diff --git a/schemas/navroute-v1.0.json b/schemas/navroute-v1.0.json new file mode 100644 index 0000000..98a4ade --- /dev/null +++ b/schemas/navroute-v1.0.json @@ -0,0 +1,75 @@ +{ + "$schema" : "http://json-schema.org/draft-04/schema#", + "id" : "https://eddn.edcd.io/schemas/navroute/1#", + "type" : "object", + "additionalProperties" : false, + "required": [ "$schemaRef", "header", "message" ], + "properties": { + "$schemaRef": { + "type" : "string" + }, + "header": { + "type" : "object", + "additionalProperties" : true, + "required" : [ "uploaderID", "softwareName", "softwareVersion" ], + "properties" : { + "uploaderID": { + "type" : "string" + }, + "softwareName": { + "type" : "string" + }, + "softwareVersion": { + "type" : "string" + }, + "gatewayTimestamp": { + "type" : "string", + "format" : "date-time", + "description" : "Timestamp upon receipt at the gateway. If present, this property will be overwritten by the gateway; submitters are not intended to populate this property." + } + } + }, + "message": { + "type" : "object", + "additionalProperties" : false, + "required" : [ "timestamp", "event", "Route" ], + "properties" : { + "timestamp": { + "type" : "string", + "format" : "date-time" + }, + "event": { + "enum" : [ "Route" ] + }, + "Route": { + "type" : "array", + "description" : "Route generated by in game plotter", + "items" : { + "type" : "object", + "additionalProperties" : false, + "required" : [ "StarSystem", "SystemAddress", "StarPos", "StarClass" ], + "properties" : { + "StarSystem": { + "type" : "string", + "minLength" : 1 + }, + "StarPos": { + "type" : "array", + "items" : { "type": "number" }, + "minItems" : 3, + "maxItems" : 3 + }, + "SystemAddress": { + "type" : "integer" + }, + "StarClass": { + "type" : "string", + "minLength" : 1 + } + } + } + } + } + } + } +}