import { Router, Request, Response } from 'express' import db from '../db.js' const router = Router() // GET /api/sites — list all sites (public, for login page) router.get('/', (_req: Request, res: Response) => { const sites = db.prepare('SELECT id, name, url, created_at, updated_at FROM sites ORDER BY id').all() res.json({ success: true, data: sites }) }) // POST /api/sites — create site router.post('/', (req: Request, res: Response) => { const { name, url } = req.body if (!name || !url) { res.json({ success: false, message: '站点名称和 URL 不能为空' }) return } const result = db.prepare('INSERT INTO sites (name, url) VALUES (?, ?)').run(name, url.replace(/\/+$/, '')) const site = db.prepare('SELECT * FROM sites WHERE id = ?').get(result.lastInsertRowid) res.json({ success: true, data: site }) }) // PUT /api/sites/:id — update site router.put('/:id', (req: Request, res: Response) => { const { name, url } = req.body const { id } = req.params db.prepare("UPDATE sites SET name = ?, url = ?, updated_at = datetime('now') WHERE id = ?") .run(name, url.replace(/\/+$/, ''), id) const site = db.prepare('SELECT * FROM sites WHERE id = ?').get(id) res.json({ success: true, data: site }) }) // DELETE /api/sites/:id — delete site router.delete('/:id', (req: Request, res: Response) => { const { id } = req.params db.prepare('DELETE FROM sites WHERE id = ?').run(id) res.json({ success: true }) }) export default router