Skip to content

Commit 48552f7

Browse files
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

File tree

0 commit comments

Comments
 (0)