Files
neko-rooms/internal/api/lobby.go
T
Miroslav Šedivý 247f351206 move lobby to proxy.
2022-08-04 00:44:17 +02:00

36 lines
618 B
Go

package api
import (
"net/http"
"strings"
"github.com/go-chi/chi"
"github.com/m1k1o/neko-rooms/internal/proxy"
)
func (manager *ApiManagerCtx) RoomLobby(w http.ResponseWriter, r *http.Request) {
if !manager.conf.Lobby {
http.NotFound(w, r)
}
roomName := chi.URLParam(r, "roomName")
response, err := manager.rooms.FindByName(roomName)
if err != nil || response.Name != roomName {
proxy.RoomNotFound(w, r)
return
}
if !response.Running {
proxy.RoomNotRunning(w, r)
return
}
if strings.Contains(response.Status, "starting") {
proxy.RoomNotReady(w, r)
return
}
proxy.RoomReady(w, r)
}