aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-10-13 00:17:55 +0000
committerMohamedBassem <me@mbassem.com>2024-10-13 00:17:55 +0000
commit2ccc15ea8865966618cf804968a5ca14ae364345 (patch)
treeea5b16118e486671547b6a273b72134c960418e8 /packages
parentfb57f25762b053b4560e915b2bc8b65b71db1170 (diff)
downloadkarakeep-2ccc15ea8865966618cf804968a5ca14ae364345.tar.zst
feature: Support regenerating AI tags only for failed bookmarks
Diffstat (limited to 'packages')
-rw-r--r--packages/trpc/routers/admin.ts29
1 files changed, 19 insertions, 10 deletions
diff --git a/packages/trpc/routers/admin.ts b/packages/trpc/routers/admin.ts
index ff1249d0..d8ffe9d3 100644
--- a/packages/trpc/routers/admin.ts
+++ b/packages/trpc/routers/admin.ts
@@ -145,17 +145,26 @@ export const adminAppRouter = router({
await Promise.all(bookmarkIds.map((b) => triggerSearchReindex(b.id)));
}),
- reRunInferenceOnAllBookmarks: adminProcedure.mutation(async ({ ctx }) => {
- const bookmarkIds = await ctx.db.query.bookmarks.findMany({
- columns: {
- id: true,
- },
- });
+ reRunInferenceOnAllBookmarks: adminProcedure
+ .input(
+ z.object({
+ taggingStatus: z.enum(["success", "failure", "all"]),
+ }),
+ )
+ .mutation(async ({ input, ctx }) => {
+ const bookmarkIds = await ctx.db.query.bookmarks.findMany({
+ columns: {
+ id: true,
+ },
+ ...(input.taggingStatus === "all"
+ ? {}
+ : { where: eq(bookmarks.taggingStatus, input.taggingStatus) }),
+ });
- await Promise.all(
- bookmarkIds.map((b) => OpenAIQueue.enqueue({ bookmarkId: b.id })),
- );
- }),
+ await Promise.all(
+ bookmarkIds.map((b) => OpenAIQueue.enqueue({ bookmarkId: b.id })),
+ );
+ }),
tidyAssets: adminProcedure.mutation(async () => {
await TidyAssetsQueue.enqueue({
cleanDanglingAssets: true,