feat(monitor): integração Beszel/Stack Observer, tickets do observer e novos sites no uptime
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user