mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29: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([
|
await Promise.all([
|
||||||
storeEvent(event, signal),
|
storeEvent(event, signal),
|
||||||
handleZaps(kysely, event),
|
handleZaps(kysely, event),
|
||||||
|
handleAuthorSearch(kysely, event),
|
||||||
parseMetadata(event, signal),
|
parseMetadata(event, signal),
|
||||||
generateSetEvents(event),
|
generateSetEvents(event),
|
||||||
streamOut(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 };
|
export { handleEvent, handleZaps };
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue