From 52f655f3d263415ba93c762454746b0f58273506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Mon, 6 Nov 2023 11:36:22 +0100 Subject: [PATCH] refactor(Google Sheets Node): Stop reporting to Sentry sheet not found error (no-changelog) (#7617) https://n8nio.sentry.io/issues/4264383378 --- .../nodes/Google/Sheet/GoogleSheetsTrigger.node.ts | 5 ++++- .../nodes-base/nodes/Google/Sheet/v2/actions/router.ts | 2 +- .../nodes/Google/Sheet/v2/helpers/GoogleSheet.ts | 9 +++++++-- .../nodes/Google/Sheet/v2/methods/loadOptions.ts | 2 +- .../nodes/Google/Sheet/v2/methods/resourceMapping.ts | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/nodes-base/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts b/packages/nodes-base/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts index d923c28c7..6745b5f84 100644 --- a/packages/nodes-base/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts +++ b/packages/nodes-base/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts @@ -418,7 +418,10 @@ export class GoogleSheetsTrigger implements INodeType { } const googleSheet = new GoogleSheet(documentId, this); - const sheetName: string = await googleSheet.spreadsheetGetSheetNameById(sheetId); + const sheetName: string = await googleSheet.spreadsheetGetSheetNameById( + this.getNode(), + sheetId, + ); const options = this.getNodeParameter('options') as IDataObject; const previousRevision = workflowStaticData.lastRevision as number; diff --git a/packages/nodes-base/nodes/Google/Sheet/v2/actions/router.ts b/packages/nodes-base/nodes/Google/Sheet/v2/actions/router.ts index da3a9afbb..b793e5a17 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v2/actions/router.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v2/actions/router.ts @@ -51,7 +51,7 @@ export async function router(this: IExecuteFunctions): Promise item.properties.sheetId === +sheetId, ); + if (!foundItem?.properties?.title) { - throw new Error(`Sheet with id ${sheetId} not found`); + throw new NodeOperationError(node, `Sheet with ID ${sheetId} not found`, { + severity: 'warning', + }); } + return foundItem.properties.title; } diff --git a/packages/nodes-base/nodes/Google/Sheet/v2/methods/loadOptions.ts b/packages/nodes-base/nodes/Google/Sheet/v2/methods/loadOptions.ts index 4c9611de7..42bc396e4 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v2/methods/loadOptions.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v2/methods/loadOptions.ts @@ -45,7 +45,7 @@ export async function getSheetHeaderRow( sheetWithinDocument = '0'; } - const sheetName = await sheet.spreadsheetGetSheetNameById(sheetWithinDocument); + const sheetName = await sheet.spreadsheetGetSheetNameById(this.getNode(), sheetWithinDocument); const sheetData = await sheet.getData(`${sheetName}!1:1`, 'FORMATTED_VALUE'); if (sheetData === undefined) { diff --git a/packages/nodes-base/nodes/Google/Sheet/v2/methods/resourceMapping.ts b/packages/nodes-base/nodes/Google/Sheet/v2/methods/resourceMapping.ts index d28676493..4821ebe27 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v2/methods/resourceMapping.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v2/methods/resourceMapping.ts @@ -23,7 +23,7 @@ export async function getMappingColumns( sheetWithinDocument = '0'; } - const sheetName = await sheet.spreadsheetGetSheetNameById(sheetWithinDocument); + const sheetName = await sheet.spreadsheetGetSheetNameById(this.getNode(), sheetWithinDocument); const sheetData = await sheet.getData(`${sheetName}!1:1`, 'FORMATTED_VALUE'); const columns = sheet.testFilter(sheetData || [], 0, 0).filter((col) => col !== '');