42 lines
1014 B
TypeScript
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()
|
|
}
|
|
})
|