From fba107e266c1a944a3d2b090cc5fdf4c182ccc88 Mon Sep 17 00:00:00 2001 From: fede Date: Tue, 17 Mar 2026 15:23:50 -0300 Subject: [PATCH 1/6] actualizado gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index f3fb968..c782be2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ front/node_modules shorturls.db +front/dist +url-short -- 2.52.0 From e4e400c3be9e983ca8c9b0bad73c0d0ab1db80e0 Mon Sep 17 00:00:00 2001 From: fede Date: Wed, 18 Mar 2026 16:24:44 -0300 Subject: [PATCH 2/6] feat: reformulado el generador de links para que no sean secuenciales --- front/src/App.svelte | 12 -------- front/src/assets/hooks/getUrl.js | 2 +- front/src/assets/lib/AcortadorForm.svelte | 35 +++++++++++++++-------- repository/CrearUrl.go | 14 ++++++++- 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/front/src/App.svelte b/front/src/App.svelte index 94cbe5b..1acc522 100644 --- a/front/src/App.svelte +++ b/front/src/App.svelte @@ -1,18 +1,6 @@
diff --git a/front/src/assets/hooks/getUrl.js b/front/src/assets/hooks/getUrl.js index 760a15c..e6c9db1 100644 --- a/front/src/assets/hooks/getUrl.js +++ b/front/src/assets/hooks/getUrl.js @@ -8,6 +8,6 @@ export const url = readable( export const redirect = readable( typeof window !== "undefined" && window.location.hostname === "localhost" - ? "http://localhost:5173/short" + ? "http://localhost:8080/" : "https://fedesrv.ddns.net/s", ); diff --git a/front/src/assets/lib/AcortadorForm.svelte b/front/src/assets/lib/AcortadorForm.svelte index d985e1e..e8b6a15 100644 --- a/front/src/assets/lib/AcortadorForm.svelte +++ b/front/src/assets/lib/AcortadorForm.svelte @@ -13,16 +13,16 @@ onsubmit={async (e) => { e.preventDefault(); // console.log(e.target[0].value); - // console.log(input); + console.log($url); const req = { longUrl: input.value }; try { - const res = await fetch($url + "/url", { + const res = await fetch(`${$url}/url/`, { method: "POST", body: JSON.stringify({ ...req }), }); if (res.ok) { const data = await res.json(); - // console.log(data.shortUrl); + console.log(data.shortUrl); popup = data.shortUrl; } } catch { @@ -36,15 +36,26 @@ {#if popup} {/if} diff --git a/repository/CrearUrl.go b/repository/CrearUrl.go index 3187137..c46a1f6 100644 --- a/repository/CrearUrl.go +++ b/repository/CrearUrl.go @@ -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 { -- 2.52.0 From 8fc86d9fb6524701c66cce847282c8bdf2b2cfb6 Mon Sep 17 00:00:00 2001 From: fede Date: Wed, 18 Mar 2026 16:30:24 -0300 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20a=C3=B1adido=20reset=20al=20form=20?= =?UTF-8?q?de=20recorte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/assets/lib/AcortadorForm.svelte | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/front/src/assets/lib/AcortadorForm.svelte b/front/src/assets/lib/AcortadorForm.svelte index e8b6a15..289e0ac 100644 --- a/front/src/assets/lib/AcortadorForm.svelte +++ b/front/src/assets/lib/AcortadorForm.svelte @@ -30,6 +30,7 @@ } }} > + @@ -93,4 +94,8 @@ .popup-dialog button:hover { background-color: #0056b3; } + button, + input { + padding: 0.25rem; + } -- 2.52.0 From 1e1a05566fcb8217b205f81cfb05d20f0fbb9104 Mon Sep 17 00:00:00 2001 From: fede Date: Wed, 18 Mar 2026 16:53:40 -0300 Subject: [PATCH 4/6] fix: un par de logs quedaron sin comentar --- front/src/assets/lib/AcortadorForm.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/src/assets/lib/AcortadorForm.svelte b/front/src/assets/lib/AcortadorForm.svelte index 289e0ac..2c4f5e1 100644 --- a/front/src/assets/lib/AcortadorForm.svelte +++ b/front/src/assets/lib/AcortadorForm.svelte @@ -13,7 +13,7 @@ onsubmit={async (e) => { e.preventDefault(); // console.log(e.target[0].value); - console.log($url); + // console.log($url); const req = { longUrl: input.value }; try { const res = await fetch(`${$url}/url/`, { @@ -22,7 +22,7 @@ }); if (res.ok) { const data = await res.json(); - console.log(data.shortUrl); + // console.log(data.shortUrl); popup = data.shortUrl; } } catch { -- 2.52.0 From 018e361f4ea12a0f4d12cafc84c871da6abbcade Mon Sep 17 00:00:00 2001 From: fede Date: Wed, 18 Mar 2026 16:54:05 -0300 Subject: [PATCH 5/6] feat(ui): cambio de nombre en el title del acortador --- front/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/index.html b/front/index.html index a00d206..e324006 100644 --- a/front/index.html +++ b/front/index.html @@ -10,7 +10,7 @@ href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap" rel="stylesheet" /> - front + Acortador de Urls
-- 2.52.0 From fa72a037822d574829b4b10762c3d03558b35333 Mon Sep 17 00:00:00 2001 From: fede Date: Sat, 21 Mar 2026 17:21:59 -0300 Subject: [PATCH 6/6] feat: ahora puede generar numeros negativos --- repository/CrearUrl.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repository/CrearUrl.go b/repository/CrearUrl.go index c46a1f6..910b76c 100644 --- a/repository/CrearUrl.go +++ b/repository/CrearUrl.go @@ -40,7 +40,7 @@ func CrearUrl(longURL string, db *gorm.DB) (string, error) { var url models.Url for { - url.Shorturl = rand.Int64() + url.Shorturl = int64(rand.Uint64()) result = db.Model(&models.Url{}).Where("shorturl = ?", url.Shorturl).Count(&counturl) if result.Error != nil { return "", result.Error -- 2.52.0