diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-02-08 16:07:10 +0100 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-02-09 13:34:46 +0100 |
commit | c72c8438875d20b156d22d975523a19bbb407d95 (patch) | |
tree | 5645719cd926b80a4c736e65587818249cde4fed /api_source_description-1.schema.json | |
parent | ca1de2ed4a69a71f2f75552ade693d04ea1baa85 (diff) | |
download | hydrilla-json-schemas-c72c8438875d20b156d22d975523a19bbb407d95.tar.gz hydrilla-json-schemas-c72c8438875d20b156d22d975523a19bbb407d95.zip |
refactor some definitions into a separate file and add schemas for API endpoints
Diffstat (limited to 'api_source_description-1.schema.json')
-rw-r--r-- | api_source_description-1.schema.json | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/api_source_description-1.schema.json b/api_source_description-1.schema.json new file mode 100644 index 0000000..bb3784f --- /dev/null +++ b/api_source_description-1.schema.json @@ -0,0 +1,61 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://hydrilla.koszko.org/api_source_description-1.schema.json", + "title": "Source description", + "description": "Built description of a Hydrilla source package", + "type": "object", + "required": [ + "api_schema_version", + "source_name", + "source_copyright", + "source_archives", + "upstream_url", + "definitions" + ], + "properties": { + "api_schema_version": { + "$ref": "./common_definitions-1.schema.json#/definitions/schema_version" + }, + "source_name": { + "$ref": "./common_definitions-1.schema.json#/definitions/source_name" + }, + "source_copyright": { + "description": "Which files indicate license terms of the source package", + "$ref": "./common_definitions-1.schema.json#/definitions/file_ref_list_sha256" + }, + "source_archives": { + "description": "What archive extensions are available for this package's sources", + "type": "object", + "required": ["zip"], + "additionalProperties": { + "description": "What is the SHA256 sum of given source archive", + "type": "object", + "required": ["sha256"], + "properties": { + "sha256": { + "$ref": "./common_definitions-1.schema.json#/definitions/sha256" + } + } + }, + "examples": [{ + "zip": { + "sha256": "688461da362ffe2fc8e85db73e709a5356d41c8aeb7d1eee7170c64ee21dd2a2" + } + }] + }, + "upstream_url": { + "description": "Where this software/work initially comes from", + "type": "string" + }, + "comment": { + "$ref": "./common_definitions-1.schema.json#/definitions/comment" + }, + "definitions": { + "description": "References to site resources and pattern->payload mappings", + "type": "array", + "items": { + "$ref": "./common_definitions-1.schema.json#/definitions/typed_item_ref" + } + } + } +} |