/** * 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