UNPKG

@viewdo/dxp-story-cli

Version:

DXP Story Management CLI

430 lines (428 loc) 15 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "defaultProperties": [], "definitions": { "DataPoint": { "defaultProperties": [], "properties": { "attributes": { "additionalProperties": { "type": "string" }, "defaultProperties": [], "description": "An whose name and values are assigned to the underlying HTML input.", "type": "object" }, "dataTree": { "anyOf": [ { "$ref": "#/definitions/DataTree", "description": "An object that describes a set of cascading options." }, { "type": "null" } ], "default": null }, "description": { "description": "The description to show along with the name when presenting this on a form.", "type": "string" }, "display": { "$ref": "#/definitions/DisplayType", "description": "The display-type when presenting this input on a page" }, "key": { "description": "The input key.", "pattern": "^[A-Za-z0-9-_]{1,30}$", "type": "string" }, "name": { "description": "The input name (shown on DXP forms)", "type": "string" }, "options": { "default": [], "description": "If the display-type is Options, these are the list of values the user will select from.", "items": { "$ref": "#/definitions/OptionItem" }, "type": "array" }, "required": { "default": false, "description": "Mark this true to force this value be set when creating an experience.", "type": "boolean" }, "tip": { "description": "The tooltip to display when presenting on a form.", "type": [ "string", "null" ] }, "value": { "description": "This is the default value if no other value is input.", "type": [ "string", "number", "boolean" ] } }, "required": [ "display", "key", "name", "required" ], "type": "object" }, "DataTree": { "defaultProperties": [], "properties": { "isStatic": { "default": false, "description": "Should all of the lists be visible? Defaults to hiding until needed.", "type": "boolean" }, "items": { "default": [], "description": "The data tree object of the cascading lists. We should have a tree of values as deep as the label-count.\nThis level is the options for the first label.", "items": { "$ref": "#/definitions/DataTreeItem" }, "type": "array" }, "labels": { "default": [], "description": "These are the top level labels. Three labels means, three select lists and the items below must also have three sets.", "items": { "type": "string" }, "type": "array" } }, "required": [ "isStatic", "items", "labels" ], "type": "object" }, "DataTreeItem": { "defaultProperties": [], "properties": { "items": { "items": { "$ref": "#/definitions/DataTreeItem" }, "type": "array" }, "key": { "description": "The data key for this segment of the composite input.", "pattern": "^[A-Za-z0-9-_~]{1,30}$", "type": "string" }, "name": { "description": "The value of this element", "type": "string" } }, "required": [ "items", "key", "name" ], "type": "object" }, "DisplayType": { "enum": [ "CascadingOptions", "Checkbox", "Color", "ComboBox", "Date", "DateTime", "Email", "Html", "Image", "Json", "Number", "Options", "Password", "RadioGroup", "Secret", "Telephone", "TextArea", "TextLarge", "TextMedium", "TextShort", "Toggle", "Unknown", "Url" ], "type": "string" }, "FlashboardConfiguration": { "defaultProperties": [], "description": "DXP ORGANIZATION FLASHBOARD CONFIG:\n-----------------------------------------------------\nThis file defines configurable organization flashboard settings hosted in the DXP platform.", "properties": { "key": { "description": "The key for this model in the DXP platform (read-only)", "pattern": "^[A-Za-z0-9-_]{1,30}$", "type": "string" }, "metrics": { "default": [], "items": { "$ref": "#/definitions/Metric" }, "type": "array" }, "name": { "description": "The name of this flashboard", "type": "string" } }, "required": [ "key", "name" ], "type": "object" }, "KpiSourceType": { "enum": [ "Standard", "Custom", "Link", "StoryEvent", "ExternalEvent" ], "type": "string" }, "Metric": { "defaultProperties": [], "properties": { "kpiKey": { "type": "string" }, "order": { "type": "number" }, "storyKey": { "type": "string" }, "type": { "$ref": "#/definitions/KpiSourceType" } }, "required": [ "kpiKey", "order", "storyKey", "type" ], "type": "object" }, "OptionItem": { "defaultProperties": [], "properties": { "display": { "description": "Option display" }, "value": { "description": "Option value" } }, "required": [ "display", "value" ], "type": "object" }, "OrganizationEntity": { "defaultProperties": [], "properties": { "data": { "additionalProperties": true, "description": "The data map of the values of the dataPoints defined at the organization.", "properties": {}, "type": "object" }, "key": { "description": "Entity key (used in the experience and preview model)", "pattern": "^[A-Za-z0-9-_]{1,30}$", "type": "string" }, "name": { "description": "Entity name", "type": "string" } }, "required": [ "data", "key", "name" ], "type": "object" }, "OrganizationService": { "defaultProperties": [], "properties": { "data": { "additionalProperties": true, "description": "Services parameters for actions across all stories", "properties": {}, "type": "object" }, "key": { "description": "Service key used in actions for all org stories", "pattern": "^[A-Za-z0-9-_]{1,30}$", "type": "string" }, "serviceProvider": { "$ref": "#/definitions/ServiceProviderType", "description": "Services provider type" } }, "required": [ "data", "key", "serviceProvider" ], "type": "object" }, "OrganizationSuppressionList": { "defaultProperties": [], "properties": { "key": { "description": "SuppressionList unique key used for adding and removing values (e.g. email address)", "pattern": "^[A-Za-z0-9-_]{1,16}$", "type": "string" }, "name": { "additionalProperties": true, "description": "SuppressionList User Friendly Name", "properties": {}, "type": "object" }, "storyKeys": { "description": "Stories that this list should suppress contact events (e.g. send emails). None specified will apply this list to all organization stories.", "items": { "type": "string" }, "type": "array" } }, "required": [ "key", "name", "storyKeys" ], "type": "object" }, "ServiceProviderType": { "enum": [ "DXP", "SMTP", "HipChat", "Slack", "Postmark", "LeadExec", "Twilio", "SparkPost", "SendGrid" ], "type": "string" } }, "description": "DXP ORGANIZATION CONFIG:\n-----------------------------------------------------\nThis file defines configurable organization settings hosted in the DXP platform.", "properties": { "apiVersion": { "default": "api.view.do/v1", "description": "API version, model location (read-only)", "type": "string" }, "dataPoints": { "default": [], "description": "These are extra data points that can live with the organization and be used across stories.\nNote that they can differ by child entities.", "items": { "$ref": "#/definitions/DataPoint" }, "type": "array" }, "entities": { "default": [], "description": "Organizations can have sub-divisions that have alternative data-points. You can define child entities\nhere along with any data changes.", "items": { "$ref": "#/definitions/OrganizationEntity" }, "type": "array" }, "flashboards": { "default": null, "description": "These are the flashboards configured for the organization. Note** the metric keys must be tied to an\nexisting story tied to the organization.", "items": { "$ref": "#/definitions/FlashboardConfiguration" }, "type": "array" }, "key": { "description": "The key for this model in the DXP platform (read-only)", "pattern": "^[A-Za-z0-9-_]{1,30}$", "type": "string" }, "kind": { "default": "Organization", "description": "DXP model-type (read-only)", "type": "string" }, "name": { "description": "The name of this organization", "type": "string" }, "scheduledDataSync": { "default": false, "type": "boolean" }, "secrets": { "default": [], "description": "These are secrets available to this organization. They can be used in Service configurations for example.", "items": { "type": "string" }, "type": "array" }, "services": { "default": [], "description": "These are the services configured for the organization.\nThe keys here are what you use in the story.actions configuration.", "items": { "$ref": "#/definitions/OrganizationService" }, "type": "array" }, "suppressionLists": { "default": [], "description": "These are the services configured for the organization. These are read-only, as services must be\nconfigured in the administration app. The keys here are what you use in the story.actions configuration.", "items": { "$ref": "#/definitions/OrganizationSuppressionList" }, "type": "array" }, "url": { "description": "The URL for this organization", "type": "string" } }, "required": [ "apiVersion", "key", "kind", "name", "scheduledDataSync", "url" ], "type": "object" }