Fix localSuggestionsController

This commit is contained in:
Alex Gleason 2025-01-30 21:53:45 -06:00
parent 7f71f6f50c
commit 2dfde337cd
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7

View file

@ -93,18 +93,34 @@ export const localSuggestionsController: AppController = async (c) => {
const params = c.get('pagination'); const params = c.get('pagination');
const store = c.get('store'); const store = c.get('store');
const events = await store.query( const grants = await store.query(
[{ kinds: [0], search: `domain:${Conf.url.host}`, ...params }], [{ kinds: [30360], authors: [Conf.pubkey], ...params }],
{ signal },
);
const pubkeys = new Set<string>();
for (const grant of grants) {
const pubkey = grant.tags.find(([name]) => name === 'p')?.[1];
if (pubkey) {
pubkeys.add(pubkey);
}
}
const profiles = await store.query(
[{ kinds: [0], authors: [...pubkeys], search: `domain:${Conf.url.host}`, ...params }],
{ signal }, { signal },
) )
.then((events) => hydrateEvents({ store, events, signal })); .then((events) => hydrateEvents({ store, events, signal }));
const suggestions = await Promise.all(events.map(async (event) => { const suggestions = await Promise.all([...pubkeys].map(async (pubkey) => {
const profile = profiles.find((event) => event.pubkey === pubkey);
return { return {
source: 'global', source: 'global',
account: await renderAccount(event), account: profile ? await renderAccount(profile) : await accountFromPubkey(pubkey),
}; };
})); }));
return paginated(c, events, suggestions); return paginated(c, grants, suggestions);
}; };