aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-09-06 06:27:40 +0000
committerMohamed Bassem <me@mbassem.com>2025-09-06 06:27:40 +0000
commita0dd73f5aaba3a9048f937a077357f5a75168ed0 (patch)
treeeaf575afb9bee20e618fc2999cda8bc7a069a236 /apps/workers
parent3760d23abc4d02eb2c3823b8aa322f53914fd9b6 (diff)
downloadkarakeep-a0dd73f5aaba3a9048f937a077357f5a75168ed0.tar.zst
fix: Dont attempt to fetch rss if the user if out of quota
Diffstat (limited to 'apps/workers')
-rw-r--r--apps/workers/workers/feedWorker.ts13
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/workers/workers/feedWorker.ts b/apps/workers/workers/feedWorker.ts
index 62106fc8..74b5f65c 100644
--- a/apps/workers/workers/feedWorker.ts
+++ b/apps/workers/workers/feedWorker.ts
@@ -9,6 +9,7 @@ import { z } from "zod";
import type { ZFeedRequestSchema } from "@karakeep/shared/queues";
import { db } from "@karakeep/db";
import { rssFeedImportsTable, rssFeedsTable } from "@karakeep/db/schema";
+import { QuotaService } from "@karakeep/shared-server";
import logger from "@karakeep/shared/logger";
import { FeedQueue } from "@karakeep/shared/queues";
import { BookmarkTypes } from "@karakeep/shared/types/bookmarks";
@@ -94,6 +95,18 @@ async function run(req: DequeuedJob<ZFeedRequestSchema>) {
`[feed][${jobId}] Feed with id ${req.data.feedId} not found`,
);
}
+
+ // If the user doesn't have bookmark quota, don't bother with fetching the feed
+ {
+ const quotaResult = await QuotaService.canCreateBookmark(db, feed.userId);
+ if (!quotaResult.result) {
+ logger.debug(
+ `[feed][${jobId}] User ${feed.userId} doesn't have enough quota to create bookmarks. Skipping feed fetching.`,
+ );
+ return;
+ }
+ }
+
logger.info(
`[feed][${jobId}] Starting fetching feed "${feed.name}" (${feed.id}) ...`,
);