import { Router } from "express"; import { startServer, stopServer, restartServer, getServerStatus, generateServerConfig, seedDatabase, } from "../services/server.service.js"; const router = Router(); router.get("/status", async (_req, res) => { try { const status = await getServerStatus(); res.json(status); } catch (err: any) { res.status(500).json({ error: err.message }); } }); router.post("/start", async (_req, res) => { try { await startServer(); res.json({ ok: true }); } catch (err: any) { res.status(500).json({ error: err.message }); } }); router.post("/stop", async (_req, res) => { try { await stopServer(); res.json({ ok: true }); } catch (err: any) { res.status(500).json({ error: err.message }); } }); router.post("/restart", async (_req, res) => { try { await restartServer(); res.json({ ok: true }); } catch (err: any) { res.status(500).json({ error: err.message }); } }); router.post("/generate-config", async (_req, res) => { try { await generateServerConfig(); res.json({ ok: true }); } catch (err: any) { res.status(500).json({ error: err.message }); } }); router.post("/seed-db", async (req, res) => { const { cdKey, playerName } = req.body; if (!cdKey || !playerName) return res.status(400).json({ error: "cdKey and playerName required" }); try { await seedDatabase(cdKey, playerName); res.json({ ok: true }); } catch (err: any) { res.status(500).json({ error: err.message }); } }); export default router;