/** * Monitor API Route * GET /api/monitor - Get all monitoring data * POST /api/monitor/check-sites - Trigger site availability check * @author Descomplicar® | @link descomplicar.pt | @copyright 2026 */ import { Router } from 'express' import type { Request, Response } from 'express' import * as monitoringService from '../services/monitoring.js' const router = Router() // Get monitoring data router.get('/', async (_req: Request, res: Response) => { try { const data = await monitoringService.getMonitoringData() res.json(data) } catch (error) { console.error('Monitor API error:', error) res.status(500).json({ error: 'Internal server error' }) } }) // Trigger site availability check router.post('/check-sites', async (_req: Request, res: Response) => { try { console.log('[Monitor] Manual site check triggered') const result = await monitoringService.checkAllSitesAvailability() res.json({ success: true, message: 'Site check completed', ...result, timestamp: new Date().toISOString() }) } catch (error) { console.error('Site check error:', error) res.status(500).json({ error: 'Internal server error', message: (error as Error).message }) } }) export default router