n8n/packages/nodes-base/nodes/QuickBase/RecordDescription.ts
2020-11-25 13:09:58 +01:00

618 lines
13 KiB
TypeScript

import {
INodeProperties,
} from 'n8n-workflow';
export const recordOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
displayOptions: {
show: {
resource: [
'record',
],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a record',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a record',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all records',
},
{
name: 'Update',
value: 'update',
description: 'Update a record',
},
{
name: 'Upsert',
value: 'upsert',
description: 'Upsert a record',
},
],
default: 'create',
description: 'The operation to perform.',
},
] as INodeProperties[];
export const recordFields = [
/* -------------------------------------------------------------------------- */
/* record:create */
/* -------------------------------------------------------------------------- */
{
displayName: 'Table ID',
name: 'tableId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'create',
],
},
},
description: 'The table identifier',
},
{
displayName: 'Columns',
name: 'columns',
type: 'string',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'create',
],
},
},
default: '',
required: true,
placeholder: 'id,name,description',
description: 'Comma separated list of the properties which should used as columns for the new rows.',
},
{
displayName: 'Simple',
name: 'simple',
type: 'boolean',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'create',
],
},
},
default: true,
description: 'When set to true a simplify version of the response will be used else the raw data.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'create',
],
},
},
options: [
{
displayName: 'Fields',
name: 'fields',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getTableFields',
loadOptionsDependsOn: [
'tableId',
],
},
default: [],
description: `Specify an array of field ids that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested.`,
},
],
},
/* -------------------------------------------------------------------------- */
/* record:delete */
/* -------------------------------------------------------------------------- */
{
displayName: 'Table ID',
name: 'tableId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'delete',
],
},
},
description: 'The table identifier',
},
{
displayName: 'Where',
name: 'where',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'delete',
],
},
},
description: `The filter to delete records. To delete all records specify a filter that will include all records,</br>
for example {3.GT.0} where 3 is the ID of the Record ID field.`,
},
/* -------------------------------------------------------------------------- */
/* record:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Table ID',
name: 'tableId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'getAll',
],
},
},
description: 'The table identifier',
},
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'getAll',
],
},
},
default: false,
description: 'Returns a list of your user contacts.',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'getAll',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 50,
description: 'How many results to return.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'getAll',
],
},
},
options: [
// {
// displayName: 'Group By',
// name: 'groupByUi',
// placeholder: 'Add Group By',
// type: 'fixedCollection',
// typeOptions: {
// multipleValues: true,
// },
// default: {},
// options: [
// {
// name: 'groupByValues',
// displayName: 'Group By',
// values: [
// {
// displayName: 'Field ID',
// name: 'fieldId',
// type: 'options',
// typeOptions: {
// loadOptionsMethod: 'getTableFields',
// },
// default: '',
// description: 'The unique identifier of a field in a table.',
// },
// {
// displayName: 'Grouping',
// name: 'grouping',
// type: 'options',
// options: [
// {
// name: 'ASC',
// value: 'ASC',
// },
// {
// name: 'DESC',
// value: 'DESC',
// },
// {
// name: 'Equal Values',
// value: 'equal-values',
// },
// ],
// default: 'ASC',
// },
// ],
// },
// ],
// },
{
displayName: 'Select',
name: 'select',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getTableFields',
},
default: [],
description: 'An array of field ids for the fields that should be returned in the response. If empty, the default columns on the table will be returned.',
},
{
displayName: 'Sort By',
name: 'sortByUi',
placeholder: 'Add Sort By',
type: 'fixedCollection',
typeOptions: {
multipleValues: true,
},
default: {},
options: [
{
name: 'sortByValues',
displayName: 'Sort By',
values: [
{
displayName: 'Field ID',
name: 'fieldId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getTableFields',
},
default: '',
description: 'The unique identifier of a field in a table.',
},
{
displayName: 'Order',
name: 'order',
type: 'options',
options: [
{
name: 'ASC',
value: 'ASC',
},
{
name: 'DESC',
value: 'DESC',
},
],
default: 'ASC',
},
],
},
],
description: `By default, queries will be sorted by the given sort fields or the default sort if the query does not provide any.<br>
Set to false to avoid sorting when the order of the data returned is not important. Returning data without sorting can improve performance.`,
},
{
displayName: 'Where',
name: 'where',
type: 'string',
default: '',
description: 'The filter, using the <a href="https://help.quickbase.com/api-guide/componentsquery.html" target="_blank">Quick Base query language</a>, which determines the records to return.',
},
],
},
/* -------------------------------------------------------------------------- */
/* record:update */
/* -------------------------------------------------------------------------- */
{
displayName: 'Table ID',
name: 'tableId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'update',
],
},
},
description: 'The table identifier',
},
{
displayName: 'Columns',
name: 'columns',
type: 'string',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'update',
],
},
},
default: '',
required: true,
placeholder: 'id,name,description',
description: 'Comma separated list of the properties which should used as columns for the new rows.',
},
{
displayName: 'Update Key',
name: 'updateKey',
type: 'string',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'update',
],
},
},
default: '',
description: 'update can use the key field on the table, or any other supported unique field.',
},
{
displayName: 'Simple',
name: 'simple',
type: 'boolean',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'update',
],
},
},
default: true,
description: 'When set to true a simplify version of the response will be used else the raw data.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'update',
],
},
},
options: [
{
displayName: 'Fields',
name: 'fields',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getTableFields',
loadOptionsDependsOn: [
'tableId',
],
},
default: [],
description: `Specify an array of field ids that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested.`,
},
// {
// displayName: 'Merge Field ID',
// name: 'mergeFieldId',
// type: 'options',
// typeOptions: {
// loadOptionsMethod: 'getUniqueTableFields',
// },
// default: '',
// description: `You're updating records in a Quick Base table with data from an external file. In order for a merge like this to work,<br>
// Quick Base needs a way to match records in the source data with corresponding records in the destination table. You make this possible by<br>
// choosing the field in the app table that holds unique matching values. This is called a merge field.`,
// },
],
},
/* -------------------------------------------------------------------------- */
/* record:upsert */
/* -------------------------------------------------------------------------- */
{
displayName: 'Table ID',
name: 'tableId',
type: 'string',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
description: 'The table identifier',
},
{
displayName: 'Columns',
name: 'columns',
type: 'string',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
default: '',
required: true,
placeholder: 'id,name,description',
description: 'Comma separated list of the properties which should used as columns for the new rows.',
},
{
displayName: 'Update Key',
name: 'updateKey',
type: 'string',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
default: '',
description: 'update can use the key field on the table, or any other supported unique field.',
},
{
displayName: 'Merge Field ID',
name: 'mergeFieldId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getUniqueTableFields',
},
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
default: '',
description: `You're updating records in a Quick Base table with data from an external file. In order for a merge like this to work,<br>
Quick Base needs a way to match records in the source data with corresponding records in the destination table. You make this possible by<br>
choosing the field in the app table that holds unique matching values. This is called a merge field.`,
},
{
displayName: 'Simple',
name: 'simple',
type: 'boolean',
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
default: true,
description: 'When set to true a simplify version of the response will be used else the raw data.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: [
'record',
],
operation: [
'upsert',
],
},
},
options: [
{
displayName: 'Fields',
name: 'fields',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getTableFields',
loadOptionsDependsOn: [
'tableId',
],
},
default: [],
description: `Specify an array of field ids that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested.`,
},
],
},
] as INodeProperties[];