fix: unique user id in user session;
feat: login controller method; fix: name validation hander
This commit is contained in:
@@ -59,7 +59,25 @@ func NewAuthController(_log *zap.Logger, as services.AuthService) AuthController
|
|||||||
// @Success 200 {object} models.LoginResponse "desc"
|
// @Success 200 {object} models.LoginResponse "desc"
|
||||||
// @Router /auth/login [post]
|
// @Router /auth/login [post]
|
||||||
func (a *authControllerImpl) Login(c *gin.Context) {
|
func (a *authControllerImpl) Login(c *gin.Context) {
|
||||||
c.Status(http.StatusNotImplemented)
|
request, ok := utils.GetRequest[models.LoginRequest](c)
|
||||||
|
if !ok {
|
||||||
|
c.Status(http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := a.authService.Login(request.Body)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, errs.ErrForbidden) {
|
||||||
|
c.Status(http.StatusForbidden)
|
||||||
|
} else {
|
||||||
|
c.Status(http.StatusInternalServerError)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Status(http.StatusOK)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// PasswordResetBegin implements AuthController.
|
// PasswordResetBegin implements AuthController.
|
||||||
@@ -158,7 +176,7 @@ func (a *authControllerImpl) RegistrationComplete(c *gin.Context) {
|
|||||||
func (a *authControllerImpl) RegisterRoutes(group *gin.RouterGroup) {
|
func (a *authControllerImpl) RegisterRoutes(group *gin.RouterGroup) {
|
||||||
group.POST("/registrationBegin", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.RegistrationBegin)
|
group.POST("/registrationBegin", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.RegistrationBegin)
|
||||||
group.POST("/registrationComplete", middleware.RequestMiddleware[models.RegistrationCompleteRequest](enums.GuestRole), a.RegistrationComplete)
|
group.POST("/registrationComplete", middleware.RequestMiddleware[models.RegistrationCompleteRequest](enums.GuestRole), a.RegistrationComplete)
|
||||||
group.POST("/login", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.Login)
|
group.POST("/login", middleware.RequestMiddleware[models.LoginRequest](enums.GuestRole), a.Login)
|
||||||
group.POST("/refresh", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.UserRole), a.Refresh)
|
group.POST("/refresh", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.UserRole), a.Refresh)
|
||||||
group.POST("/passwordResetBegin", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.PasswordResetBegin)
|
group.POST("/passwordResetBegin", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.PasswordResetBegin)
|
||||||
group.POST("/passwordResetComplete", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.PasswordResetComplete)
|
group.POST("/passwordResetComplete", middleware.RequestMiddleware[models.RegistrationBeginRequest](enums.GuestRole), a.PasswordResetComplete)
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ func GetCustomHandlers() []CustomValidatorHandler {
|
|||||||
FieldName: "name",
|
FieldName: "name",
|
||||||
Function: func(fl validator.FieldLevel) bool {
|
Function: func(fl validator.FieldLevel) bool {
|
||||||
username := fl.Field().String()
|
username := fl.Field().String()
|
||||||
return regexp.MustCompile(`^[.]{1,75}$`).MatchString(username)
|
return regexp.MustCompile(`^.{1,75}$`).MatchString(username)
|
||||||
}},
|
}},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ CREATE TABLE IF NOT EXISTS "confirmation_codes" (
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS "sessions" (
|
CREATE TABLE IF NOT EXISTS "sessions" (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id BIGSERIAL PRIMARY KEY,
|
||||||
user_id BIGINT UNIQUE NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
guid UUID NOT NULL DEFAULT gen_random_uuid(),
|
guid UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||||
name VARCHAR(100),
|
name VARCHAR(100),
|
||||||
platform VARCHAR(32),
|
platform VARCHAR(32),
|
||||||
|
|||||||
Reference in New Issue
Block a user