71 lines
1.5 KiB
TypeScript
71 lines
1.5 KiB
TypeScript
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;
|