From 3760d23abc4d02eb2c3823b8aa322f53914fd9b6 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 6 Sep 2025 06:24:05 +0000 Subject: refactor: Extract quota logic into its own class --- packages/api/utils/upload.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'packages/api/utils') diff --git a/packages/api/utils/upload.ts b/packages/api/utils/upload.ts index 6f18790b..a843e29c 100644 --- a/packages/api/utils/upload.ts +++ b/packages/api/utils/upload.ts @@ -5,6 +5,7 @@ import { Readable } from "stream"; import { pipeline } from "stream/promises"; import { assets, AssetTypes } from "@karakeep/db/schema"; +import { QuotaService, StorageQuotaError } from "@karakeep/shared-server"; import { newAssetId, saveAssetFromFile, @@ -12,10 +13,6 @@ import { } from "@karakeep/shared/assetdb"; import serverConfig from "@karakeep/shared/config"; import { AuthedContext } from "@karakeep/trpc"; -import { - checkStorageQuota, - StorageQuotaError, -} from "@karakeep/trpc/lib/storageQuota"; const MAX_UPLOAD_SIZE_BYTES = serverConfig.maxAssetSizeMb * 1024 * 1024; @@ -73,7 +70,11 @@ export async function uploadAsset( let quotaApproved; try { - quotaApproved = await checkStorageQuota(db, user.id, data.size); + quotaApproved = await QuotaService.checkStorageQuota( + db, + user.id, + data.size, + ); } catch (error) { if (error instanceof StorageQuotaError) { return { error: error.message, status: 403 }; -- cgit v1.2.3-70-g09d2