From d6e1cf232f86ddc69cceb69c8971c3373dab454c Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Fri, 25 Aug 2023 16:37:34 +0300 Subject: [PATCH] fix(Microsoft Excel 365 Node): Support for more extensions in workbook rlc (#7020) Github issue / Community forum post (link here to close automatically): --- .../Microsoft/Excel/v2/methods/listSearch.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts b/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts index 031c3e07d5596..b47d49c3c241c 100644 --- a/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts +++ b/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts @@ -11,7 +11,10 @@ export async function searchWorkbooks( filter?: string, paginationToken?: string, ): Promise { - const q = filter ? encodeURI(`.xlsx AND ${filter}`) : '.xlsx'; + const fileExtensions = ['.xlsx', '.xlsm', '.xlst']; + const extensionFilter = fileExtensions.join(' OR '); + + const q = filter || extensionFilter; let response: IDataObject = {}; @@ -37,10 +40,22 @@ export async function searchWorkbooks( ); } + if (response.value && filter) { + response.value = (response.value as IDataObject[]).filter((workbook: IDataObject) => { + return fileExtensions.some((extension) => (workbook.name as string).includes(extension)); + }); + } + return { results: (response.value as IDataObject[]).map((workbook: IDataObject) => { + for (const extension of fileExtensions) { + if ((workbook.name as string).includes(extension)) { + workbook.name = (workbook.name as string).replace(extension, ''); + break; + } + } return { - name: (workbook.name as string).replace('.xlsx', ''), + name: workbook.name as string, value: workbook.id as string, url: workbook.webUrl as string, };