From a3cba6950e0bf5ff37d47228d0ca2d3c416ca150 Mon Sep 17 00:00:00 2001 From: Adrian Bonpin Date: Sat, 25 Apr 2026 13:04:41 +0800 Subject: [PATCH] feat(api): set up Elysia server with health check on Next.js catch-all route --- app/api/[[...slugs]]/route.ts | 15 +++++++++++++++ lib/api/health.ts | 10 ++++++++++ 2 files changed, 25 insertions(+) create mode 100644 app/api/[[...slugs]]/route.ts create mode 100644 lib/api/health.ts diff --git a/app/api/[[...slugs]]/route.ts b/app/api/[[...slugs]]/route.ts new file mode 100644 index 0000000..ab7a67d --- /dev/null +++ b/app/api/[[...slugs]]/route.ts @@ -0,0 +1,15 @@ +import { Elysia } from "elysia" +import { healthRoutes } from "@/lib/api/health" + +const app = new Elysia({ prefix: "/api" }) + .use(healthRoutes) + .get("/", () => ({ + name: "DeckyVault API", + version: "2026.0.1", + })) + +export const GET = app.fetch +export const POST = app.fetch +export const PUT = app.fetch +export const DELETE = app.fetch +export const PATCH = app.fetch diff --git a/lib/api/health.ts b/lib/api/health.ts new file mode 100644 index 0000000..f9918e3 --- /dev/null +++ b/lib/api/health.ts @@ -0,0 +1,10 @@ +import { Elysia } from "elysia" + +export const healthRoutes = new Elysia({ prefix: "/health" }).get( + "/", + () => ({ + status: "ok", + timestamp: new Date().toISOString(), + service: "deckyvault-api", + }), +)