n8n/packages/nodes-base/nodes/Strapi/EntryDescription.ts
Iván Ovejero 6dcdb30bf4
refactor: Apply more nodelinting rules (#3324)
* ✏️ Alphabetize lint rules

* 🔥 Remove duplicates

*  Update `lintfix` script

* 👕 Apply `node-param-operation-without-no-data-expression` (#3329)

* 👕 Apply `node-param-operation-without-no-data-expression`

* 👕 Add exceptions

* 👕 Apply `node-param-description-weak` (#3328)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-value-duplicate` (#3331)

* 👕 Apply `node-param-description-miscased-json` (#3337)

* 👕 Apply `node-param-display-name-excess-inner-whitespace` (#3335)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-type-options-missing-from-limit` (#3336)

* Rule workig as intended

* ✏️ Uncomment rules

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-name-duplicate` (#3338)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-description-wrong-for-simplify` (#3334)

*  fix

*  exceptions

*  changed rule ignoring from file to line

* 👕 Apply `node-param-resource-without-no-data-expression` (#3339)

* 👕 Apply `node-param-display-name-untrimmed` (#3341)

* 👕 Apply `node-param-display-name-miscased-id` (#3340)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-resource-with-plural-option` (#3342)

* 👕 Apply `node-param-description-wrong-for-upsert` (#3333)

*  fix

*  replaced record with contact in description

*  fix

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-description-identical-to-name` (#3343)

* 👕 Apply `node-param-option-name-containing-star` (#3347)

* 👕 Apply `node-param-display-name-wrong-for-update-fields` (#3348)

* 👕 Apply `node-param-option-name-wrong-for-get-all` (#3345)

*  fix

*  exceptions

* 👕 Apply node-param-display-name-wrong-for-simplify (#3344)

* Rule working as intended

* Uncomented other rules

* 👕 Undo and add exceptions

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

*  Alphabetize lint rules

*  Restore `lintfix` script

Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
2022-05-20 23:47:24 +02:00

350 lines
6.9 KiB
TypeScript

import {
INodeProperties,
} from 'n8n-workflow';
export const entryOperations: INodeProperties[] = [
{
displayName: 'Operation',
name: 'operation',
noDataExpression: true,
type: 'options',
displayOptions: {
show: {
resource: [
'entry',
],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create an entry',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete an entry',
},
{
name: 'Get',
value: 'get',
description: 'Get an entry',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all entries',
},
{
name: 'Update',
value: 'update',
description: 'Update an entry',
},
],
default: 'get',
},
];
export const entryFields: INodeProperties[] = [
/* -------------------------------------------------------------------------- */
/* entry:create */
/* -------------------------------------------------------------------------- */
{
displayName: 'Content Type',
name: 'contentType',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'create',
],
},
},
description: 'Name of the content type',
},
{
displayName: 'Columns',
name: 'columns',
type: 'string',
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'create',
],
},
},
default: '',
placeholder: 'id,name,description',
description: 'Comma-separated list of the properties which should used as columns for the new rows',
},
/* -------------------------------------------------------------------------- */
/* entry:delete */
/* -------------------------------------------------------------------------- */
{
displayName: 'Content Type',
name: 'contentType',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'delete',
],
},
},
description: 'Name of the content type',
},
{
displayName: 'Entry ID',
name: 'entryId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'delete',
],
},
},
description: 'The ID of the entry to delete',
},
/* -------------------------------------------------------------------------- */
/* entry:get */
/* -------------------------------------------------------------------------- */
{
displayName: 'Content Type',
name: 'contentType',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'get',
],
},
},
description: 'Name of the content type',
},
{
displayName: 'Entry ID',
name: 'entryId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'get',
],
},
},
description: 'The ID of the entry to get',
},
/* -------------------------------------------------------------------------- */
/* entry:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Content Type',
name: 'contentType',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'getAll',
],
},
},
description: 'Name of the content type',
},
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'getAll',
],
},
},
default: false,
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'getAll',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 50,
description: 'Max number of results to return',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'getAll',
],
},
},
options: [
{
displayName: 'Publication State',
name: 'publicationState',
type: 'options',
options: [
{
name: 'Live',
value: 'live',
},
{
name: 'Preview',
value: 'preview',
},
],
default: '',
description: 'Only select entries matching the publication state provided',
},
{
displayName: 'Sort Fields',
name: 'sort',
type: 'string',
typeOptions: {
multipleValues: true,
multipleValueButtonText: 'Add Sort Field',
},
default: '',
placeholder: 'name:asc',
description: 'Name of the fields to sort the data by. By default will be sorted ascendingly. To modify that behavior, you have to add the sort direction after the name of sort field preceded by a colon. For example: <code>name:asc</code>.',
},
{
displayName: 'Where (JSON)',
name: 'where',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: 'JSON query to filter the data. <a href="https://strapi.io/documentation/developer-docs/latest/developer-resources/content-api/content-api.html#filters">More info</a>.',
},
],
},
/* -------------------------------------------------------------------------- */
/* entry:update */
/* -------------------------------------------------------------------------- */
{
displayName: 'Content Type',
name: 'contentType',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'update',
],
},
},
description: 'Name of the content type',
},
{
displayName: 'Update Key',
name: 'updateKey',
type: 'string',
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'update',
],
},
},
default: 'id',
required: true,
// eslint-disable-next-line n8n-nodes-base/node-param-description-miscased-id
description: 'Name of the property which decides which rows in the database should be updated. Normally that would be "id".',
},
{
displayName: 'Columns',
name: 'columns',
type: 'string',
displayOptions: {
show: {
resource: [
'entry',
],
operation: [
'update',
],
},
},
default: '',
placeholder: 'id,name,description',
description: 'Comma-separated list of the properties which should used as columns for the new rows',
},
];