From 7dbd40a88b16ff80343eadd201657bdfc4271209 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 12 Jun 2024 12:50:22 -0500 Subject: [PATCH] Fix issues with adminAccountsController --- src/controllers/api/admin.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/admin.ts b/src/controllers/api/admin.ts index bcc40ce..003d0cf 100644 --- a/src/controllers/api/admin.ts +++ b/src/controllers/api/admin.ts @@ -85,7 +85,13 @@ const adminAccountsController: AppController = async (c) => { } const events = await store.query([{ kinds: [30382], authors: [Conf.pubkey], '#n': n, ...params }], { signal }); - const pubkeys = new Set(events.map(({ pubkey }) => pubkey)); + + const pubkeys = new Set( + events + .map(({ tags }) => tags.find(([name]) => name === 'd')?.[1]) + .filter((pubkey): pubkey is string => !!pubkey), + ); + const authors = await store.query([{ kinds: [0], authors: [...pubkeys] }]) .then((events) => hydrateEvents({ store, events, signal })); @@ -100,10 +106,14 @@ const adminAccountsController: AppController = async (c) => { } const filter: NostrFilter = { kinds: [0], ...params }; + if (local) { filter.search = `domain:${Conf.url.host}`; } - const events = await store.query([filter], { signal }); + + const events = await store.query([filter], { signal }) + .then((events) => hydrateEvents({ store, events, signal })); + const accounts = await Promise.all(events.map(renderAdminAccount)); return paginated(c, events, accounts); };