mirror of
https://github.com/polaroi8d/cactoide.git
synced 2026-03-22 06:05:28 +00:00
29 lines
771 B
TypeScript
29 lines
771 B
TypeScript
// src/routes/healthz/+server.ts
|
|
import { json } from '@sveltejs/kit';
|
|
import { database } from '$lib/database/db';
|
|
import { sql } from 'drizzle-orm';
|
|
|
|
export async function GET() {
|
|
const startTime = performance.now();
|
|
try {
|
|
await database.execute(sql`select 1`);
|
|
const responseTime = Math.round(performance.now() - startTime);
|
|
return json(
|
|
{ ok: true, responseTime, responseTimeUnit: 'ms' },
|
|
{ headers: { 'cache-control': 'no-store' } }
|
|
);
|
|
} catch (err) {
|
|
const responseTime = Math.round(performance.now() - startTime);
|
|
return json(
|
|
{
|
|
ok: false,
|
|
error: (err as Error)?.message,
|
|
message: 'Database unreachable.',
|
|
responseTime,
|
|
responseTimeUnit: 'ms'
|
|
},
|
|
{ status: 503, headers: { 'cache-control': 'no-store' } }
|
|
);
|
|
}
|
|
}
|