popertots
a4441b6acf
Fix review findings: till idempotency keys, sha256 card key, paymentFromSquare fallback, regression test
till.go:
- Replace deterministicTillKey (request-field hash) with uniqueTillKey (crypto/rand.Text)
- Deterministic hashes broke legitimate identical create sales (empty gift_card_id
collides on till_sales idempotency_key UNIQUE constraint → 500 on second sale)
- Client-supplied keys handle dedup; fallback only needs uniqueness
- Use rand.Text() (Go 1.24+) instead of deprecated rand.Read with dead error check
till_test.go:
- Add TestCreateTillSale_TwoIdenticalCreateSales_BothSucceed regression test
(two identical keyless cash creates must both return 201)
square_http_client.go:
- createCardOnFileHTTP: replace reversible hex encoding with crypto/sha256
- paymentFromSquare: replace dead-code fallback with reachable else branch
- Remove unused url import cleanup where applicable
2026-08-22 00:34:49 +01:00
..
2026-08-22 00:34:48 +01:00
2026-08-22 00:34:48 +01:00
2026-08-22 00:34:49 +01:00
2026-07-11 17:53:29 +01:00
2026-08-22 00:34:49 +01:00
2026-07-11 18:03:05 +01:00
2026-08-22 00:34:49 +01:00
2026-08-22 00:34:49 +01:00
2026-08-22 00:34:49 +01:00
2026-07-11 17:53:29 +01:00
2026-07-09 18:53:51 +01:00
2026-06-21 19:29:24 +01:00
2026-06-21 19:29:24 +01:00