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-07-11 17:53:29 +01:00
2026-07-07 00:10:00 +01:00
2026-07-11 15:13:51 +01:00
2026-08-22 00:34:49 +01:00
2026-08-22 00:34:49 +01:00
2026-07-11 18:03:05 +01:00
2026-07-10 13:00:33 +01:00
2026-07-11 17:38:50 +01:00
2025-10-12 22:13:19 +01:00
2026-07-09 17:22:23 +01:00
2026-07-09 18:54:01 +01:00
2026-07-09 17:25:23 +01:00
2026-08-22 00:34:49 +01:00
2026-07-09 17:25:23 +01:00