Skip to content

Instantly share code, notes, and snippets.

@geakstr
Created December 29, 2016 19:05
Show Gist options
  • Save geakstr/b231ee2655085ad9cbb116fdde1f4fef to your computer and use it in GitHub Desktop.
Save geakstr/b231ee2655085ad9cbb116fdde1f4fef to your computer and use it in GitHub Desktop.
{
"type": "object",
"title": "Archy Brain: Results schema",
"properties": {
"Separator": {
"$ref": "#/definitions/Separator"
},
"Media": {
"$ref": "#/definitions/Media"
},
"Counter": {
"$ref": "#/definitions/Counter"
},
"CardHeader": {
"$ref": "#/definitions/CardHeader"
},
"CardFooter": {
"$ref": "#/definitions/CardFooter"
},
"Card": {
"$ref": "#/definitions/Card"
}
},
"definitions": {
"uri": {
"type": "string",
"title": "uri attribute"
},
"updatedAt": {
"format": "date-time"
},
"title": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"timestamp": {
"format": "date-time"
},
"subtitle": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/component"
},
"additionalItems": false
},
"linkTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"meta": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"subscribe": {
"type": "boolean"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"args": {
"type": "object"
},
"address": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"labels": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"color": {
"type": "string",
"pattern": "^#([a-fA-F0-9]{3}){1,2}$"
}
},
"additionalProperties": false
}
},
"imageUrl": {
"type": "string"
},
"id": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"footnote": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"createdAt": {
"format": "date-time"
},
"counter": {
"type": [
"boolean",
"integer",
"null",
"number",
"string"
]
},
"component": {
"oneOf": [
{
"$ref": "#/definitions/Card"
},
{
"$ref": "#/definitions/CardFooter"
},
{
"$ref": "#/definitions/CardHeader"
},
{
"$ref": "#/definitions/Counter"
},
{
"$ref": "#/definitions/Media"
},
{
"$ref": "#/definitions/Separator"
}
]
},
"Separator": {
"type": "object",
"title": "Separator",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"Separator"
]
},
"children": {
"type": "null"
},
"attributes": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
},
"Media": {
"type": "object",
"title": "Media",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"Media"
]
},
"children": {
"type": "null"
},
"attributes": {
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"imageUrl": {
"$ref": "#/definitions/imageUrl"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"Counter": {
"type": "object",
"title": "CardCounter",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"CardCounter"
]
},
"children": {
"type": "null"
},
"attributes": {
"type": "object",
"properties": {
"counter": {
"$ref": "#/definitions/counter"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"CardHeader": {
"type": "object",
"title": "CardHeader",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"CardHeader"
]
},
"children": {
"type": "null"
},
"attributes": {
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"subtitle": {
"$ref": "#/definitions/subtitle"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"CardFooter": {
"type": "object",
"title": "CardFooter",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"CardFooter"
]
},
"children": {
"type": "null"
},
"attributes": {
"type": "object",
"properties": {
"labels": {
"$ref": "#/definitions/labels"
},
"footnote": {
"$ref": "#/definitions/footnote"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"Card": {
"type": "object",
"title": "Card",
"required": [
"elementName",
"attributes",
"children"
],
"properties": {
"elementName": {
"enum": [
"Card"
]
},
"children": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/Separator"
}
]
}
},
"attributes": {
"type": "object",
"properties": {
"uri": {
"$ref": "#/definitions/uri"
},
"updatedAt": {
"$ref": "#/definitions/updatedAt"
},
"timestamp": {
"$ref": "#/definitions/timestamp"
},
"linkTo": {
"$ref": "#/definitions/linkTo"
},
"id": {
"$ref": "#/definitions/id"
},
"createdAt": {
"$ref": "#/definitions/createdAt"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment