From 95f504c0bc0b9ec0930b6c6facefc1a8ea093192 Mon Sep 17 00:00:00 2001 From: Brandon Wong <29965003+brandonw3612@users.noreply.github.com> Date: Sun, 13 Apr 2025 22:50:45 +0200 Subject: feat: add support for filtering by bookmark age (#1228) --- packages/trpc/lib/search.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'packages/trpc/lib/search.ts') diff --git a/packages/trpc/lib/search.ts b/packages/trpc/lib/search.ts index ec582ef9..d4130798 100644 --- a/packages/trpc/lib/search.ts +++ b/packages/trpc/lib/search.ts @@ -25,6 +25,7 @@ import { tagsOnBookmarks, } from "@karakeep/db/schema"; import { Matcher } from "@karakeep/shared/types/search"; +import { toAbsoluteDate } from "@karakeep/shared/utils/relativeDateUtils"; import { AuthedContext } from ".."; @@ -279,6 +280,18 @@ async function getIds( ), ); } + case "age": { + const comp = matcher.relativeDate.direction === "newer" ? gte : lt; + return db + .select({ id: bookmarks.id }) + .from(bookmarks) + .where( + and( + eq(bookmarks.userId, userId), + comp(bookmarks.createdAt, toAbsoluteDate(matcher.relativeDate)), + ), + ); + } case "type": { const comp = matcher.inverse ? ne : eq; return db -- cgit v1.2.3-70-g09d2