import { query } from '../../../utils/db' export default defineEventHandler(async (event) => { const queryParams = getQuery(event) const targetId = queryParams.target_id as string const period = (queryParams.period as string) || '1h' if (!targetId) { throw createError({ statusCode: 400, message: 'target_id is required' }) } const periodMap: Record = { '1h': '1 hour', '2h': '2 hours', '3h': '3 hours', '4h': '4 hours', '5h': '5 hours', '6h': '6 hours', '12h': '12 hours', '18h': '18 hours', '24h': '24 hours', '7d': '7 days', '30d': '30 days' } const interval = periodMap[period] || '1 hour' let containers: any[] = [] try { containers = await query(` SELECT container_id, container_name, container_status, cpu_percent, memory_usage, memory_limit, memory_percent, uptime, network_rx, network_tx, collected_at FROM server_containers WHERE target_id = $1 AND collected_at >= NOW() - INTERVAL '${interval}' ORDER BY collected_at ASC, container_name ASC `, [targetId]) } catch (e) { containers = [] } return { target_id: targetId, period, data: containers } })