From 3dd23351d0d95862e80c330519ddb6f5379b4539 Mon Sep 17 00:00:00 2001 From: Mathias Wagner <germannewsmaker@gmail.com> Date: Tue, 13 Feb 2024 20:21:05 +0100 Subject: [PATCH] Created the ServerStopRoute.java --- .../mcdash/routes/server/ServerStopRoute.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/de/gnmyt/mcdash/routes/server/ServerStopRoute.java diff --git a/src/main/java/de/gnmyt/mcdash/routes/server/ServerStopRoute.java b/src/main/java/de/gnmyt/mcdash/routes/server/ServerStopRoute.java new file mode 100644 index 0000000..b8ec06e --- /dev/null +++ b/src/main/java/de/gnmyt/mcdash/routes/server/ServerStopRoute.java @@ -0,0 +1,34 @@ +package de.gnmyt.mcdash.routes.server; + +import de.gnmyt.mcdash.MCDashWrapper; +import de.gnmyt.mcdash.api.ServerManager; +import de.gnmyt.mcdash.entities.ServerStatus; +import de.gnmyt.mcdash.handler.DefaultHandler; +import de.gnmyt.mcdash.http.Request; +import de.gnmyt.mcdash.http.ResponseController; + +public class ServerStopRoute extends DefaultHandler { + + private final ServerManager serverManager = MCDashWrapper.getServerManager(); + + @Override + public String path() { + return "stop"; + } + + + @Override + public void post(Request request, ResponseController response) throws Exception { + String uuid = ServerStartRoute.validateRequest(request, response); + if (uuid == null) return; + + if (serverManager.getServer(uuid).getStatus() == ServerStatus.OFFLINE) { + response.code(400).message("The server is already stopped"); + return; + } + + serverManager.stopServer(serverManager.getServer(uuid)); + + response.message("The server has been stopped successfully"); + } +}