@viewdo/dxp-story-cli
Version:
DXP Story Management CLI
430 lines (428 loc) • 15 kB
JSON
{
"$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"
}