@viewdo/dxp-story-cli
Version:
DXP Story Management CLI
240 lines (238 loc) • 7.98 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"defaultProperties": [],
"definitions": {
"CDNConfiguration": {
"defaultProperties": [],
"properties": {
"assets_folder": {
"description": "The folder that will hold CDN assets for each org and story.",
"type": "string"
},
"bucket": {
"description": "The GCP bucket. Leave this blank to use 'viewdo-static'.",
"type": "string"
},
"enabled": {
"default": false,
"description": "If enabled, the /assets folder in each story will be uploaded\nto the configured GCP bucket when the PUSH command is called.\n\nNote: If the service-account.json file needed to authenticate\nagainst GCP is missing, the push command will fail.",
"type": "boolean"
},
"rootUrl": {
"description": "Configure a vanity URL if you don't want to use the GCP URL for the\nbucket. If the bucket is 'viewdo-static', leave this field blank\nto use 'https://static.view.do'",
"pattern": "^https:\\/\\/[\\w\\d\\.\\-\\/]*[^\\/]$",
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"EpisodeAssetConfiguration": {
"defaultProperties": [],
"properties": {
"css_file": {
"type": [
"string",
"null"
]
},
"js_file": {
"type": [
"string",
"null"
]
},
"json_file": {
"type": [
"string",
"null"
]
},
"key": {
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"OrganizationAssetConfiguration": {
"defaultProperties": [],
"description": "Organization asset locations for synchronization",
"properties": {
"flashboard_css_file": {
"type": [
"string",
"null"
]
},
"key": {
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"type": "string"
},
"scripts_html_file": {
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"StoryAssetConfiguration": {
"defaultProperties": [],
"description": "Story asset locations for synchronization",
"properties": {
"css_file": {
"type": [
"string",
"null"
]
},
"email_templates": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"defaultProperties": [],
"type": "object"
},
{
"type": "null"
}
]
},
"episodes": {
"anyOf": [
{
"items": {
"$ref": "#/definitions/EpisodeAssetConfiguration"
},
"type": "array"
},
{
"type": "null"
}
]
},
"html_file": {
"type": [
"string",
"null"
]
},
"intro_html_file": {
"type": [
"string",
"null"
]
},
"js_file": {
"type": [
"string",
"null"
]
},
"json_file": {
"type": [
"string",
"null"
]
},
"key": {
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"type": "string"
},
"organization_key": {
"type": "string"
},
"text_templates": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"defaultProperties": [],
"type": "object"
},
{
"type": "null"
}
]
},
"url": {
"type": "string"
},
"vanity_url": {
"type": "string"
}
},
"required": [
"key",
"name",
"organization_key"
],
"type": "object"
}
},
"description": "DXP ASSET CONFIG:\n-----------------------------------------------------\nThis file defines a mapping between file-bases assets and their API versions hosted in the DXP platform.",
"properties": {
"apiVersion": {
"default": "api.view.do/v4/admin",
"description": "API version, model location (read-only)",
"type": "string"
},
"cdn": {
"$ref": "#/definitions/CDNConfiguration",
"description": "Configure automatic CDN uploads to GCP buckets."
},
"kind": {
"default": "DXP",
"description": "DXP model-type (read-only)",
"type": "string"
},
"organizations": {
"default": [],
"description": "A list of organization asset configurations. These files will be synced with the assets on the platform on 'push' and 'pull'.",
"items": {
"$ref": "#/definitions/OrganizationAssetConfiguration"
},
"type": "array"
},
"stories": {
"default": [],
"description": "A list of story asset configurations. These files will be synced with the assets on the platform on 'push' and 'pull'.",
"items": {
"$ref": "#/definitions/StoryAssetConfiguration"
},
"type": "array"
}
},
"required": [
"apiVersion",
"cdn",
"kind",
"organizations",
"stories"
],
"type": "object"
}