iboard/server/routes/monitors.js
cheney eddddc56ae
All checks were successful
Docker Build and Push / build-image (push) Successful in 3m1s
完成基础功能
2026-08-06 16:55:03 +08:00

36 lines
992 B
JavaScript

import { Router } from 'express'
import { prisma } from '../db.js'
import { authRequired } from '../middleware.js'
import { fetchServers, fetchHistory } from '../komari-client.js'
const router = Router()
router.use(authRequired)
// 服务器节点列表: 实时从 komari 拉取 (不落库)
router.get('/servers', async (_req, res, next) => {
try {
const items = await fetchServers()
res.json({ items })
} catch (e) { next(e) }
})
// 节点时序: komari 保留最近 24h, 1 分钟粒度 (不落库)
router.get('/servers/:uuid/history', async (req, res, next) => {
try {
const items = await fetchHistory(req.params.uuid)
res.json({ items })
} catch (e) { next(e) }
})
// 服务健康列表 (服务监控暂留空, 接口保留)
router.get('/services', async (_req, res, next) => {
try {
const rows = await prisma.serviceCheck.findMany({
orderBy: { name: 'asc' },
})
res.json({ items: rows })
} catch (e) { next(e) }
})
export default router