fix: reg
ci-agent / build (push) Failing after 2m36s

This commit is contained in:
d3m0k1d
2026-04-04 20:08:45 +03:00
parent 134777de10
commit f8c413a498
2 changed files with 18 additions and 11 deletions
+11 -7
View File
@@ -2,6 +2,8 @@ package handlers
import ( import (
"errors" "errors"
"fmt"
"log"
"net/http" "net/http"
"strings" "strings"
@@ -67,16 +69,18 @@ func (ag *AuthGroup) RegisterUser(c *gin.Context) {
return return
} }
if ag.Repo.ExistsByLogin(req.Login) { id, err := ag.Repo.RegisterUser(req)
c.JSON(http.StatusConflict, gin.H{"error": "login already exists"}) if err != nil {
return if strings.Contains(err.Error(), "UNIQUE constraint") {
} 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"}) log.Printf("[register] failed: %v", err)
c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("failed to register user: %v", err)})
return return
} }
log.Printf("[register] user registered: id=%s login=%s", id, req.Login)
c.JSON(http.StatusOK, gin.H{"message": "user registered"}) c.JSON(http.StatusOK, gin.H{"message": "user registered"})
} }
+7 -4
View File
@@ -3,6 +3,8 @@ package repository
import ( import (
"database/sql" "database/sql"
"errors" "errors"
"fmt"
"log"
"strconv" "strconv"
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/storage" "gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/storage"
@@ -75,12 +77,12 @@ func (r *Repository) CreateToken(tc TokenCreate) (string, error) {
func (r *Repository) RegisterUser(ur UserRegister) (string, error) { func (r *Repository) RegisterUser(ur UserRegister) (string, error) {
hashed, err := bcrypt.GenerateFromPassword([]byte(ur.Password), bcrypt.DefaultCost) hashed, err := bcrypt.GenerateFromPassword([]byte(ur.Password), bcrypt.DefaultCost)
if err != nil { if err != nil {
return "", err return "", fmt.Errorf("hash password: %w", err)
} }
token, err := utils.RandomToken() token, err := utils.RandomToken()
if err != nil { if err != nil {
return "", err return "", fmt.Errorf("generate token: %w", err)
} }
result, err := r.DB.Exec( result, err := r.DB.Exec(
@@ -93,13 +95,14 @@ func (r *Repository) RegisterUser(ur UserRegister) (string, error) {
token, token,
) )
if err != nil { if err != nil {
return "", err return "", fmt.Errorf("insert user: %w", err)
} }
id, err := result.LastInsertId() id, err := result.LastInsertId()
if err != nil { if err != nil {
return "", err return "", fmt.Errorf("get last insert id: %w", err)
} }
log.Printf("[register] user created: id=%s login=%s", strconv.FormatInt(id, 10), ur.Login)
return strconv.FormatInt(id, 10), nil return strconv.FormatInt(id, 10), nil
} }