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 disks = db.prepare(` SELECT disk_id, device_name, mount_point, fs_type, disk_total, disk_used, disk_percent, collected_at FROM server_disks WHERE target_id = ? AND collected_at >= datetime('now', 'localtime', ?) ORDER BY collected_at ASC, mount_point ASC `).all(targetId, timeOffset) return { target_id: targetId, period, data: disks } })