diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-19 02:21:54 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-19 02:23:04 +0000 |
| commit | aa7d68a00cbe9d7d3733f4cd02061d4586af061c (patch) | |
| tree | c4382ba683b5245f2bfeb0c3595f8768f39cc905 /apps/web/app/api/assets/route.ts | |
| parent | 785a5b574992296e187a66412dd42f7b4a686353 (diff) | |
| download | karakeep-aa7d68a00cbe9d7d3733f4cd02061d4586af061c.tar.zst | |
refactor: Change asset storage to be the filesystem instead of sqlite
Diffstat (limited to 'apps/web/app/api/assets/route.ts')
| -rw-r--r-- | apps/web/app/api/assets/route.ts | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/apps/web/app/api/assets/route.ts b/apps/web/app/api/assets/route.ts index 2caa4d4c..4e1746b3 100644 --- a/apps/web/app/api/assets/route.ts +++ b/apps/web/app/api/assets/route.ts @@ -1,8 +1,7 @@ import { createContextFromRequest } from "@/server/api/client"; import type { ZUploadResponse } from "@hoarder/trpc/types/uploads"; -import { db } from "@hoarder/db"; -import { assets } from "@hoarder/db/schema"; +import { saveAsset } from "@hoarder/shared/assetdb"; const SUPPORTED_ASSET_TYPES = new Set(["image/jpeg", "image/png"]); @@ -34,19 +33,18 @@ export async function POST(request: Request) { return Response.json({ error: "Bad request" }, { status: 400 }); } - const [dbRes] = await db - .insert(assets) - .values({ - encoding: "binary", - contentType: contentType, - blob: buffer, - userId: ctx.user.id, - }) - .returning(); + const assetId = crypto.randomUUID(); + + await saveAsset({ + userId: ctx.user.id, + assetId, + metadata: { contentType }, + asset: buffer, + }); return Response.json({ - assetId: dbRes.id, - contentType: dbRes.contentType, + assetId, + contentType, size: buffer.byteLength, } satisfies ZUploadResponse); } |
