diff --git a/app/api/[[...slugs]]/route.ts b/app/api/[[...slugs]]/route.ts index ab7a67d..e16d1bd 100644 --- a/app/api/[[...slugs]]/route.ts +++ b/app/api/[[...slugs]]/route.ts @@ -1,7 +1,16 @@ import { Elysia } from "elysia" import { healthRoutes } from "@/lib/api/health" -const app = new Elysia({ prefix: "/api" }) +export const app = new Elysia({ prefix: "/api" }) + .onError(({ code, error, set, request }) => { + console.error(`[API Error] ${code} ${request.url}`, + error instanceof Error ? error.message : error + ) + set.status = code === "NOT_FOUND" ? 404 : 500 + return { + error: code === "NOT_FOUND" ? "Not found" : "Internal server error", + } + }) .use(healthRoutes) .get("/", () => ({ name: "DeckyVault API", @@ -13,3 +22,5 @@ export const POST = app.fetch export const PUT = app.fetch export const DELETE = app.fetch export const PATCH = app.fetch + +export type App = typeof app