From d7cb362c0ba84e0b157f137de8b4317fea042449 Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Wed, 5 Feb 2025 13:58:29 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20status=20endpoint=20(#1546)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/app/api/status/route.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/web/src/app/api/status/route.ts diff --git a/apps/web/src/app/api/status/route.ts b/apps/web/src/app/api/status/route.ts new file mode 100644 index 000000000..1867dd051 --- /dev/null +++ b/apps/web/src/app/api/status/route.ts @@ -0,0 +1,28 @@ +import { prisma } from "@rallly/database"; +import { NextResponse } from "next/server"; + +async function getDatabaseStatus() { + try { + await prisma.$connect(); + return "connected"; + } catch (e) { + return "disconnected"; + } +} + +export const GET = async () => { + const database = await getDatabaseStatus(); + const version = process.env.NEXT_PUBLIC_APP_VERSION || "unknown"; + const environment = process.env.NODE_ENV; + const timestamp = new Date().toISOString(); + + const status = { + status: "ok", + timestamp, + version, + environment, + database, + }; + + return NextResponse.json(status); +};