package controller import ( "net/http" "strconv" "github.com/labstack/echo/v4" "gitrepo.ru/neonxp/nquest/pkg/contextlib" "gitrepo.ru/neonxp/nquest/pkg/models" "gitrepo.ru/neonxp/nquest/pkg/service" ) type Engine struct { GameService *service.Game } func (ec *Engine) Get(c echo.Context) error { user := contextlib.GetUser(c) team := user.Team.Team gameID, err := strconv.Atoi(c.Param("ID")) if err != nil { return err } game, err := ec.GameService.GetByID(c.Request().Context(), uint(gameID)) if err != nil { return err } state, err := ec.GameService.GetState(c.Request().Context(), game, team) if err != nil { return err } history, err := ec.GameService.GetHistory(c.Request().Context(), game, team) if err != nil { return err } return c.Render( http.StatusOK, "engine_view", &GetReponse{ Game: game, State: state, History: history, }, ) } type GetReponse struct { Game *models.Game State *models.GamePassing History []*models.GamePassing }