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' const snapshots = await query(` SELECT log_id, cpu_usage as cpu_percent, memory_usage as memory_percent, disk_usage as disk_percent, is_success as is_online, checked_at as collected_at FROM server_logs WHERE target_id = $1 AND checked_at >= NOW() - INTERVAL '${interval}' ORDER BY checked_at ASC `, [targetId]) return { target_id: targetId, period, data: snapshots } })