From 3661bd77fc6fa5d3e2a86ff5e4290e43d423f893 Mon Sep 17 00:00:00 2001 From: Alexandr Date: Sun, 1 Dec 2024 14:29:07 +0300 Subject: [PATCH] fix reduce requests quantity --- server/server.ts | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/server/server.ts b/server/server.ts index de76e0b..3ad2251 100644 --- a/server/server.ts +++ b/server/server.ts @@ -343,23 +343,27 @@ const requestsLimiter = rateLimit({ limit, offset: parsedOffset, }); - - const aliases = await Promise.all(aliasesRow.map(async (aliasRow) => { - try { - const hasMatrixConnectionResp = await axios({ - method: "get", - url: config.matrix_api_url + "/check-address", - params: { address: aliasRow.address }, - transformResponse: [(data) => JSON.parse(data)], - }); - const hasMatrixConnection = hasMatrixConnectionResp?.data?.userRegistered || false; - aliasRow.dataValues.hasMatrixConnection = hasMatrixConnection; - return aliasRow - } catch(e) { - console.error(e.message); - return aliasRow - } - })) + const aliasesAddresses = aliasesRow.map((aliasRow) => aliasRow.address); + let registeredAddresses: string[] = []; + try { + const addressesHasMatrixConnectionResp = await axios({ + method: "post", + url: config.matrix_api_url + "/check-address", + data: { + addresses: aliasesAddresses + }, + transformResponse: [(data) => JSON.parse(data)], + }); + registeredAddresses = addressesHasMatrixConnectionResp.data.registeredAdressess; + } catch (e) { + console.error(e) + } + const aliases = aliasesRow.map((aliasRow) => { + const hasMatrixConnection = registeredAddresses.includes(aliasRow.address); + aliasRow.dataValues.hasMatrixConnection = hasMatrixConnection; + return aliasRow + }) + res.json(aliases.length > 0 ? aliases : []); } catch (error) { next(error);