n8n/packages/nodes-base/nodes/Storyblok/StoryManagementDescription.ts
Jan 28b0c87136
Add Storyblok Node (#1125)
*  Add Storyblok node

* 🔨 Minor changes

*  Small improvements

*  Improvements

*  Prepare Storyblok Node for release

Co-authored-by: Tanay Pant <tanaypant@protonmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2020-11-04 10:53:33 +01:00

648 lines
12 KiB
TypeScript

import {
INodeProperties,
} from 'n8n-workflow';
export const storyManagementOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
},
},
options: [
// {
// name: 'Create',
// value: 'create',
// description: 'Create a story',
// },
{
name: 'Delete',
value: 'delete',
description: 'Delete a story',
},
{
name: 'Get',
value: 'get',
description: 'Get a story',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all stories',
},
{
name: 'Publish',
value: 'publish',
description: 'Publish a story',
},
{
name: 'Unpublish',
value: 'unpublish',
description: 'Unpublish a story',
},
],
default: 'get',
description: 'The operation to perform.',
},
] as INodeProperties[];
export const storyManagementFields = [
// /* -------------------------------------------------------------------------- */
// /* story:create */
// /* -------------------------------------------------------------------------- */
// {
// displayName: 'Space ID',
// name: 'space',
// type: 'options',
// typeOptions: {
// loadOptionsMethod: 'getSpaces',
// },
// default: '',
// required: true,
// displayOptions: {
// show: {
// source: [
// 'managementApi',
// ],
// resource: [
// 'story',
// ],
// operation: [
// 'create',
// ],
// },
// },
// description: 'The name of the space.',
// },
// {
// displayName: 'Name',
// name: 'name',
// type: 'string',
// default: '',
// required: true,
// displayOptions: {
// show: {
// source: [
// 'managementApi',
// ],
// resource: [
// 'story',
// ],
// operation: [
// 'create',
// ],
// },
// },
// description: 'The name you give this story.',
// },
// {
// displayName: 'Slug',
// name: 'slug',
// type: 'string',
// default: '',
// required: true,
// displayOptions: {
// show: {
// source: [
// 'managementApi',
// ],
// resource: [
// 'story',
// ],
// operation: [
// 'create',
// ],
// },
// },
// description: 'The slug/path you give this story.',
// },
// {
// displayName: 'JSON Parameters',
// name: 'jsonParameters',
// type: 'boolean',
// default: false,
// description: '',
// displayOptions: {
// show: {
// source: [
// 'managementApi',
// ],
// resource: [
// 'story',
// ],
// operation: [
// 'create',
// ],
// },
// },
// },
// {
// displayName: 'Additional Fields',
// name: 'additionalFields',
// type: 'collection',
// placeholder: 'Add Field',
// displayOptions: {
// show: {
// source: [
// 'managementApi',
// ],
// resource: [
// 'story',
// ],
// operation: [
// 'create',
// ],
// },
// },
// default: {},
// options: [
// {
// displayName: 'Content',
// name: 'contentUi',
// type: 'fixedCollection',
// description: 'Add Content',
// typeOptions: {
// multipleValues: false,
// },
// displayOptions: {
// show: {
// '/jsonParameters': [
// false,
// ],
// },
// },
// placeholder: 'Add Content',
// default: '',
// options: [
// {
// displayName: 'Content Data',
// name: 'contentValue',
// values: [
// {
// displayName: 'Component',
// name: 'component',
// type: 'options',
// typeOptions: {
// loadOptionsMethod: 'getComponents',
// loadOptionsDependsOn: [
// 'space',
// ],
// },
// default: '',
// },
// {
// displayName: 'Elements',
// name: 'elementUi',
// type: 'fixedCollection',
// description: 'Add Body',
// typeOptions: {
// multipleValues: true,
// },
// placeholder: 'Add Element',
// default: '',
// options: [
// {
// displayName: 'Element',
// name: 'elementValues',
// values: [
// {
// displayName: 'Component',
// name: 'component',
// type: 'options',
// typeOptions: {
// loadOptionsMethod: 'getComponents',
// loadOptionsDependsOn: [
// 'space',
// ],
// },
// default: '',
// },
// {
// displayName: 'Element Data',
// name: 'dataUi',
// type: 'fixedCollection',
// description: 'Add Data',
// typeOptions: {
// multipleValues: true,
// },
// placeholder: 'Add Data',
// default: '',
// options: [
// {
// displayName: 'Data',
// name: 'dataValues',
// values: [
// {
// displayName: 'Key',
// name: 'key',
// type: 'string',
// default: '',
// },
// {
// displayName: 'Value',
// name: 'value',
// type: 'string',
// default: '',
// },
// ],
// },
// ],
// },
// ],
// },
// ],
// },
// ],
// },
// ],
// },
// {
// displayName: 'Content (JSON)',
// name: 'contentJson',
// type: 'string',
// displayOptions: {
// show: {
// '/jsonParameters': [
// true,
// ],
// },
// },
// default: '',
// },
// {
// displayName: 'Parent ID',
// name: 'parentId',
// type: 'string',
// default: '',
// description: 'Parent story/folder numeric ID.',
// },
// {
// displayName: 'Path',
// name: 'path',
// type: 'string',
// default: '',
// description: 'Given real path, used in the preview editor.',
// },
// {
// displayName: 'Is Startpage',
// name: 'isStartpage',
// type: 'boolean',
// default: false,
// description: 'Is startpage of current folder.',
// },
// {
// displayName: 'First Published At',
// name: 'firstPublishedAt',
// type: 'dateTime',
// default: '',
// description: 'First publishing date.',
// },
// ],
// },
/* -------------------------------------------------------------------------- */
/* story:delete */
/* -------------------------------------------------------------------------- */
{
displayName: 'Space ID',
name: 'space',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getSpaces',
},
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'delete',
],
},
},
description: 'The name of the space.',
},
{
displayName: 'Story ID',
name: 'storyId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'delete',
],
},
},
description: 'Numeric ID of the story.',
},
/* -------------------------------------------------------------------------- */
/* story:get */
/* -------------------------------------------------------------------------- */
{
displayName: 'Space ID',
name: 'space',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getSpaces',
},
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'get',
],
},
},
description: 'The name of the space.',
},
{
displayName: 'Story ID',
name: 'storyId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'get',
],
},
},
description: 'Numeric ID of the story.',
},
/* -------------------------------------------------------------------------- */
/* story:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Space ID',
name: 'space',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getSpaces',
},
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'getAll',
],
},
},
description: 'The name of the space',
},
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'getAll',
],
},
},
default: false,
description: 'Returns a list of your user contacts.',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'getAll',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 50,
description: 'How many results to return.',
},
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'getAll',
],
},
},
options: [
{
displayName: 'Starts With',
name: 'starts_with',
type: 'string',
default: '',
description: 'Filter by slug.',
},
],
},
/* -------------------------------------------------------------------------- */
/* story:publish */
/* -------------------------------------------------------------------------- */
{
displayName: 'Space ID',
name: 'space',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getSpaces',
},
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'publish',
],
},
},
description: 'The name of the space.',
},
{
displayName: 'Story ID',
name: 'storyId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'publish',
],
},
},
description: 'Numeric ID of the story.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'publish',
],
},
},
default: {},
options: [
{
displayName: 'Release ID',
name: 'releaseId',
type: 'string',
default: '',
description: 'Numeric ID of release.',
},
{
displayName: 'Language',
name: 'language',
type: 'string',
default: '',
description: 'Language code to publish the story individually (must be enabled in the space settings).',
},
],
},
/* -------------------------------------------------------------------------- */
/* story:unpublish */
/* -------------------------------------------------------------------------- */
{
displayName: 'Space ID',
name: 'space',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getSpaces',
},
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'unpublish',
],
},
},
description: 'The name of the space.',
},
{
displayName: 'Story ID',
name: 'storyId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
source: [
'managementApi',
],
resource: [
'story',
],
operation: [
'unpublish',
],
},
},
description: 'Numeric ID of the story.',
},
] as INodeProperties[];