Added API driven Rooms

This commit is contained in:
2023-11-12 00:59:17 +01:00
parent 2306308071
commit 5d29c387a3
53 changed files with 313 additions and 25 deletions

View File

@@ -0,0 +1,17 @@
package eu.mhsl.minenet.minigames.api.routes.closeRoom;
import eu.mhsl.minenet.minigames.api.Controller;
import eu.mhsl.minenet.minigames.instance.room.Room;
import spark.Response;
import java.util.UUID;
record Req(UUID room) {}
record Resp() {}
public class CloseRoom extends Controller<Req, Resp> {
@Override
public Resp handle(Req request, Response response) throws Exception {
Room.deleteRoom(Room.getRoom(request.room()).orElseThrow());
return new Resp();
}
}

View File

@@ -0,0 +1,17 @@
package eu.mhsl.minenet.minigames.api.routes.createRoom;
import eu.mhsl.minenet.minigames.api.Controller;
import eu.mhsl.minenet.minigames.instance.room.Room;
import spark.Response;
import java.util.UUID;
record Req() {}
record Resp(UUID uuid) {}
public class CreateRoom extends Controller<Req, Resp> {
@Override
public Resp handle(Req request, Response response) throws Exception {
Room createdRoom = Room.createOwnerlessRoom();
return new Resp(createdRoom.uuid);
}
}

View File

@@ -0,0 +1,19 @@
package eu.mhsl.minenet.minigames.api.routes.queueRoom;
import eu.mhsl.minenet.minigames.api.Controller;
import eu.mhsl.minenet.minigames.api.QueuedPlayerRooms;
import eu.mhsl.minenet.minigames.instance.room.Room;
import spark.Response;
import java.util.UUID;
record Req(UUID player, UUID room) {}
record Resp() {}
public class QueueRoom extends Controller<Req, Resp> {
@Override
public Resp handle(Req request, Response response) throws Exception {
if(Room.getRoom(request.room()).isEmpty()) throw new Exception("Room not found");
QueuedPlayerRooms.queuePlayer(request.player(), request.room());
return new Resp();
}
}