package rest_handler import ( "encoding/base64" "net/http" "gitea.elara.ws/Hazel/hangman/internal/game" "github.com/labstack/echo/v4" ) func CreateUser(c echo.Context) error { session, err := game.GetSession(c.Param("session")) if err != nil { return c.String(http.StatusBadRequest, err.Error()) } type BodyContent struct { Name string PublicKey string } var bodyContent BodyContent err = c.Bind(&bodyContent) if err != nil { return c.String(http.StatusBadRequest, err.Error()) } pub, err := base64.StdEncoding.DecodeString(bodyContent.PublicKey) if err != nil { return c.String(http.StatusBadRequest, err.Error()) } user := session.AddUser(game.User{ Name: bodyContent.Name, PublicKey: pub, }) return c.JSON(http.StatusOK, ResponseData{ Session: session, User: user, }) }