Added API driven Rooms
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user