deckhearth/.convoys/scanner-user-cards-quantity-guard.md
varutasu 30b21b42c5
fix(api): validate quantity on POST /api/user-cards (#46)
Match decks handler parseInt/NaN guard so non-numeric quantities cannot
corrupt user_cards row counts from scanner add paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 14:25:20 -05:00

671 B

name classification success_metric depends_on status created
scanner-user-cards-quantity-guard fix POST /api/user-cards rejects non-numeric and sub-1 quantity with 400, matching the decks/[id]/cards handler contract.
redesign-scanner-flow
open 2026-05-27

Convoy: scanner-user-cards-quantity-guard

P2 follow-up from audit-redesign-scanner-flow-44 reviewer report.

Scope

  • pages/api/user-cards.jsparseInt(quantity, 10) + NaN / < 1 guard on POST

Acceptance criteria

  1. quantity: "abc" → 400 Quantity must be at least 1
  2. quantity: 0 → 400
  3. Valid integer ≥ 1 uses parsed value for INSERT and UPDATE increment