summaryrefslogtreecommitdiff
path: root/api_source_description-1.schema.json
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-02-08 16:07:10 +0100
committerWojtek Kosior <koszko@koszko.org>2022-02-09 13:34:46 +0100
commitc72c8438875d20b156d22d975523a19bbb407d95 (patch)
tree5645719cd926b80a4c736e65587818249cde4fed /api_source_description-1.schema.json
parentca1de2ed4a69a71f2f75552ade693d04ea1baa85 (diff)
downloadhydrilla-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.json61
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"
+ }
+ }
+ }
+}