Files
lst_v3/backend/system/stats.route.ts
Blake Matthes 6307037985
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m30s
feat(tcp crud): tcp server start, stop, restart endpoints + status check
2026-04-13 17:30:47 -05:00

38 lines
1.2 KiB
TypeScript

import { Router } from "express";
import { connected as gpSql } from "../gpSql/gpSqlConnection.controller.js";
import { connected as prodSql } from "../prodSql/prodSqlConnection.controller.js";
import { prodQuery } from "../prodSql/prodSqlQuery.controller.js";
import {
type SqlQuery,
sqlQuerySelector,
} from "../prodSql/prodSqlQuerySelector.utils.js";
import { isServerRunning } from "../tcpServer/tcp.server.js";
const router = Router();
router.get("/", async (_, res) => {
const used = process.memoryUsage();
const query = sqlQuerySelector("prodSqlStats") as SqlQuery;
const sqlServerStats = await prodQuery(query?.query, "Sql Stats");
res.status(200).json({
status: "ok",
uptime: process.uptime(),
nodeVersion: process.version,
memoryUsage: `Heap: ${(used.heapUsed / 1024 / 1024).toFixed(2)} MB / RSS: ${(
used.rss / 1024 / 1024
).toFixed(2)} MB`,
sqlServerStats: sqlServerStats?.success
? sqlServerStats?.data[0].UptimeSeconds
: [],
eomFGPkgSheetVersion: 1, // this is the excel file version when we have a change to the macro we want to grab this
masterMacroFile: 1,
tcpServerOnline: isServerRunning,
sqlServerConnected: prodSql,
gpServerConnected: gpSql,
});
});
export default router;