feat: reformulado el generador de links para que no sean secuenciales

This commit is contained in:
2026-03-18 16:24:44 -03:00
parent fba107e266
commit e4e400c3be
4 changed files with 37 additions and 26 deletions

View File

@@ -2,6 +2,7 @@ package repository
import (
"fmt"
"math/rand/v2"
"url-short/models"
"gorm.io/gorm"
@@ -38,7 +39,18 @@ func CrearUrl(longURL string, db *gorm.DB) (string, error) {
// }
var url models.Url
result = db.Create(&models.Url{Longurl: longURL}).Scan(&url)
for {
url.Shorturl = rand.Int64()
result = db.Model(&models.Url{}).Where("shorturl = ?", url.Shorturl).Count(&counturl)
if result.Error != nil {
return "", result.Error
}
if counturl == 0 {
break
}
}
result = db.Create(&models.Url{Longurl: longURL, Shorturl: url.Shorturl}).Scan(&url)
shortURL := fmt.Sprintf("%d", url.Shorturl)
if result.Error != nil {