|
@@ -2,6 +2,7 @@ package infrastructure
|
|
|
|
|
|
import (
|
|
|
"database/sql"
|
|
|
+ "github.com/nicksnyder/go-i18n/v2/i18n"
|
|
|
|
|
|
"code.osinet.fr/fgm/kurz/domain"
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
@@ -15,7 +16,7 @@ type MySQLTargetURLRepository struct {
|
|
|
DB *sql.DB
|
|
|
}
|
|
|
|
|
|
-func (sr MySQLShortURLRepository) GetTarget(su domain.ShortURL) (domain.TargetURL, error) {
|
|
|
+func (sr MySQLShortURLRepository) GetTarget(su domain.ShortURL, localizer *i18n.Localizer) (domain.TargetURL, error) {
|
|
|
var tu domain.TargetURL
|
|
|
row := sr.DB.QueryRow(`
|
|
|
SELECT map.url
|
|
@@ -25,11 +26,11 @@ WHERE map.hash = ?
|
|
|
err := row.Scan(&tu.URL)
|
|
|
switch err {
|
|
|
case sql.ErrNoRows:
|
|
|
- err = domain.MakeError(domain.ShortNotFound, string(su.URL))
|
|
|
+ err = domain.MakeError(nil, domain.ShortNotFound.ID, string(su.URL))
|
|
|
case nil:
|
|
|
break
|
|
|
default:
|
|
|
- err = domain.MakeError(domain.StorageReadError, "")
|
|
|
+ err = domain.MakeError(nil, domain.StorageRead.ID, "")
|
|
|
}
|
|
|
return tu, err
|
|
|
}
|
|
@@ -57,7 +58,7 @@ INSERT INTO map(hash, url, date1, date2, date3, refcount)
|
|
|
VALUES (?, ?, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 0)
|
|
|
`, su.URL, tu.URL)
|
|
|
if err != nil {
|
|
|
- err = domain.MakeError(domain.StorageWriteError, "storing new mapping")
|
|
|
+ err = domain.MakeError(nil, domain.StorageWrite.ID, "storing new mapping")
|
|
|
}
|
|
|
isNew = true
|
|
|
|
|
@@ -65,7 +66,7 @@ VALUES (?, ?, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 0)
|
|
|
break
|
|
|
|
|
|
default:
|
|
|
- err = domain.MakeError(domain.StorageReadError, "looking for mapping")
|
|
|
+ err = domain.MakeError(nil, domain.StorageRead.ID, "looking for mapping")
|
|
|
}
|
|
|
|
|
|
return
|