36 lines
912 B
JavaScript
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;
|