Error prefiks: ErrArtikalNePostoji u db/repository.go, ntech: prefiks na ErrNedovoljnoKolicine

This commit is contained in:
2026-07-16 13:16:29 +02:00
parent 80abfd583d
commit 4c75aa2c75
5 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -6,5 +6,5 @@ type ErrNedovoljnoKolicine struct {
}
func (e *ErrNedovoljnoKolicine) Error() string {
return "Nedovoljno količine na stanju za artikal: " + e.ArtikalNaziv
return "ntech: nedovoljno količine na stanju za artikal: " + e.ArtikalNaziv
}
+3
View File
@@ -29,6 +29,9 @@ var ErrArtikalDuplikatSifre = errors.New("ntech: šifra ili barkod artikla već
var ErrUslugaDuplikatSifre = errors.New("ntech: šifra usluge već postoji")
var ErrTrosakDuplikatSifre = errors.New("ntech: šifra troška već postoji")
// ErrArtikalNePostoji se vraća kada se menja cena nepostojećeg artikla
var ErrArtikalNePostoji = errors.New("ntech: artikal ne postoji")
// ArtikalRepository definiše operacije nad artiklima
type ArtikalRepository interface {
Lista(ctx context.Context, filter ArtikalFilter) ([]model.ArtikalSaKategorijom, error)
+2 -4
View File
@@ -7,6 +7,7 @@ import (
"fmt"
"time"
"ntech/internal/db"
"ntech/internal/model"
)
@@ -20,9 +21,6 @@ func NoviNivelacijaRepo(db *sql.DB) *NivelacijaRepo {
return &NivelacijaRepo{db: db}
}
// ErrArtikalNePostoji se vraća kada se menja cena nepostojećeg artikla
var ErrArtikalNePostoji = errors.New("artikal ne postoji")
// PromeniCenu transakciono menja prodajnu cenu artikla i upisuje nivelacioni zapis.
// Stara cena se čita iz baze unutar transakcije; izvor je "rucno".
func (r *NivelacijaRepo) PromeniCenu(ctx context.Context, artikalID int64, novaCena float64, razlog string, korisnikID *int64) (*model.Nivelacija, error) {
@@ -35,7 +33,7 @@ func (r *NivelacijaRepo) PromeniCenu(ctx context.Context, artikalID int64, novaC
var stara float64
err = tx.QueryRowContext(ctx, "SELECT prodajna_cena FROM artikli WHERE id = ?", artikalID).Scan(&stara)
if errors.Is(err, sql.ErrNoRows) {
return nil, ErrArtikalNePostoji
return nil, db.ErrArtikalNePostoji
}
if err != nil {
return nil, fmt.Errorf("ntech: NivelacijaRepo.PromeniCenu: čitanje cene: %w", err)
+2 -1
View File
@@ -5,6 +5,7 @@ import (
"errors"
"testing"
"ntech/internal/db"
"ntech/internal/model"
)
@@ -62,7 +63,7 @@ func TestPromeniCenu_NepostojeciArtikal(t *testing.T) {
nivRepo := NoviNivelacijaRepo(baza)
_, err := nivRepo.PromeniCenu(ctx, 9999, 500, "test", nil)
if !errors.Is(err, ErrArtikalNePostoji) {
if !errors.Is(err, db.ErrArtikalNePostoji) {
t.Errorf("greška = %v, očekivano ErrArtikalNePostoji", err)
}