diff --git a/src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java b/src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java new file mode 100644 index 0000000..990ce9e --- /dev/null +++ b/src/main/java/de/gnmyt/mcdash/routes/server/ListServersRoute.java @@ -0,0 +1,32 @@ +package de.gnmyt.mcdash.routes.server; + +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 java.util.ArrayList; +import java.util.HashMap; + +import static de.gnmyt.mcdash.routes.server.ServerStartRoute.serverManager; + +public class ListServersRoute extends DefaultHandler { + + @Override + public void get(Request request, ResponseController response) throws Exception { + ArrayList> servers = new ArrayList<>(); + + for (Server server : serverManager.getServers()) { + HashMap serverObj = new HashMap<>(); + + serverObj.put("uuid", server.getName()); + serverObj.put("status", server.getStatus().name()); + + serverObj.put("configuration", server.getConfiguration().toHashMap()); + + servers.add(serverObj); + } + + response.jsonArray(servers); + } +}