feat(monitor): integração Beszel/Stack Observer, tickets do observer e novos sites no uptime

This commit is contained in:
2026-10-28 16:00:59 +00:00
parent 2bbc12e8b4
commit ca9a07b1d9
12 changed files with 1110 additions and 7 deletions
+36
View File
@@ -0,0 +1,36 @@
/**
* Beszel Fleet API Route
* GET /api/beszel — fleet data from MySQL
* POST /api/beszel/collect — trigger fresh collection
* @author Descomplicar® | @link descomplicar.pt | @copyright 2026
*/
import { Router } from 'express'
import { getFleetData, collectBeszelFleet } from '../services/beszel.js'
const router = Router()
// GET /api/beszel — fleet data
router.get('/', async (_req, res) => {
try {
const data = await getFleetData()
res.json(data)
} catch (err: unknown) {
const message = err instanceof Error ? err.message : 'Unknown error'
console.error('[BESZEL API] GET failed:', message)
res.status(500).json({ error: message })
}
})
// POST /api/beszel/collect — trigger collection
router.post('/collect', async (_req, res) => {
try {
const data = await collectBeszelFleet()
res.json({ ok: true, collected: data.total, up: data.up, down: data.down })
} catch (err: unknown) {
const message = err instanceof Error ? err.message : 'Unknown error'
console.error('[BESZEL API] Collect failed:', message)
res.status(500).json({ error: message })
}
})
export default router