splits gm-view from normal-view
This commit is contained in:
@@ -26,9 +26,6 @@ final class DiceResource(@Context val sse: Sse) {
|
||||
@POST
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
fun parseCommand(@PathParam("id") id: String, data: RollPayload) {
|
||||
if (!sseBroadcasters.containsKey(id)) {
|
||||
sseBroadcasters[id] = sse.newBroadcaster()
|
||||
}
|
||||
data.roll = data.command.split(" ", "&", "and").filter { it.isNotEmpty() }.map { it.trim() }.toTypedArray<String>()
|
||||
data.room = id.split(":")[0]
|
||||
data.user = id.split(":")[1]
|
||||
@@ -41,6 +38,17 @@ final class DiceResource(@Context val sse: Sse) {
|
||||
}
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/register")
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
fun register(@PathParam("id") id: String, data: Any) {
|
||||
println("id = [${id}], data = [${data}]")
|
||||
sseBroadcasters["register:$id"]?.broadcast(
|
||||
eventBuilder.id((UUID.randomUUID()).toString())
|
||||
.mediaType(MediaType.APPLICATION_JSON_TYPE).data(data).build())
|
||||
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/results")
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@@ -71,6 +79,16 @@ final class DiceResource(@Context val sse: Sse) {
|
||||
sseBroadcasters[id]?.register(sseEventSink)
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/users")
|
||||
@Produces(MediaType.SERVER_SENT_EVENTS)
|
||||
fun users(@PathParam("id") id: String, @Context sseEventSink: SseEventSink) {
|
||||
if (!sseBroadcasters.containsKey("register:$id")) {
|
||||
sseBroadcasters["register:$id"] = sse.newBroadcaster()
|
||||
}
|
||||
sseBroadcasters["register:$id"]?.register(sseEventSink)
|
||||
}
|
||||
|
||||
@RegisterForReflection
|
||||
data class Result(val name: String, val user: String, val themeColor: String) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user