Commit 48552f7
authored
feat(core): add claim command persistence layer (#46)
persistClaimSubmit and persistClaimApprove, following the listing.upsert
pattern. Shared transaction plumbing extracted to persist/shared.ts.
Multi-event commands stamp idempotency_key on the first outbox row only,
matching the (tenant_id, idempotency_key) unique index.
Approve locks the claim and listing rows and refuses to move ownership away
from a sitting owner, enforcing spec section 9.4 in the store rather than
only in the pure handler.
Claimant user upsert on (tenant_id, email) is provisional pending #44.
Refs #44, #45
Signed-off-by: Matthew Wren <info@origindev.com>1 parent f54a4a8 commit 48552f7
5 files changed
Lines changed: 1188 additions & 95 deletions
0 commit comments