Files
lcbp3.np-dms.work/backend/src/routes/ops.js

36 lines
912 B
JavaScript

// FILE: src/routes/ops.js
// Ops routes
// - GET /ready for readiness check (DB connection)
// - GET /live for liveness check
// - GET /version to get app version from package.json
import { Router } from "express";
import { sequelize } from "../db/sequelize.js";
import fs from "fs";
import path from "path";
const r = Router();
r.get("/ready", async (_req, res) => {
try {
await sequelize.query("SELECT 1");
return res.json({ ready: true });
} catch {
return res.status(500).json({ ready: false });
}
});
r.get("/live", (_req, res) => res.json({ live: true }));
r.get("/version", (_req, res) => {
try {
const pkgPath = path.resolve(process.cwd(), "package.json");
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
res.json({ name: pkg.name, version: pkg.version });
} catch {
res.json({ name: "dms-backend", version: "unknown" });
}
});
export default r;