import { Router } from 'express'; import { checkDatabaseHealth, isDatabaseConfigured } from '../services/db.js'; export const healthRouter = Router(); function healthHandler(req, res) { res.status(200).json({ ok: true, service: 'krow-query-api', version: process.env.SERVICE_VERSION || 'dev', requestId: req.requestId, }); } healthRouter.get('/health', healthHandler); healthRouter.get('/healthz', healthHandler); healthRouter.get('/readyz', async (req, res) => { if (!isDatabaseConfigured()) { return res.status(503).json({ ok: false, service: 'krow-query-api', status: 'DATABASE_NOT_CONFIGURED', requestId: req.requestId, }); } try { const ok = await checkDatabaseHealth(); return res.status(ok ? 200 : 503).json({ ok, service: 'krow-query-api', status: ok ? 'READY' : 'DATABASE_UNAVAILABLE', requestId: req.requestId, }); } catch (error) { return res.status(503).json({ ok: false, service: 'krow-query-api', status: 'DATABASE_UNAVAILABLE', details: { message: error.message }, requestId: req.requestId, }); } });