if the manifests are arrays, we can speed things up by indexing separately and depend upon the order of the dictionary. feat(manifest): add indexer to speed things, up we're now indexing manifest items feat(manifest): add publishing order optimizer since we shouldn't be trusting the order of the provided pages manifest, we've implemented sorting, so that the ancestry of pages is reflected in the order of publishing.
98 lines
3.3 KiB
JSON
Executable file
98 lines
3.3 KiB
JSON
Executable file
{
|
|
"$id": "https://spec.victory-k.it/psconfluencepublisher.json",
|
|
"x-authors": [
|
|
"theodor.rodweil@victory-k.it"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"pages": {
|
|
"type": "array",
|
|
"item": {
|
|
"$ref": "#/definitions/page"
|
|
}
|
|
},
|
|
"attachments": {
|
|
"type": "array",
|
|
"item": {
|
|
"$ref": "#/definitions/attachment"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"pages",
|
|
"attachments"
|
|
],
|
|
"definitions": {
|
|
"page": {
|
|
"type": "object",
|
|
"description": "Local Confluence page/container attachment metadata",
|
|
"properties": {
|
|
"Title": {
|
|
"type": "string",
|
|
"description": "Title of page"
|
|
},
|
|
"Id": {
|
|
"type": "string",
|
|
"description": "Id of attachment defined by Confluence instance. The id is generated after the publishing of a page."
|
|
},
|
|
"Version": {
|
|
"type": "string"
|
|
},
|
|
"Hash": {
|
|
"type": "string",
|
|
"description": "SHA512 hexadecimal content hash value"
|
|
},
|
|
"Ref": {
|
|
"type": "string",
|
|
"description": "Local filesystem reference/path"
|
|
},
|
|
"AncestorTitle": {
|
|
"type": "string",
|
|
"description": "Title of Confluence page this page is a child of. The title must be a property key of the pages object."
|
|
}
|
|
},
|
|
"required": [
|
|
"Title",
|
|
"Ref"
|
|
]
|
|
},
|
|
"attachment": {
|
|
"type": "object",
|
|
"description": "Local Confluence page/container attachment metadata",
|
|
"properties": {
|
|
"Name": {
|
|
"type": "string",
|
|
"description": "name of attachment, which must be unique within the container page"
|
|
},
|
|
"Id": {
|
|
"type": "string",
|
|
"description": "Id of attachment defined by Confluence instance. The id is generated after the publishing of an attachment."
|
|
},
|
|
"Hash": {
|
|
"type": "string",
|
|
"description": "SHA512 hexadecimal attachment content hash value"
|
|
},
|
|
"MimeType": {
|
|
"type": "string",
|
|
"description": "MIME type of attachment",
|
|
"default": "binary/octet-stream"
|
|
},
|
|
"ContainerPageTitle": {
|
|
"type": "string",
|
|
"description": "Title of Confluence page this attachment is contained in. The title must be a property key of the pages object."
|
|
},
|
|
"Ref": {
|
|
"type": "string",
|
|
"description": "Local filesystem reference/path"
|
|
}
|
|
},
|
|
"required": [
|
|
"Name",
|
|
"Hash",
|
|
"MimeType",
|
|
"ContainerPageTitle",
|
|
"Ref"
|
|
]
|
|
}
|
|
}
|
|
}
|