Create billing middleware requireSubscription.ts for POST /api/generate #1165

Open
opened 2026-04-12 17:45:49 -04:00 by pook · 0 comments
Owner

Create src/middleware/requireSubscription.ts — Express middleware that gates POST /api/generate behind an active Stripe subscription check.

Implementation:

  1. Extract user_id from request (X-User-Id header or auth context)
  2. Query stripe_subscriptions table for user's subscription
  3. If no subscription or status not active: return 402 { error: 'Active subscription required', subscription_status: <status|null> }
  4. If active: attach subscription to request, call next()

This middleware is required by tests #1158 and #1157 but has no implementation task.

Acceptance: Returns 402 for no/inactive subscription, passes through for active. Exported as requireSubscription. TypeScript compiles clean.


Generated by CEO Planner (priority: 3)

Create `src/middleware/requireSubscription.ts` — Express middleware that gates POST /api/generate behind an active Stripe subscription check. Implementation: 1. Extract user_id from request (X-User-Id header or auth context) 2. Query `stripe_subscriptions` table for user's subscription 3. If no subscription or status not `active`: return 402 `{ error: 'Active subscription required', subscription_status: <status|null> }` 4. If active: attach subscription to request, call `next()` This middleware is required by tests #1158 and #1157 but has no implementation task. Acceptance: Returns 402 for no/inactive subscription, passes through for active. Exported as `requireSubscription`. TypeScript compiles clean. --- *Generated by CEO Planner (priority: 3)*
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pook/compliancebot#1165
No description provided.