UNPKG

@viewdo/dxp-story-cli

Version:

DXP Story Management CLI

240 lines (238 loc) 7.98 kB
{ "$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" }