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 snapshots = db.prepare(` SELECT snapshot_id, cpu_percent, cpu_temp, load_percent, memory_percent, memory_used, memory_total, swap_percent, swap_used, swap_total, is_online, collected_at FROM server_snapshots WHERE target_id = ? AND collected_at >= datetime('now', 'localtime', ?) ORDER BY collected_at ASC `).all(targetId, timeOffset) return { target_id: targetId, period, data: snapshots } })