@@ -2,6 +2,8 @@ package handlers
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
@@ -67,16 +69,18 @@ func (ag *AuthGroup) RegisterUser(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if ag.Repo.ExistsByLogin(req.Login) {
|
||||
c.JSON(http.StatusConflict, gin.H{"error": "login already exists"})
|
||||
return
|
||||
}
|
||||
|
||||
if _, err := ag.Repo.RegisterUser(req); err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to register user"})
|
||||
id, err := ag.Repo.RegisterUser(req)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "UNIQUE constraint") {
|
||||
c.JSON(http.StatusConflict, gin.H{"error": "login already exists"})
|
||||
return
|
||||
}
|
||||
log.Printf("[register] failed: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("failed to register user: %v", err)})
|
||||
return
|
||||
}
|
||||
|
||||
log.Printf("[register] user registered: id=%s login=%s", id, req.Login)
|
||||
c.JSON(http.StatusOK, gin.H{"message": "user registered"})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user