diff --git a/v1/self-update-versions.json b/v1/self-update-versions.json new file mode 100644 index 0000000..279b9f6 --- /dev/null +++ b/v1/self-update-versions.json @@ -0,0 +1,56 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://example.com/versions-schema.json", + "title": "Versions Schema", + "description": "Schema for versions list for PHPCQ self-update", + "type": "object", + "properties": { + "updated": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last update" + }, + "versions": { + "type": "array", + "description": "List of available versions", + "items": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version number following the semver standard" + }, + "phar": { + "type": "string", + "description": "File path of the phar file relative to the versions.json" + }, + "signature": { + "type": [ "string", "null" ], + "description": "File path of the signature file relative to the versions.json" + }, + "requirements": { + "type": "object", + "description": "Abhängigkeiten der Version", + "properties": { + "php": { + "type": "string", + "description": "PHP requirement" + } + }, + "patternProperties": { + "^ext-[a-zA-Z0-9_-]+$": { + "type": "string", + "description": "PHP extension requirement" + } + }, + "additionalProperties": true + } + }, + "required": ["version", "phar", "signature", "requirements"], + "additionalProperties": false + } + } + }, + "required": ["updated", "versions"], + "additionalProperties": false +}