Servis: idempotency zaštita od duplog POST-a pri kreiranju naloga (isti obrazac kao prodaja)

This commit is contained in:
2026-07-31 03:03:48 +02:00
parent b9e7043ec1
commit 3998119744
7 changed files with 115 additions and 5 deletions
+10
View File
@@ -0,0 +1,10 @@
-- Idempotency ključ za servisni nalog — isti obrazac kao za prodaju
-- (migracija 106_prodaja_idempotency_key.sql): frontend generiše UUID po otvaranju
-- forme i šalje ga kao skriveno polje. Ako isti POST stigne na server dva puta
-- (dupli klik, "Nazad" pa ponovni submit, mrežni retry, dva otvorena taba),
-- drugi zahtev se prepoznaje po već postojećem ključu i vraća VEĆ kreirani nalog
-- umesto da napravi drugi. NULL dozvoljen i ne ulazi u UNIQUE proveru (stari
-- zapisi, ili budući pozivaoci koji ne šalju ključ).
ALTER TABLE servisni_nalozi ADD COLUMN idempotency_key TEXT;
CREATE UNIQUE INDEX IF NOT EXISTS idx_servisni_nalozi_idempotency_key
ON servisni_nalozi(idempotency_key) WHERE idempotency_key IS NOT NULL;