aboutsummaryrefslogtreecommitdiffstats
path: root/packages/api/utils
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-09-06 06:24:05 +0000
committerMohamed Bassem <me@mbassem.com>2025-09-06 06:25:15 +0000
commit3760d23abc4d02eb2c3823b8aa322f53914fd9b6 (patch)
tree1d720b1f1d1391317185b319d1fb1fba3f18a274 /packages/api/utils
parentfcfe6a53b49dc2fdff6abac876b41b52f1b0fed7 (diff)
downloadkarakeep-3760d23abc4d02eb2c3823b8aa322f53914fd9b6.tar.zst
refactor: Extract quota logic into its own class
Diffstat (limited to 'packages/api/utils')
-rw-r--r--packages/api/utils/upload.ts11
1 files changed, 6 insertions, 5 deletions
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 };