hangman/internal/rest_handler/guess_letter.go
2025-06-30 14:23:13 +02:00

37 lines
742 B
Go

package rest_handler
import (
"net/http"
"github.com/labstack/echo/v4"
)
func GuessLetter(c echo.Context) error {
session, user, err := GetData(c)
if err != nil {
return c.String(http.StatusBadRequest, err.Error())
}
if session.CurrentUser != user {
return c.String(http.StatusBadRequest, "It's not the turn of user "+user.Name+". It's the turn of "+session.CurrentUser.Name+".")
}
type BodyContent struct {
Guess string
}
var bodyContent BodyContent
err = c.Bind(&bodyContent)
if err != nil {
return c.String(http.StatusBadRequest, err.Error())
}
_, err = session.GuessLetter(bodyContent.Guess)
if err != nil {
return c.String(http.StatusBadRequest, err.Error())
}
return c.JSON(http.StatusOK, session)
}