aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/routers/admin.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-10-26 09:58:51 +0000
committerGitHub <noreply@github.com>2025-10-26 09:58:51 +0000
commit6ea5dd194e7be62c1a51566f31808be076d3b139 (patch)
tree3a7d207bfd78a4e18d9ef135c7b5fef1106a318f /packages/trpc/routers/admin.ts
parent046c29dcf1083f0ab89b080f7696e6d642a6bd17 (diff)
downloadkarakeep-6ea5dd194e7be62c1a51566f31808be076d3b139.tar.zst
refactor: generalize tidy assets queue into admin maintenance (#2059)
* refactor: generalize admin maintenance queue * more fixes
Diffstat (limited to 'packages/trpc/routers/admin.ts')
-rw-r--r--packages/trpc/routers/admin.ts30
1 files changed, 16 insertions, 14 deletions
diff --git a/packages/trpc/routers/admin.ts b/packages/trpc/routers/admin.ts
index a40dfa6f..881d947c 100644
--- a/packages/trpc/routers/admin.ts
+++ b/packages/trpc/routers/admin.ts
@@ -4,15 +4,16 @@ import { z } from "zod";
import { assets, bookmarkLinks, bookmarks, users } from "@karakeep/db/schema";
import {
+ AdminMaintenanceQueue,
AssetPreprocessingQueue,
FeedQueue,
LinkCrawlerQueue,
OpenAIQueue,
SearchIndexingQueue,
- TidyAssetsQueue,
triggerSearchReindex,
VideoWorkerQueue,
WebhookQueue,
+ zAdminMaintenanceTaskSchema,
} from "@karakeep/shared-server";
import serverConfig from "@karakeep/shared/config";
import { PluginManager, PluginType } from "@karakeep/shared/plugins";
@@ -63,7 +64,7 @@ export const adminAppRouter = router({
indexingStats: z.object({
queued: z.number(),
}),
- tidyAssetsStats: z.object({
+ adminMaintenanceStats: z.object({
queued: z.number(),
}),
videoStats: z.object({
@@ -95,8 +96,8 @@ export const adminAppRouter = router({
[{ value: pendingInference }],
[{ value: failedInference }],
- // Tidy Assets
- queuedTidyAssets,
+ // Admin maintenance
+ queuedAdminMaintenance,
// Video
queuedVideo,
@@ -145,8 +146,8 @@ export const adminAppRouter = router({
),
),
- // Tidy Assets
- TidyAssetsQueue.stats(),
+ // Admin maintenance
+ AdminMaintenanceQueue.stats(),
// Video
VideoWorkerQueue.stats(),
@@ -175,8 +176,10 @@ export const adminAppRouter = router({
indexingStats: {
queued: queuedIndexing.pending + queuedIndexing.pending_retry,
},
- tidyAssetsStats: {
- queued: queuedTidyAssets.pending + queuedTidyAssets.pending_retry,
+ adminMaintenanceStats: {
+ queued:
+ queuedAdminMaintenance.pending +
+ queuedAdminMaintenance.pending_retry,
},
videoStats: {
queued: queuedVideo.pending + queuedVideo.pending_retry,
@@ -277,12 +280,11 @@ export const adminAppRouter = router({
),
);
}),
- tidyAssets: adminProcedure.mutation(async () => {
- await TidyAssetsQueue.enqueue({
- cleanDanglingAssets: true,
- syncAssetMetadata: true,
- });
- }),
+ runAdminMaintenanceTask: adminProcedure
+ .input(zAdminMaintenanceTaskSchema)
+ .mutation(async ({ input }) => {
+ await AdminMaintenanceQueue.enqueue(input);
+ }),
userStats: adminProcedure
.output(
z.record(