Files
system-monitor/backend/api/network/privnet/status.get.ts
2025-12-28 12:03:48 +09:00

42 lines
1014 B
TypeScript

import { getDb } from '../../../utils/db'
import { privnetScheduler } from '../../../utils/privnet-scheduler'
export default defineEventHandler(() => {
const db = getDb()
// 현재 상태 조회
const status = db.prepare(`
SELECT
ps.*,
pt.name as last_target_name,
pt.url as last_target_url
FROM privnet_status ps
LEFT JOIN privnet_targets pt ON ps.last_target_id = pt.id
WHERE ps.id = 1
`).get()
// 최근 10개 로그
const recentLogs = db.prepare(`
SELECT
pl.*,
pt.name as target_name,
pt.url as target_url
FROM privnet_logs pl
JOIN privnet_targets pt ON pl.target_id = pt.id
ORDER BY pl.checked_at DESC
LIMIT 10
`).all()
// 활성 타겟 수
const targetCount = db.prepare(`
SELECT COUNT(*) as cnt FROM privnet_targets WHERE is_active = 1
`).get() as { cnt: number }
return {
status,
recentLogs,
targetCount: targetCount.cnt,
schedulerRunning: privnetScheduler.getIsRunning()
}
})