import { Hono } from "hono"; import { getConfig, getDb } from "../db/index"; const app = new Hono(); app.get("/", (c) => { const db = getDb(); const totalItems = (db.prepare("SELECT COUNT(*) as n FROM media_items").get() as { n: number }).n; const scanned = ( db.prepare("SELECT COUNT(*) as n FROM media_items WHERE scan_status = 'scanned'").get() as { n: number } ).n; const needsAction = ( db.prepare("SELECT COUNT(*) as n FROM review_plans WHERE status = 'pending' AND is_noop = 0").get() as { n: number } ).n; const noChange = (db.prepare("SELECT COUNT(*) as n FROM review_plans WHERE is_noop = 1").get() as { n: number }).n; const approved = ( db.prepare("SELECT COUNT(*) as n FROM review_plans WHERE status = 'approved'").get() as { n: number } ).n; const done = (db.prepare("SELECT COUNT(*) as n FROM review_plans WHERE status = 'done'").get() as { n: number }).n; const errors = (db.prepare("SELECT COUNT(*) as n FROM review_plans WHERE status = 'error'").get() as { n: number }).n; const scanRunning = getConfig("scan_running") === "1"; const setupComplete = getConfig("setup_complete") === "1"; return c.json({ stats: { totalItems, scanned, needsAction, approved, done, errors, noChange }, scanRunning, setupComplete, }); }); export default app;