feat: add NWN server stack management service
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user