From cb497fbbecdba670d5121fa2c6eaf7c66d8a8a38 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Tue, 2 May 2023 11:45:04 +0300 Subject: [PATCH] feat(core): Add notice to alert users a new version is available --- .../nodes/Google/Analytics/v1/GoogleAnalyticsV1.node.ts | 3 +++ .../nodes/Google/BigQuery/v1/GoogleBigQueryV1.node.ts | 3 +++ .../nodes-base/nodes/Google/Gmail/v1/GmailV1.node.ts | 3 +++ .../nodes/Google/Sheet/v1/versionDescription.ts | 3 +++ packages/nodes-base/nodes/Merge/v1/MergeV1.node.ts | 3 +++ packages/nodes-base/nodes/MySql/v1/MySqlV1.node.ts | 3 +++ packages/nodes-base/nodes/Postgres/v1/PostgresV1.node.ts | 3 +++ packages/nodes-base/nodes/Slack/V1/SlackV1.node.ts | 3 +++ packages/nodes-base/utils/descriptions.ts | 9 +++++++++ 9 files changed, 33 insertions(+) create mode 100644 packages/nodes-base/utils/descriptions.ts diff --git a/packages/nodes-base/nodes/Google/Analytics/v1/GoogleAnalyticsV1.node.ts b/packages/nodes-base/nodes/Google/Analytics/v1/GoogleAnalyticsV1.node.ts index 6557252d8d..e2977a6d49 100644 --- a/packages/nodes-base/nodes/Google/Analytics/v1/GoogleAnalyticsV1.node.ts +++ b/packages/nodes-base/nodes/Google/Analytics/v1/GoogleAnalyticsV1.node.ts @@ -16,6 +16,8 @@ import { googleApiRequest, googleApiRequestAllItems, merge, simplify } from './G import moment from 'moment-timezone'; import type { IData } from './Interfaces'; +import { oldVersionNotice } from '../../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'Google Analytics', name: 'googleAnalytics', @@ -36,6 +38,7 @@ const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Resource', name: 'resource', diff --git a/packages/nodes-base/nodes/Google/BigQuery/v1/GoogleBigQueryV1.node.ts b/packages/nodes-base/nodes/Google/BigQuery/v1/GoogleBigQueryV1.node.ts index 2d3aac109c..394e32c6ad 100644 --- a/packages/nodes-base/nodes/Google/BigQuery/v1/GoogleBigQueryV1.node.ts +++ b/packages/nodes-base/nodes/Google/BigQuery/v1/GoogleBigQueryV1.node.ts @@ -20,6 +20,8 @@ import { recordFields, recordOperations } from './RecordDescription'; import { v4 as uuid } from 'uuid'; +import { oldVersionNotice } from '../../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'Google BigQuery', name: 'googleBigQuery', @@ -54,6 +56,7 @@ const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Authentication', name: 'authentication', diff --git a/packages/nodes-base/nodes/Google/Gmail/v1/GmailV1.node.ts b/packages/nodes-base/nodes/Google/Gmail/v1/GmailV1.node.ts index a473d64456..6a8d0ece2f 100644 --- a/packages/nodes-base/nodes/Google/Gmail/v1/GmailV1.node.ts +++ b/packages/nodes-base/nodes/Google/Gmail/v1/GmailV1.node.ts @@ -30,6 +30,8 @@ import { draftFields, draftOperations } from './DraftDescription'; import isEmpty from 'lodash.isempty'; +import { oldVersionNotice } from '../../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'Gmail', name: 'gmail', @@ -64,6 +66,7 @@ const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Authentication', name: 'authentication', diff --git a/packages/nodes-base/nodes/Google/Sheet/v1/versionDescription.ts b/packages/nodes-base/nodes/Google/Sheet/v1/versionDescription.ts index a8fdd72362..2d7798cdd7 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v1/versionDescription.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v1/versionDescription.ts @@ -1,6 +1,8 @@ /* eslint-disable n8n-nodes-base/node-filename-against-convention */ import type { INodeTypeDescription } from 'n8n-workflow'; +import { oldVersionNotice } from '../../../../utils/descriptions'; + export const versionDescription: INodeTypeDescription = { displayName: 'Google Sheets ', name: 'googleSheets', @@ -36,6 +38,7 @@ export const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Authentication', name: 'authentication', diff --git a/packages/nodes-base/nodes/Merge/v1/MergeV1.node.ts b/packages/nodes-base/nodes/Merge/v1/MergeV1.node.ts index 1e928c6ce6..44d726c22e 100644 --- a/packages/nodes-base/nodes/Merge/v1/MergeV1.node.ts +++ b/packages/nodes-base/nodes/Merge/v1/MergeV1.node.ts @@ -12,6 +12,8 @@ import type { } from 'n8n-workflow'; import { deepCopy } from 'n8n-workflow'; +import { oldVersionNotice } from '../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'Merge', name: 'merge', @@ -29,6 +31,7 @@ const versionDescription: INodeTypeDescription = { outputs: ['main'], inputNames: ['Input 1', 'Input 2'], properties: [ + oldVersionNotice, { displayName: 'Mode', name: 'mode', diff --git a/packages/nodes-base/nodes/MySql/v1/MySqlV1.node.ts b/packages/nodes-base/nodes/MySql/v1/MySqlV1.node.ts index f54807ef41..8938fb48f8 100644 --- a/packages/nodes-base/nodes/MySql/v1/MySqlV1.node.ts +++ b/packages/nodes-base/nodes/MySql/v1/MySqlV1.node.ts @@ -17,6 +17,8 @@ import type mysql2 from 'mysql2/promise'; import { copyInputItems, createConnection, searchTables } from './GenericFunctions'; import type { IExecuteFunctions } from 'n8n-core'; +import { oldVersionNotice } from '../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'MySQL', name: 'mySql', @@ -37,6 +39,7 @@ const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Operation', name: 'operation', diff --git a/packages/nodes-base/nodes/Postgres/v1/PostgresV1.node.ts b/packages/nodes-base/nodes/Postgres/v1/PostgresV1.node.ts index b9190a5945..ead4afb90d 100644 --- a/packages/nodes-base/nodes/Postgres/v1/PostgresV1.node.ts +++ b/packages/nodes-base/nodes/Postgres/v1/PostgresV1.node.ts @@ -16,6 +16,8 @@ import pgPromise from 'pg-promise'; import { pgInsertV2, pgQueryV2, pgUpdate, wrapData } from './genericFunctions'; +import { oldVersionNotice } from '../../../utils/descriptions'; + const versionDescription: INodeTypeDescription = { displayName: 'Postgres', name: 'postgres', @@ -36,6 +38,7 @@ const versionDescription: INodeTypeDescription = { }, ], properties: [ + oldVersionNotice, { displayName: 'Operation', name: 'operation', diff --git a/packages/nodes-base/nodes/Slack/V1/SlackV1.node.ts b/packages/nodes-base/nodes/Slack/V1/SlackV1.node.ts index 9055db4a16..6bf2d6afcf 100644 --- a/packages/nodes-base/nodes/Slack/V1/SlackV1.node.ts +++ b/packages/nodes-base/nodes/Slack/V1/SlackV1.node.ts @@ -22,6 +22,8 @@ import { userProfileFields, userProfileOperations } from './UserProfileDescripti import { slackApiRequest, slackApiRequestAllItems, validateJSON } from './GenericFunctions'; import type { IAttachment } from './MessageInterface'; +import { oldVersionNotice } from '../../../utils/descriptions'; + import moment from 'moment'; interface Attachment { @@ -97,6 +99,7 @@ export class SlackV1 implements INodeType { }, ], properties: [ + oldVersionNotice, { displayName: 'Authentication', name: 'authentication', diff --git a/packages/nodes-base/utils/descriptions.ts b/packages/nodes-base/utils/descriptions.ts new file mode 100644 index 0000000000..78abc22251 --- /dev/null +++ b/packages/nodes-base/utils/descriptions.ts @@ -0,0 +1,9 @@ +import type { INodeProperties } from 'n8n-workflow'; + +export const oldVersionNotice: INodeProperties = { + displayName: + 'New node version available: get the latest version with added features from the nodes panel.', + name: 'oldVersionNotice', + type: 'notice', + default: '', +};