diff --git a/src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java b/src/main/java/de/gnmyt/mcdash/routes/server/ServersRoute.java similarity index 53% rename from src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java rename to src/main/java/de/gnmyt/mcdash/routes/server/ServersRoute.java index 990ce9e..6aa70b9 100644 --- a/src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java +++ b/src/main/java/de/gnmyt/mcdash/routes/server/ServersRoute.java @@ -1,16 +1,18 @@ package de.gnmyt.mcdash.routes.server; +import de.gnmyt.mcdash.MCDashWrapper; import de.gnmyt.mcdash.entities.Server; import de.gnmyt.mcdash.handler.DefaultHandler; import de.gnmyt.mcdash.http.Request; import de.gnmyt.mcdash.http.ResponseController; +import org.apache.commons.io.FileUtils; import java.util.ArrayList; import java.util.HashMap; import static de.gnmyt.mcdash.routes.server.ServerStartRoute.serverManager; -public class ListServersRoute extends DefaultHandler { +public class ServersRoute extends DefaultHandler { @Override public void get(Request request, ResponseController response) throws Exception { @@ -29,4 +31,22 @@ public class ListServersRoute extends DefaultHandler { response.jsonArray(servers); } + + @Override + public void delete(Request request, ResponseController response) throws Exception { + if (!isStringInBody(request, response, "uuid")) return; + + if (serverManager.getServer(getStringFromBody(request, "uuid")) == null) { + response.code(404).message("The server does not exist"); + return; + } + + serverManager.stopServer(serverManager.getServer(getStringFromBody(request, "uuid"))); + + FileUtils.deleteDirectory(MCDashWrapper.getDataSource("servers/" + getStringFromBody(request, "uuid"))); + + serverManager.refreshServers(); + + response.message("The server has been successfully deleted"); + } }