From e0804768e84aefe9d66ab683080f67bb15a1cb58 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:14:10 +0200 Subject: [PATCH] fix(Supabase Node): Pagination for get all rows (#8311) --- packages/nodes-base/nodes/Supabase/Supabase.node.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/nodes-base/nodes/Supabase/Supabase.node.ts b/packages/nodes-base/nodes/Supabase/Supabase.node.ts index 340b4cace5..9e025547bc 100644 --- a/packages/nodes-base/nodes/Supabase/Supabase.node.ts +++ b/packages/nodes-base/nodes/Supabase/Supabase.node.ts @@ -310,12 +310,18 @@ export class Supabase implements INodeType { qs.limit = this.getNodeParameter('limit', 0); } - let rows; + let rows: IDataObject[] = []; try { - rows = await supabaseApiRequest.call(this, 'GET', endpoint, {}, qs); + let responseLength = 0; + do { + const newRows = await supabaseApiRequest.call(this, 'GET', endpoint, {}, qs); + responseLength = newRows.length; + rows = rows.concat(newRows); + qs.offset = rows.length; + } while (responseLength >= 1000); const executionData = this.helpers.constructExecutionMetaData( - this.helpers.returnJsonArray(rows as IDataObject[]), + this.helpers.returnJsonArray(rows), { itemData: { item: i } }, ); returnData.push(...executionData);