Files
TeleUploader/src/interfaces/http/controllers/health-controller.ts
T
Claude 667921b100
Deploy FileDrop / deploy (push) Successful in 45s
chore: fix lint errors — duplicate import, unused imports, formatting
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 20:09:42 +07:00

26 lines
1010 B
TypeScript

import { sql } from 'drizzle-orm';
import { db } from '../../../infrastructure/persistence/drizzle/index';
import logger from '../../../shared/logger/index';
import { getErrorMessage } from '../../../shared/utils/file';
/**
* Handles the health-check endpoint.
*
* Verifies database connectivity by executing a simple `SELECT 1` query.
* Returns a 200 response with `{ status: 'ok' }` when the database is
* reachable, or a 500 response with the error details when it is not.
*
* @param _req - The incoming HTTP request (unused).
* @returns A JSON response indicating the database health status.
*/
export const handleHealth = async (_req: Request): Promise<Response> => {
try {
await db.execute(sql`SELECT 1`);
return Response.json({ status: 'ok' }, { status: 200 });
} catch (error: unknown) {
const message = getErrorMessage(error);
logger.error('Health check failed', { error: message });
return Response.json({ status: 'error', error: message }, { status: 500 });
}
};