n8n/packages/nodes-base/nodes/Google/Sheet/GoogleSheets.node.ts
Mutasem Aldmour 9729c2a5da
feat(ai-builder): Add code-base workflow builder (#24535)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 12:24:27 +00:00

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);
}
}