EventsDB: parse nip50 extensions

This commit is contained in:
Alex Gleason
2024-03-19 22:46:54 -05:00
parent e2cc6132be
commit 245cb43771
2 changed files with 6 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
import { NIP50 } from '@soapbox/nspec';
import { Conf } from '@/config.ts';
import { type DittoDB } from '@/db.ts';
import { Debug, Kysely, type NostrEvent, type NStore, type NStoreOpts, type SelectQueryBuilder } from '@/deps.ts';
@@ -199,9 +200,12 @@ class EventsDB implements NStore {
}
if (filter.search) {
const tokens = NIP50.parseInput(filter.search);
const q = tokens.filter((t) => typeof t === 'string').join(' ');
query = query
.innerJoin('events_fts', 'events_fts.id', 'events.id')
.where('events_fts.content', 'match', JSON.stringify(filter.search));
.where('events_fts.content', 'match', JSON.stringify(q));
}
return query;