[Agent] Issue #757: create srcbillingsubscriptionts with dat #758

Open
pook wants to merge 63 commits from agent-task/757 into main
Owner

Closes #757

Changes

feat: issue #757 create-srcbillingsubscriptionts-with-dat (agent task liancebot757)

Acceptance Criteria

Create src/billing/subscription.ts with database helpers for checking subscription status:

  1. getActiveSubscription(userId: string): queries stripe_subscriptions, returns record or null
  2. hasActiveSubscription(userId: string): returns boolean
  3. Treat active, trialling, past_due as active; canceled, incomplete, unpaid as inactive

Direct dependency for requireSubscription middleware (issue #751) which gates /api/generate — the revenue-critical endpoint.

Acceptance criteria:

  • src/billing/subscription.ts exports getActiveSubscription and hasActiveSubscription
  • Correctly distinguishes active vs inactive subscription statuses
  • Handles case where user has no stripe_customers record
  • TypeScript compiles without errors

Generated by CEO Planner (priority: 3)

Tokens: 13 in / 3073 out

Closes #757 ## Changes feat: issue #757 create-srcbillingsubscriptionts-with-dat (agent task liancebot757) ## Acceptance Criteria Create src/billing/subscription.ts with database helpers for checking subscription status: 1. getActiveSubscription(userId: string): queries stripe_subscriptions, returns record or null 2. hasActiveSubscription(userId: string): returns boolean 3. Treat active, trialling, past_due as active; canceled, incomplete, unpaid as inactive Direct dependency for requireSubscription middleware (issue #751) which gates /api/generate — the revenue-critical endpoint. Acceptance criteria: - src/billing/subscription.ts exports getActiveSubscription and hasActiveSubscription - Correctly distinguishes active vs inactive subscription statuses - Handles case where user has no stripe_customers record - TypeScript compiles without errors --- *Generated by CEO Planner (priority: 3)* Tokens: 13 in / 3073 out
feat: issue #757 create-srcbillingsubscriptionts-with-dat (agent task liancebot757)
Some checks failed
CI Quality Gate / Lint / Typecheck / Test / Build (pull_request) Has been cancelled
090026982c
Some checks failed
CI Quality Gate / Lint / Typecheck / Test / Build (pull_request) Has been cancelled
This pull request has changes conflicting with the target branch.
  • .forgejo/workflows/ci.yml
  • bun.lock
  • package.json
  • packages/api/src/db/schema.ts
  • packages/api/src/index.ts
  • packages/api/src/middleware/csrf.ts
  • packages/api/src/middleware/rate-limit.ts
  • packages/api/src/middleware/security-headers.ts
  • packages/api/src/routes/admin.ts
  • packages/api/src/routes/billing.ts
  • packages/api/src/routes/generate-tos.ts
  • packages/api/src/routes/generate.ts
  • packages/api/src/routes/health.ts
  • packages/api/src/routes/questionnaire.ts
  • packages/api/src/services/document-generator.ts
  • packages/api/src/services/llm.ts
  • packages/api/src/templates/index.ts
  • packages/api/tsconfig.json
  • packages/shared/src/types.ts
  • packages/web/src/app/questionnaire/page.tsx
  • packages/web/src/components/documents/DocumentList.tsx
  • packages/web/src/components/questionnaire/ReviewStep.tsx
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin agent-task/757:agent-task/757
git switch agent-task/757
Sign in to join this conversation.
No reviewers
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!758
No description provided.