mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
Only save the nip05 in author search if it's valid
This commit is contained in:
parent
a8df213aec
commit
8510f22d1b
1 changed files with 28 additions and 33 deletions
|
|
@ -140,11 +140,13 @@ async function parseMetadata(event: NostrEvent, signal: AbortSignal): Promise<vo
|
|||
|
||||
// Get nip05.
|
||||
const { name, nip05 } = metadata.data;
|
||||
const result = nip05 ? await nip05Cache.fetch(nip05, { signal }).catch(() => undefined) : undefined;
|
||||
|
||||
// Populate author_search.
|
||||
try {
|
||||
const search = [name, nip05].filter(Boolean).join(' ').trim();
|
||||
const search = result?.pubkey === event.pubkey ? [name, nip05].filter(Boolean).join(' ').trim() : name ?? '';
|
||||
|
||||
if (search) {
|
||||
await kysely.insertInto('author_search').values({
|
||||
pubkey: event.pubkey,
|
||||
search,
|
||||
|
|
@ -154,27 +156,19 @@ async function parseMetadata(event: NostrEvent, signal: AbortSignal): Promise<vo
|
|||
.doUpdateSet({ search }),
|
||||
)
|
||||
.execute();
|
||||
}
|
||||
} catch {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
if (!nip05) return;
|
||||
|
||||
// Fetch nip05.
|
||||
const result = await nip05Cache.fetch(nip05, { signal }).catch(() => undefined);
|
||||
if (!result) return;
|
||||
|
||||
// Ensure pubkey matches event.
|
||||
const { pubkey } = result;
|
||||
if (pubkey !== event.pubkey) return;
|
||||
|
||||
if (nip05 && result && result.pubkey === event.pubkey) {
|
||||
// Track pubkey domain.
|
||||
try {
|
||||
const { domain } = parseNip05(nip05);
|
||||
|
||||
await sql`
|
||||
INSERT INTO pubkey_domains (pubkey, domain, last_updated_at)
|
||||
VALUES (${pubkey}, ${domain}, ${event.created_at})
|
||||
VALUES (${event.pubkey}, ${domain}, ${event.created_at})
|
||||
ON CONFLICT(pubkey) DO UPDATE SET
|
||||
domain = excluded.domain,
|
||||
last_updated_at = excluded.last_updated_at
|
||||
|
|
@ -184,6 +178,7 @@ async function parseMetadata(event: NostrEvent, signal: AbortSignal): Promise<vo
|
|||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Update the event in the database and set its language. */
|
||||
async function setLanguage(event: NostrEvent): Promise<void> {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue