- discord-gateway: 74 lint errors -> 0 (format, import sorting, unused imports/vars, dead breath var) - backend: format + sort imports (11 warnings left: noExplicitAny) - frontend: remove unused imports, drop dead breathing var, fix useExhaustiveDependencies (scroll keyed on messages), a11y biome-ignore for drag surface + stopPropagation container (mouse-only gestures) - remaining warnings are false positives: index keys on static lists, <img> in static export (next/image unsupported), noExplicitAny tsc --noEmit clean on all 3 services; vitest green (60+36).
24 lines
804 B
TypeScript
24 lines
804 B
TypeScript
import { sql } from "drizzle-orm";
|
|
import { createChildLogger } from "@/shared/logger/index";
|
|
import { getDatabase } from "../../shared/database/index.js";
|
|
|
|
const logger = createChildLogger("health.repository");
|
|
|
|
export class HealthRepository {
|
|
async checkDatabaseConnection() {
|
|
try {
|
|
logger.debug("Running database health check");
|
|
const db = getDatabase();
|
|
await db.execute(sql`SELECT 1 AS result`);
|
|
logger.debug("Database health check passed");
|
|
return { connected: true };
|
|
} catch (err: unknown) {
|
|
const message = err instanceof Error ? err.message : String(err);
|
|
logger.error({ error: message }, "Database health check failed");
|
|
return { connected: false, error: message };
|
|
}
|
|
}
|
|
}
|
|
|
|
export const healthRepository = new HealthRepository();
|