From 21076b83d82cee2794610360c1cb2cf222fa3973 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 12 Jul 2025 22:48:29 +0000 Subject: fix: Add ratelimiting to bookmark recrawl and summarization --- packages/trpc/routers/bookmarks.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/trpc/routers/bookmarks.ts b/packages/trpc/routers/bookmarks.ts index b6acadd6..9aa9ec1e 100644 --- a/packages/trpc/routers/bookmarks.ts +++ b/packages/trpc/routers/bookmarks.ts @@ -55,7 +55,7 @@ import { import { normalizeTagName } from "@karakeep/shared/utils/tag"; import type { AuthedContext, Context } from "../index"; -import { authedProcedure, router } from "../index"; +import { authedProcedure, createRateLimitMiddleware, router } from "../index"; import { mapDBAssetTypeToUserType } from "../lib/attachments"; import { getBookmarkIdsFromMatcher } from "../lib/search"; import { Bookmark } from "../models/bookmarks"; @@ -709,6 +709,13 @@ export const bookmarksAppRouter = router({ } }), recrawlBookmark: authedProcedure + .use( + createRateLimitMiddleware({ + name: "bookmarks.recrawlBookmark", + windowMs: 30 * 60 * 1000, + maxRequests: 200, + }), + ) .input( z.object({ bookmarkId: z.string(), @@ -1053,6 +1060,13 @@ export const bookmarksAppRouter = router({ }; }), summarizeBookmark: authedProcedure + .use( + createRateLimitMiddleware({ + name: "bookmarks.summarizeBookmark", + windowMs: 30 * 60 * 1000, + maxRequests: 100, + }), + ) .input( z.object({ bookmarkId: z.string(), -- cgit v1.2.3-70-g09d2