EventsDB: parse nip50 extensions
This commit is contained in:
parent
e2cc6132be
commit
245cb43771
|
@ -10,7 +10,7 @@
|
|||
"relays:sync": "deno run -A --unstable-ffi scripts/relays.ts sync"
|
||||
},
|
||||
"exclude": ["./public"],
|
||||
"imports": { "@/": "./src/", "@soapbox/nspec": "jsr:@soapbox/nspec@^0.7.0", "~/fixtures/": "./fixtures/" },
|
||||
"imports": { "@/": "./src/", "@soapbox/nspec": "jsr:@soapbox/nspec@^0.8.0", "~/fixtures/": "./fixtures/" },
|
||||
"lint": {
|
||||
"include": ["src/", "scripts/"],
|
||||
"rules": {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue