86 lines
2.8 KiB
JSON
86 lines
2.8 KiB
JSON
|
{
|
||
|
"$schema": "http://json-schema.org/schema#",
|
||
|
"$id": "Stream",
|
||
|
"definitions": {
|
||
|
"file": {
|
||
|
"type": "object",
|
||
|
"description": "A stream coming from a file",
|
||
|
"properties": {
|
||
|
"description": {
|
||
|
"type": "string",
|
||
|
"description": "A user friendly description of the stream"
|
||
|
},
|
||
|
"ftype": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"example": {
|
||
|
"type": "string",
|
||
|
"description": "A example of the stream. Could be a png file, text example, etc."
|
||
|
},
|
||
|
"location": {
|
||
|
"description": "System path to the file",
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"url": {
|
||
|
"type": "object",
|
||
|
"description": "A URL pointing to some external resource",
|
||
|
"properties": {
|
||
|
"description": {
|
||
|
"type": "string",
|
||
|
"description": "A user friendly description of the resource"
|
||
|
},
|
||
|
"protocol": {
|
||
|
"type": "array",
|
||
|
"description": "The protocol used to connect to the resource",
|
||
|
"$comment": "Probably just using a enum will not be enough. Some protocols could require extra stuff (like certificates, tokens, etc.)",
|
||
|
"items": {
|
||
|
"type": "string",
|
||
|
"enum": [
|
||
|
"ftp",
|
||
|
"http",
|
||
|
"https",
|
||
|
"ftps",
|
||
|
"rstp"
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"example": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"location": {
|
||
|
"type": "string",
|
||
|
"description": "The endpoint itself"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"name": {
|
||
|
"description": "Name of the stream that acts as identifier",
|
||
|
"type": "string",
|
||
|
"$comment": "Must have some regex"
|
||
|
},
|
||
|
"feature": {
|
||
|
"description": "A similar stream could have different features. Describing the features of the stream assures the correct results when processing it",
|
||
|
"type": "object"
|
||
|
},
|
||
|
"format": {
|
||
|
"oneOf": [
|
||
|
{
|
||
|
"$ref": "#/definitions/file"
|
||
|
},
|
||
|
{
|
||
|
"$ref": "#/definitions/url"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"required": [
|
||
|
"name",
|
||
|
"feature",
|
||
|
"format"
|
||
|
]
|
||
|
}
|