aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/routers/bookmarks.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-01-04 14:39:38 +0000
committerMohamed Bassem <me@mbassem.com>2025-01-04 14:39:38 +0000
commitce16eda75f4d93646e485b7115398e81e7c88acc (patch)
treea2e34e6067ce7b6818cd59bf8ce9fa52b8a9fc7c /packages/trpc/routers/bookmarks.ts
parent4439c91f426a8c8a13c4a84c8cb685ae67cc07e6 (diff)
downloadkarakeep-ce16eda75f4d93646e485b7115398e81e7c88acc.tar.zst
fix: Change search endpoint to accept query as raw string
Diffstat (limited to 'packages/trpc/routers/bookmarks.ts')
-rw-r--r--packages/trpc/routers/bookmarks.ts12
1 files changed, 7 insertions, 5 deletions
diff --git a/packages/trpc/routers/bookmarks.ts b/packages/trpc/routers/bookmarks.ts
index 47ba623b..f3884053 100644
--- a/packages/trpc/routers/bookmarks.ts
+++ b/packages/trpc/routers/bookmarks.ts
@@ -47,7 +47,6 @@ import {
zNewBookmarkRequestSchema,
zUpdateBookmarksRequestSchema,
} from "@hoarder/shared/types/bookmarks";
-import { zMatcherSchema } from "@hoarder/shared/types/search";
import type { AuthedContext, Context } from "../index";
import { authedProcedure, router } from "../index";
@@ -525,7 +524,6 @@ export const bookmarksAppRouter = router({
.input(
z.object({
text: z.string(),
- matcher: zMatcherSchema.optional(),
cursor: z
.object({
offset: z.number(),
@@ -553,10 +551,14 @@ export const bookmarksAppRouter = router({
message: "Search functionality is not configured",
});
}
+ const parsedQuery = parseSearchQuery(input.text);
let filter: string[];
- if (input.matcher) {
- const bookmarkIds = await getBookmarkIdsFromMatcher(ctx, input.matcher);
+ if (parsedQuery.matcher) {
+ const bookmarkIds = await getBookmarkIdsFromMatcher(
+ ctx,
+ parsedQuery.matcher,
+ );
filter = [
`userId = '${ctx.user.id}' AND id IN [${bookmarkIds.join(",")}]`,
];
@@ -564,7 +566,7 @@ export const bookmarksAppRouter = router({
filter = [`userId = '${ctx.user.id}'`];
}
- const resp = await client.search(input.text, {
+ const resp = await client.search(parsedQuery.text, {
filter,
showRankingScore: true,
attributesToRetrieve: ["id"],