lilith-platform.live/codebase/@features/api
Natalie 75ae6203fc feat(api/unlock-intent): add vip_unlock_intents entity
A fan-initiated request to pay for VIP content access — the spine of the
unlock flow. Settlement is polymorphic on the chosen payment method's kind
(peer_app: memo-matched manual confirm; crypto: BTCPay webhook in M2).

confirmUnlockIntent is atomic and returns { transitioned }: the UPDATE only
fires while the row is still awaiting_payment, so concurrent confirms (manual +
future webhook) cannot double-settle, and the caller gates the paid-ledger
insert on the transition so it runs exactly once. Includes idempotent
re-confirm, close (expire/cancel), and a bulk stale-expiry sweep.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:06:50 -05:00
..
config
scripts feat(seo): destination_slug pSEO tour linking + full NYC analytics coverage 2026-06-19 20:16:18 -05:00
src feat(api/unlock-intent): add vip_unlock_intents entity 2026-06-21 23:06:50 -05:00
tests/processors
.dependency-cruiser.cjs
.env.development chore(api): 🔧 Update .env.development with API-specific environment variables 2026-06-09 20:06:38 -07:00
bunfig.toml
package.json test(api): auto-skip DB-dependent tests off the fast LAN path 2026-06-19 18:20:11 -05:00
tsconfig.json fix(api): null-safe tour-stop hotels, declare sharp, exclude mcp-prospector 2026-06-19 06:46:08 -05:00