diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-06-07 16:46:36 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-06-07 16:46:36 +0000 |
| commit | bc65a73872cf0707d2433c289d1f04423325ed95 (patch) | |
| tree | 95de3c17907e0ea79fbca1d058263b87b3bb4c6f /packages/api/routes/public.ts | |
| parent | a98f02369c5b2aea8831cbbff840fbd2ae395a7d (diff) | |
| download | karakeep-bc65a73872cf0707d2433c289d1f04423325ed95.tar.zst | |
fix: Use a new public list metadata endpoint for metadata generation
Diffstat (limited to 'packages/api/routes/public.ts')
| -rw-r--r-- | packages/api/routes/public.ts | 44 |
1 files changed, 2 insertions, 42 deletions
diff --git a/packages/api/routes/public.ts b/packages/api/routes/public.ts index d17049c4..160a9379 100644 --- a/packages/api/routes/public.ts +++ b/packages/api/routes/public.ts @@ -1,47 +1,7 @@ -import { zValidator } from "@hono/zod-validator"; -import { and, eq } from "drizzle-orm"; import { Hono } from "hono"; -import { z } from "zod"; -import { assets } from "@karakeep/db/schema"; -import { verifySignedToken } from "@karakeep/shared/signedTokens"; -import { zAssetSignedTokenSchema } from "@karakeep/shared/types/assets"; +import assets from "./public/assets"; -import { unauthedMiddleware } from "../middlewares/auth"; -import { serveAsset } from "../utils/assets"; - -const app = new Hono().get( - "/assets/:assetId", - unauthedMiddleware, - zValidator( - "query", - z.object({ - token: z.string(), - }), - ), - async (c) => { - const assetId = c.req.param("assetId"); - const tokenPayload = verifySignedToken( - c.req.valid("query").token, - zAssetSignedTokenSchema, - ); - if (!tokenPayload) { - return c.json({ error: "Invalid or expired token" }, { status: 403 }); - } - if (tokenPayload.assetId !== assetId) { - return c.json({ error: "Invalid or expired token" }, { status: 403 }); - } - const userId = tokenPayload.userId; - - const assetDb = await c.var.ctx.db.query.assets.findFirst({ - where: and(eq(assets.id, assetId), eq(assets.userId, userId)), - }); - - if (!assetDb) { - return c.json({ error: "Asset not found" }, { status: 404 }); - } - return await serveAsset(c, assetId, userId); - }, -); +const app = new Hono().route("/assets", assets); export default app; |
