mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 03:19:46 +00:00
feat(pipeline.ts): create handleAuthorSearch() function
This commit is contained in:
parent
c03ea07dcb
commit
9d2667679f
1 changed files with 21 additions and 0 deletions
|
|
@ -57,6 +57,7 @@ async function handleEvent(event: DittoEvent, signal: AbortSignal): Promise<void
|
|||
await Promise.all([
|
||||
storeEvent(event, signal),
|
||||
handleZaps(kysely, event),
|
||||
handleAuthorSearch(kysely, event),
|
||||
parseMetadata(event, signal),
|
||||
generateSetEvents(event),
|
||||
streamOut(event),
|
||||
|
|
@ -245,4 +246,24 @@ async function handleZaps(kysely: Kysely<DittoTables>, event: NostrEvent) {
|
|||
}
|
||||
}
|
||||
|
||||
async function handleAuthorSearch(kysely: Kysely<DittoTables>, event: NostrEvent) {
|
||||
if (event.kind !== 0) return;
|
||||
const { name, nip05 } = n.json().pipe(n.metadata()).catch({}).parse(event.content);
|
||||
const search = [name, nip05].filter(Boolean).join(' ').trim();
|
||||
|
||||
try {
|
||||
await kysely.insertInto('author_search').values({
|
||||
pubkey: event.pubkey,
|
||||
search,
|
||||
}).onConflict(
|
||||
(oc) =>
|
||||
oc.column('pubkey')
|
||||
.doUpdateSet({ search }),
|
||||
)
|
||||
.execute();
|
||||
} catch {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
export { handleEvent, handleZaps };
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue