47 lines
936 B
Go
47 lines
936 B
Go
package create
|
|
|
|
import (
|
|
"context"
|
|
"github.com/labstack/echo/v4"
|
|
"log/slog"
|
|
"net/http"
|
|
)
|
|
|
|
// Register @Description Register user
|
|
//
|
|
// @Tags Auth
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param input body requestModel true "Register user"
|
|
// @Success 200 {object} responseModel
|
|
// @Router /api/user/register [post]
|
|
func Register(request echo.Context) error {
|
|
var registerData requestModel
|
|
|
|
// Получение данных
|
|
if err := request.Bind(®isterData); err != nil {
|
|
slog.Error(err.Error())
|
|
return echo.NewHTTPError(400, err.Error())
|
|
}
|
|
|
|
// Валидаций
|
|
err := request.Validate(®isterData)
|
|
if err != nil {
|
|
slog.Error(err.Error())
|
|
return request.JSON(422, err)
|
|
}
|
|
|
|
// reg
|
|
err = RegUserService(
|
|
context.Background(),
|
|
registerData,
|
|
)
|
|
if err != nil {
|
|
slog.Error(err.Error())
|
|
return request.JSON(500, err)
|
|
}
|
|
|
|
slog.Info("User Register success")
|
|
return request.JSON(http.StatusOK, "ok")
|
|
}
|