Task 6 follow-up — Admin-only X-Db-Override: prod middleware
Summary
New dbOverrideMiddleware swaps c.env.DATABASE_URL to c.env.PROD_DATABASE_URL
for the current request when ALL of:
- request header
X-Db-Override: prodis present, ALLOW_PROD_DB_DEBUG === 'true'(already set on dev inwrangler.jsonc),PROD_DATABASE_URLsecret is bound, and- the authenticated user is an admin.
Mounted on /api/* directly after sessionMiddleware, so every downstream
adapter / repository call observes the swapped URL transparently.
Files
services/backend/src/auth/auth-middleware.ts—dbOverrideMiddlewareexportservices/backend/src/index.ts— middleware registered after sessionMiddlewareservices/backend/src/worker-types.ts—PROD_DATABASE_URL,ALLOW_PROD_DB_DEBUGtyped