mirror of
https://github.com/n8n-io/n8n.git
synced 2026-06-03 10:17:00 +02:00
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import type { INodeTypeBaseDescription, IVersionedNodeType } from 'n8n-workflow';
|
|
import { VersionedNodeType } from 'n8n-workflow';
|
|
|
|
import { GoogleSheetsV1 } from './v1/GoogleSheetsV1.node';
|
|
import { GoogleSheetsV2 } from './v2/GoogleSheetsV2.node';
|
|
|
|
export class GoogleSheets extends VersionedNodeType {
|
|
constructor() {
|
|
const baseDescription: INodeTypeBaseDescription = {
|
|
displayName: 'Google Sheets',
|
|
name: 'googleSheets',
|
|
icon: 'file:googleSheets.svg',
|
|
group: ['input', 'output'],
|
|
defaultVersion: 4.7,
|
|
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
description: 'Read, update and write data to Google Sheets',
|
|
builderHint: {
|
|
message:
|
|
'For workflow data storage, DataTable with upsert avoids duplicates. Use Google Sheets when spreadsheet collaboration is specifically needed.',
|
|
relatedNodes: [
|
|
{
|
|
nodeType: 'n8n-nodes-base.dataTable',
|
|
relationHint: 'Prefer for workflow data storage with upsert',
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
const nodeVersions: IVersionedNodeType['nodeVersions'] = {
|
|
1: new GoogleSheetsV1(baseDescription),
|
|
2: new GoogleSheetsV1(baseDescription),
|
|
3: new GoogleSheetsV2(baseDescription),
|
|
4: new GoogleSheetsV2(baseDescription),
|
|
4.1: new GoogleSheetsV2(baseDescription),
|
|
4.2: new GoogleSheetsV2(baseDescription),
|
|
4.3: new GoogleSheetsV2(baseDescription),
|
|
4.4: new GoogleSheetsV2(baseDescription),
|
|
4.5: new GoogleSheetsV2(baseDescription),
|
|
4.6: new GoogleSheetsV2(baseDescription),
|
|
4.7: new GoogleSheetsV2(baseDescription),
|
|
};
|
|
|
|
super(nodeVersions, baseDescription);
|
|
}
|
|
}
|