feat(backend): add standalone data plane

Replace the Supabase application data plane with the Node/PostgreSQL API, migrate mobile, admin, web, and MCP callers, add controlled cutover tooling, and define hardened Dokploy infrastructure.
This commit is contained in:
jjbrunton committed 2026-08-28 14:42:11 +01:00
1 parent 01bb8225ae
commit 006761d3b0
294 files changed
+16259 -6138

No files matched your search

+4 -4
View File
@@ -4,9 +4,9 @@ Promotional codes are redeemed only through `apps/web/app/redeem/page.tsx`.
Do not add redemption UI or a redemption call to the mobile app: mobile premium
access is governed by the platform purchase/RevenueCat flow.
The public web form calls `redeem-code`, which delegates the atomic validation and
grant to `redeem_code_by_email`. The database boundary validates active state,
expiry, remaining uses, and prior redemption before changing premium status.
The public web form calls `POST /public/v1/redemptions` on the standalone API.
The Node/Postgres boundary validates active state, expiry, remaining uses, and
prior redemption in one transaction before changing premium status.
Changes require web E2E coverage for validation and success/error states plus a
Supabase integration assertion for the resulting profile and redemption record.
Postgres integration assertion for the resulting profile and redemption record.