From 1635e512c729f84693f94edd9f289aa7b71bacf5 Mon Sep 17 00:00:00 2001 From: Edward Klesel Date: Sat, 21 Mar 2026 21:49:28 +0000 Subject: [PATCH] Change access list client insert to synchronous to ensure order preserved --- backend/internal/access-list.js | 47 +++++++++++++-------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/backend/internal/access-list.js b/backend/internal/access-list.js index 60a7105dbe..2107f21964 100644 --- a/backend/internal/access-list.js +++ b/backend/internal/access-list.js @@ -48,20 +48,17 @@ const internalAccessList = { return true; }); - // Clients - data.clients?.map((client) => { - promises.push( - accessListClientModel.query().insert({ - access_list_id: row.id, - address: client.address, - directive: client.directive, - }), - ); - return true; - }); - await Promise.all(promises); + // Clients + for (const client of data.clients ?? []) { + await accessListClientModel.query().insert({ + access_list_id: row.id, + address: client.address, + directive: client.directive, + }); + } + // re-fetch with expansions const freshRow = await internalAccessList.get( access, @@ -154,25 +151,17 @@ const internalAccessList = { // Check for clients and add/update/remove them if (typeof data.clients !== "undefined" && data.clients) { - const clientPromises = []; - data.clients.map((client) => { - if (client.address) { - clientPromises.push( - accessListClientModel.query().insert({ - access_list_id: data.id, - address: client.address, - directive: client.directive, - }), - ); - } - return true; - }); - const query = accessListClientModel.query().delete().where("access_list_id", data.id); await query; - // Add new clitens - if (clientPromises.length) { - await Promise.all(clientPromises); + + for (const client of data.clients) { + if (client.address) { + await accessListClientModel.query().insert({ + access_list_id: data.id, + address: client.address, + directive: client.directive, + }); + } } }