aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/game/http.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/game/http.go')
-rw-r--r--backend/game/http.go30
1 files changed, 8 insertions, 22 deletions
diff --git a/backend/game/http.go b/backend/game/http.go
index 8cf7322..d955fa3 100644
--- a/backend/game/http.go
+++ b/backend/game/http.go
@@ -27,22 +27,15 @@ func (h *sockHandler) HandleSockGolfPlay(c echo.Context) error {
}
// TODO: check user permission
- gameId := c.Param("gameId")
- gameIdInt, err := strconv.Atoi(gameId)
+ gameID, err := strconv.Atoi(c.Param("gameId"))
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid game id")
}
- var foundHub *gameHub
- for _, hub := range h.hubs.hubs {
- if hub.game.gameID == gameIdInt {
- foundHub = hub
- break
- }
- }
- if foundHub == nil {
+ hub := h.hubs.getHub(gameID)
+ if hub == nil {
return echo.NewHTTPError(http.StatusNotFound, "Game not found")
}
- return servePlayerWs(foundHub, c.Response(), c.Request(), claims.UserID)
+ return servePlayerWs(hub, c.Response(), c.Request(), claims.UserID)
}
func (h *sockHandler) HandleSockGolfWatch(c echo.Context) error {
@@ -55,20 +48,13 @@ func (h *sockHandler) HandleSockGolfWatch(c echo.Context) error {
return echo.NewHTTPError(http.StatusForbidden, "Permission denied")
}
- gameId := c.Param("gameId")
- gameIdInt, err := strconv.Atoi(gameId)
+ gameID, err := strconv.Atoi(c.Param("gameId"))
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid game id")
}
- var foundHub *gameHub
- for _, hub := range h.hubs.hubs {
- if hub.game.gameID == gameIdInt {
- foundHub = hub
- break
- }
- }
- if foundHub == nil {
+ hub := h.hubs.getHub(gameID)
+ if hub == nil {
return echo.NewHTTPError(http.StatusNotFound, "Game not found")
}
- return serveWatcherWs(foundHub, c.Response(), c.Request())
+ return serveWatcherWs(hub, c.Response(), c.Request())
}