aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2026-02-08 15:53:14 +0000
committerGitHub <noreply@github.com>2026-02-08 15:53:14 +0000
commitb05a7531b76d580fc2378d3fed12f57e5f4b35b1 (patch)
treec80d578507321ebe43f540649daba2bdec47f939 /packages/trpc
parent960ca9b67915408f26b825886f2b6c6481a658dc (diff)
downloadkarakeep-b05a7531b76d580fc2378d3fed12f57e5f4b35b1.tar.zst
feat: add source filter to query language (#2465)
* feat: add source filter to query language Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * autocomplete source --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'packages/trpc')
-rw-r--r--packages/trpc/lib/search.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/trpc/lib/search.ts b/packages/trpc/lib/search.ts
index 88f10f22..51e51d1c 100644
--- a/packages/trpc/lib/search.ts
+++ b/packages/trpc/lib/search.ts
@@ -373,6 +373,22 @@ async function getIds(
),
);
}
+ case "source": {
+ return db
+ .select({ id: bookmarks.id })
+ .from(bookmarks)
+ .where(
+ and(
+ eq(bookmarks.userId, userId),
+ matcher.inverse
+ ? or(
+ ne(bookmarks.source, matcher.source),
+ isNull(bookmarks.source),
+ )
+ : eq(bookmarks.source, matcher.source),
+ ),
+ );
+ }
case "and": {
const vals = await Promise.all(
matcher.matchers.map((m) => getIds(db, userId, m)),