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