Files
system-monitor/backend/api/server/history/disk-list.get.ts
2025-12-28 14:31:12 +09:00

32 lines
853 B
TypeScript

import { query } from '../../../utils/db'
export default defineEventHandler(async (event) => {
const queryParams = getQuery(event)
const targetId = queryParams.target_id as string
if (!targetId) {
throw createError({
statusCode: 400,
message: 'target_id is required'
})
}
let disks: any[] = []
try {
disks = await query(`
SELECT DISTINCT device_name, mount_point, fs_type, disk_total, disk_used, disk_percent
FROM server_disks
WHERE target_id = $1
AND collected_at = (SELECT MAX(collected_at) FROM server_disks WHERE target_id = $1)
AND device_name NOT LIKE '%loop%'
AND mount_point NOT LIKE '%/snap%'
AND fs_type NOT IN ('tmpfs', 'squashfs', 'overlay')
ORDER BY mount_point ASC
`, [targetId])
} catch (e) {
disks = []
}
return disks
})