Files
system-monitor/backend/api/network/pubnet/status.get.ts
2025-12-28 14:31:12 +09:00

37 lines
919 B
TypeScript

import { query, queryOne } from '../../../utils/db'
import { pubnetScheduler } from '../../../utils/pubnet-scheduler'
export default defineEventHandler(async () => {
const status = await queryOne(`
SELECT
ps.*,
pt.name as last_target_name,
pt.url as last_target_url
FROM pubnet_status ps
LEFT JOIN pubnet_targets pt ON ps.last_target_id = pt.id
WHERE ps.id = 1
`)
const recentLogs = await query(`
SELECT
pl.*,
pt.name as target_name,
pt.url as target_url
FROM pubnet_logs pl
JOIN pubnet_targets pt ON pl.target_id = pt.id
ORDER BY pl.checked_at DESC
LIMIT 10
`)
const targetCount = await queryOne<{ cnt: number }>(`
SELECT COUNT(*) as cnt FROM pubnet_targets WHERE is_active = 1
`)
return {
status,
recentLogs,
targetCount: targetCount?.cnt || 0,
schedulerRunning: pubnetScheduler.getIsRunning()
}
})