diff --git a/packages/nodes-base/nodes/SeaTable/v1/GenericFunctions.ts b/packages/nodes-base/nodes/SeaTable/v1/GenericFunctions.ts index d087c19daf..c1a8f99e7e 100644 --- a/packages/nodes-base/nodes/SeaTable/v1/GenericFunctions.ts +++ b/packages/nodes-base/nodes/SeaTable/v1/GenericFunctions.ts @@ -9,10 +9,6 @@ import type { } from 'n8n-workflow'; import { NodeApiError } from 'n8n-workflow'; -import type { TDtableMetadataColumns, TDtableViewColumns, TEndpointVariableName } from './types'; - -import { schema } from './Schema'; - import type { ICredential, ICtx, @@ -22,6 +18,8 @@ import type { IRow, IRowObject, } from './Interfaces'; +import { schema } from './Schema'; +import type { TDtableMetadataColumns, TDtableViewColumns, TEndpointVariableName } from './types'; const userBaseUri = (uri?: string) => { if (uri === undefined) { diff --git a/packages/nodes-base/nodes/SeaTable/v1/SeaTable.node.ts b/packages/nodes-base/nodes/SeaTable/v1/SeaTable.node.ts index f334c23cf7..7c844afc6e 100644 --- a/packages/nodes-base/nodes/SeaTable/v1/SeaTable.node.ts +++ b/packages/nodes-base/nodes/SeaTable/v1/SeaTable.node.ts @@ -1,4 +1,5 @@ import { NodeConnectionType, type INodeTypeDescription } from 'n8n-workflow'; + import { rowFields, rowOperations } from './RowDescription'; export const versionDescription: INodeTypeDescription = { diff --git a/packages/nodes-base/nodes/SeaTable/v1/SeaTableV1.node.ts b/packages/nodes-base/nodes/SeaTable/v1/SeaTableV1.node.ts index 111931afe5..a5fb35313a 100644 --- a/packages/nodes-base/nodes/SeaTable/v1/SeaTableV1.node.ts +++ b/packages/nodes-base/nodes/SeaTable/v1/SeaTableV1.node.ts @@ -21,11 +21,9 @@ import { split, updateAble, } from './GenericFunctions'; - -import type { TColumnsUiValues, TColumnValue } from './types'; - import type { ICtx, IRow, IRowObject } from './Interfaces'; import { versionDescription } from './SeaTable.node'; +import type { TColumnsUiValues, TColumnValue } from './types'; export class SeaTableV1 implements INodeType { description: INodeTypeDescription; diff --git a/packages/nodes-base/nodes/SeaTable/v1/VersionDescription.ts b/packages/nodes-base/nodes/SeaTable/v1/VersionDescription.ts index 833c3a44a9..d1b8785e18 100644 --- a/packages/nodes-base/nodes/SeaTable/v1/VersionDescription.ts +++ b/packages/nodes-base/nodes/SeaTable/v1/VersionDescription.ts @@ -1,5 +1,6 @@ /* eslint-disable n8n-nodes-base/node-filename-against-convention */ import { NodeConnectionType, type INodeTypeDescription } from 'n8n-workflow'; + import { rowFields, rowOperations } from './RowDescription'; export const versionDescription: INodeTypeDescription = { diff --git a/packages/nodes-base/nodes/SeaTable/v1/types.ts b/packages/nodes-base/nodes/SeaTable/v1/types.ts index 876342b368..a84e1ab208 100644 --- a/packages/nodes-base/nodes/SeaTable/v1/types.ts +++ b/packages/nodes-base/nodes/SeaTable/v1/types.ts @@ -10,6 +10,7 @@ export type TSeaTableServerEdition = 'enterprise edition'; // ---------------------------------- import type { ICredentialDataDecryptedObject } from 'n8n-workflow'; + import type { IDtableMetadataColumn, IDtableMetadataTable, TDtableViewColumn } from './Interfaces'; export type TInheritColumnTypeTime = 'ctime' | 'mtime'; diff --git a/packages/nodes-base/nodes/SeaTable/v2/GenericFunctions.ts b/packages/nodes-base/nodes/SeaTable/v2/GenericFunctions.ts index 4431de6f76..9239b836fc 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/GenericFunctions.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/GenericFunctions.ts @@ -1,5 +1,4 @@ import type FormData from 'form-data'; - import type { IDataObject, IExecuteFunctions, @@ -11,10 +10,6 @@ import type { } from 'n8n-workflow'; import { NodeApiError } from 'n8n-workflow'; -import type { TDtableMetadataColumns, TEndpointVariableName } from './types'; - -import { schema } from './Schema'; - import type { ICollaborator, ICollaboratorsResult, @@ -28,6 +23,8 @@ import type { IColumnDigitalSignature, IFile, } from './actions/Interfaces'; +import { schema } from './Schema'; +import type { TDtableMetadataColumns, TEndpointVariableName } from './types'; // remove last backslash const userBaseUri = (uri?: string) => { @@ -124,9 +121,6 @@ export async function seaTableApiRequest( }; } - // DEBUG-MODE OR API-REQUESTS - // console.log(options); - if (Object.keys(body).length === 0) { delete options.body; } @@ -292,32 +286,30 @@ export function enrichColumns( return row; } -// using create, I input a string like a5adebe279e04415a28b2c7e256e9e8d@auth.local and it should be transformed to an array. -// same with multi-select. export function splitStringColumnsToArrays( row: IRowObject, columns: TDtableMetadataColumns, ): IRowObject { columns.map((column) => { - if (column.type == 'collaborator' || column.type == 'multiple-select') { + if (column.type === 'collaborator' || column.type === 'multiple-select') { if (typeof row[column.name] === 'string') { const input = row[column.name] as string; row[column.name] = input.split(',').map((item) => item.trim()); } } - if (column.type == 'number') { + if (column.type === 'number') { if (typeof row[column.name] === 'string') { const input = row[column.name] as string; row[column.name] = parseFloat(input); } } - if (column.type == 'rate' || column.type == 'duration') { + if (column.type === 'rate' || column.type === 'duration') { if (typeof row[column.name] === 'string') { const input = row[column.name] as string; row[column.name] = parseInt(input); } } - if (column.type == 'checkbox') { + if (column.type === 'checkbox') { if (typeof row[column.name] === 'string') { const input = row[column.name] as string; row[column.name] = false; diff --git a/packages/nodes-base/nodes/SeaTable/v2/SeaTableV2.node.ts b/packages/nodes-base/nodes/SeaTable/v2/SeaTableV2.node.ts index 4ea3e5235e..3fe0dc7eec 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/SeaTableV2.node.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/SeaTableV2.node.ts @@ -5,9 +5,9 @@ import type { INodeTypeBaseDescription, } from 'n8n-workflow'; +import { router } from './actions/router'; import { versionDescription } from './actions/SeaTable.node'; import { loadOptions } from './methods'; -import { router } from './actions/router'; export class SeaTableV2 implements INodeType { description: INodeTypeDescription; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/asset/upload.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/asset/upload.operation.ts index d49f86aaf7..3ec7d53dba 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/asset/upload.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/asset/upload.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; import type { IUploadLink, IRowObject } from '../Interfaces'; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/base/apiCall.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/base/apiCall.operation.ts index 763ff3d312..71f94a935c 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/base/apiCall.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/base/apiCall.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; import type { APITypes } from '../../types'; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/base/collaborator.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/base/collaborator.operation.ts index 1e0062b39e..5977fe6a3f 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/base/collaborator.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/base/collaborator.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; import type { ICollaborator } from '../Interfaces'; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/base/index.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/base/index.ts index f95ff8e910..f8ff70f610 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/base/index.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/base/index.ts @@ -1,8 +1,9 @@ import type { INodeProperties } from 'n8n-workflow'; -import * as snapshot from './snapshot.operation'; -import * as metadata from './metadata.operation'; + import * as apiCall from './apiCall.operation'; import * as collaborator from './collaborator.operation'; +import * as metadata from './metadata.operation'; +import * as snapshot from './snapshot.operation'; export { snapshot, metadata, apiCall, collaborator }; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/base/metadata.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/base/metadata.operation.ts index 990a791b47..8c7c6a45cc 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/base/metadata.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/base/metadata.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = []; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/base/snapshot.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/base/snapshot.operation.ts index eb92339cc4..e012ad45cb 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/base/snapshot.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/base/snapshot.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = []; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/link/add.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/link/add.operation.ts index 187b2e6983..203c677cc8 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/link/add.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/link/add.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/link/index.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/link/index.ts index e58fbae622..1864e9fde3 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/link/index.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/link/index.ts @@ -1,4 +1,5 @@ import type { INodeProperties } from 'n8n-workflow'; + import * as add from './add.operation'; import * as list from './list.operation'; import * as remove from './remove.operation'; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/link/list.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/link/list.operation.ts index c4697e8598..5c65c37945 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/link/list.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/link/list.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ @@ -44,7 +45,7 @@ export const properties: INodeProperties[] = [ name: 'rowId', type: 'options', description: - 'Choose from the list, or specify an ID using an expression', + 'Choose from the list, or specify an ID using an expression. Choose from the list, or specify an ID using an expression.', required: true, typeOptions: { loadOptionsDependsOn: ['tableName'], diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/link/remove.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/link/remove.operation.ts index 77e9884a96..5ba4920e10 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/link/remove.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/link/remove.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/create.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/create.operation.ts index 141f222794..abef0e8606 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/create.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/create.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest, getTableColumns, @@ -13,8 +14,8 @@ import { updateAble, splitStringColumnsToArrays, } from '../../GenericFunctions'; -import type { IRowObject } from '../Interfaces'; import type { TColumnValue, TColumnsUiValues } from '../../types'; +import type { IRowObject } from '../Interfaces'; export const properties: INodeProperties[] = [ { diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/get.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/get.operation.ts index 86367122d9..17cbaba244 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/get.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/get.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest, enrichColumns, @@ -35,7 +36,7 @@ export const properties: INodeProperties[] = [ name: 'rowId', type: 'options', description: - 'Choose from the list, or specify an ID using an expression', + 'Choose from the list, or specify an ID using an expression. Choose from the list, or specify an ID using an expression.', required: true, typeOptions: { loadOptionsDependsOn: ['tableName'], diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/index.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/index.ts index b292027e1d..1ee60ebd24 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/index.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/index.ts @@ -1,12 +1,13 @@ import type { INodeProperties } from 'n8n-workflow'; + import * as create from './create.operation'; import * as get from './get.operation'; import * as list from './list.operation'; -import * as search from './search.operation'; -import * as update from './update.operation'; -import * as remove from './remove.operation'; import * as lock from './lock.operation'; +import * as remove from './remove.operation'; +import * as search from './search.operation'; import * as unlock from './unlock.operation'; +import * as update from './update.operation'; export { create, get, search, update, remove, lock, unlock, list }; diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/list.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/list.operation.ts index afb120d4ff..6eba6c96f1 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/list.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/list.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest, enrichColumns, diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/lock.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/lock.operation.ts index 8431a9ad9c..8a32f507aa 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/lock.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/lock.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/remove.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/remove.operation.ts index e7c6ea7f59..336a1aa14d 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/remove.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/remove.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/search.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/search.operation.ts index d09deae096..62f7de6ac9 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/search.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/search.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest, enrichColumns, diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/unlock.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/unlock.operation.ts index 11bbfb6911..cb7bab37f5 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/unlock.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/unlock.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest } from '../../GenericFunctions'; export const properties: INodeProperties[] = [ @@ -29,7 +30,7 @@ export const properties: INodeProperties[] = [ name: 'rowId', type: 'options', description: - 'Choose from the list, or specify an ID using an expression', + 'Choose from the list, or specify an ID using an expression. Choose from the list, or specify an ID using an expression.', required: true, typeOptions: { loadOptionsDependsOn: ['tableName'], diff --git a/packages/nodes-base/nodes/SeaTable/v2/actions/row/update.operation.ts b/packages/nodes-base/nodes/SeaTable/v2/actions/row/update.operation.ts index 36a27fe182..b7aaae31fc 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/actions/row/update.operation.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/actions/row/update.operation.ts @@ -5,6 +5,7 @@ import { type IExecuteFunctions, updateDisplayOptions, } from 'n8n-workflow'; + import { seaTableApiRequest, getTableColumns, @@ -13,8 +14,8 @@ import { updateAble, splitStringColumnsToArrays, } from '../../GenericFunctions'; -import type { IRowObject } from '../Interfaces'; import type { TColumnsUiValues, TColumnValue } from '../../types'; +import type { IRowObject } from '../Interfaces'; export const properties: INodeProperties[] = [ { diff --git a/packages/nodes-base/nodes/SeaTable/v2/methods/loadOptions.ts b/packages/nodes-base/nodes/SeaTable/v2/methods/loadOptions.ts index 1559f5f55a..0eb447e293 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/methods/loadOptions.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/methods/loadOptions.ts @@ -1,6 +1,7 @@ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow'; -import { getTableColumns, seaTableApiRequest, updateAble } from '../GenericFunctions'; + import type { IRow } from '../actions/Interfaces'; +import { getTableColumns, seaTableApiRequest, updateAble } from '../GenericFunctions'; export async function getTableNames(this: ILoadOptionsFunctions): Promise { const returnData: INodePropertyOptions[] = []; diff --git a/packages/nodes-base/nodes/SeaTable/v2/types.ts b/packages/nodes-base/nodes/SeaTable/v2/types.ts index cc76feb946..c27f9ca49d 100644 --- a/packages/nodes-base/nodes/SeaTable/v2/types.ts +++ b/packages/nodes-base/nodes/SeaTable/v2/types.ts @@ -10,6 +10,7 @@ export type TSeaTableServerEdition = 'enterprise edition'; // ---------------------------------- import type { ICredentialDataDecryptedObject } from 'n8n-workflow'; + import type { IDtableMetadataColumn, IDtableMetadataTable,