aboutsummaryrefslogtreecommitdiffstats
path: root/packages/api/routes/public.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-06-07 16:46:36 +0000
committerMohamed Bassem <me@mbassem.com>2025-06-07 16:46:36 +0000
commitbc65a73872cf0707d2433c289d1f04423325ed95 (patch)
tree95de3c17907e0ea79fbca1d058263b87b3bb4c6f /packages/api/routes/public.ts
parenta98f02369c5b2aea8831cbbff840fbd2ae395a7d (diff)
downloadkarakeep-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.ts44
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;