mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 03:19:46 +00:00
Use an even simpler query for db:populate:nip05 script
This commit is contained in:
parent
b0dc7faaff
commit
b902abc7cc
1 changed files with 26 additions and 24 deletions
|
|
@ -4,35 +4,37 @@ import { Storages } from '@/storages.ts';
|
|||
import { faviconCache } from '@/utils/favicon.ts';
|
||||
import { nip05Cache } from '@/utils/nip05.ts';
|
||||
|
||||
const store = await Storages.db();
|
||||
const kysely = await Storages.kysely();
|
||||
|
||||
for await (const msg of store.req([{ kinds: [0] }])) {
|
||||
if (msg[0] === 'EVENT') {
|
||||
const signal = AbortSignal.timeout(30_000); // generous timeout
|
||||
const event = msg[2];
|
||||
const query = kysely
|
||||
.selectFrom('nostr_events')
|
||||
.select('content')
|
||||
.where('kind', '=', 0);
|
||||
|
||||
// Parse metadata.
|
||||
const metadata = n.json().pipe(n.metadata()).catch({}).safeParse(event.content);
|
||||
if (!metadata.success) continue;
|
||||
for await (const { content } of query.stream(100)) {
|
||||
const signal = AbortSignal.timeout(30_000); // generous timeout
|
||||
|
||||
// Update nip05.
|
||||
const { nip05 } = metadata.data;
|
||||
if (nip05) {
|
||||
try {
|
||||
await nip05Cache.fetch(nip05, { signal });
|
||||
} catch {
|
||||
// Ignore.
|
||||
}
|
||||
// Parse metadata.
|
||||
const metadata = n.json().pipe(n.metadata()).catch({}).safeParse(content);
|
||||
if (!metadata.success) continue;
|
||||
|
||||
// Update nip05.
|
||||
const { nip05 } = metadata.data;
|
||||
if (nip05) {
|
||||
try {
|
||||
await nip05Cache.fetch(nip05, { signal });
|
||||
} catch {
|
||||
// Ignore.
|
||||
}
|
||||
}
|
||||
|
||||
// Update favicon.
|
||||
const domain = nip05?.split('@')[1].toLowerCase();
|
||||
if (domain) {
|
||||
try {
|
||||
await faviconCache.fetch(domain, { signal });
|
||||
} catch {
|
||||
// Ignore.
|
||||
}
|
||||
// Update favicon.
|
||||
const domain = nip05?.split('@')[1].toLowerCase();
|
||||
if (domain) {
|
||||
try {
|
||||
await faviconCache.fetch(domain, { signal });
|
||||
} catch {
|
||||
// Ignore.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue