import { getDb } from '../../../utils/db' export default defineEventHandler((event) => { const query = getQuery(event) const targetId = query.target_id as string const period = (query.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 timeOffset = periodMap[period] || '-1 hour' const db = getDb() const containers = db.prepare(` 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 = ? AND collected_at >= datetime('now', 'localtime', ?) ORDER BY collected_at ASC, container_name ASC `).all(targetId, timeOffset) return { target_id: targetId, period, data: containers } })