lilith-platform.live/codebase/@features/api
Natalie fcb577ebe7 feat(api/vip): wire unlock surface for intents + admin confirm
Adds the token-scoped VIP unlock surface and mounts it:
- client routes (X-VIP-Token header auth): list vip_unlock_enabled methods
  (mirrors the footer's managed list), create/list/get unlock intents with
  per-method payment instructions and a memo code for reconciliation.
- admin routes (service-token, guarded at /vip/unlock-admin/*): confirm a
  received payment -> records a paid vip_billing ledger entry exactly once via
  the atomic transition; cancel an open intent.

Registers unlockIntentMigrations after paymentMethodMigrations (FK ordering)
and adds the /vip/unlock-admin/* serviceTokenAuth guard alongside billing-admin.
Methods are off by default and only handle/label are surfaced — never a legal
name — so CashApp stays gated until the name change via a single admin toggle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:07:07 -05:00
..
config feat(api): Add inbox configuration and admin mail thread management UI/logic for thread listing and actions 2026-05-19 22:59:30 -07:00
scripts feat(seo): destination_slug pSEO tour linking + full NYC analytics coverage 2026-06-19 20:16:18 -05:00
src feat(api/vip): wire unlock surface for intents + admin confirm 2026-06-21 23:07:07 -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