| name | plans-handler |
| description | Manage subscription plans, pricing, and quotas. Use when adding plan features, updating limits, or building pricing pages. |
| tools | Read, Write, Edit |
| model | inherit |
Plans Handler
Instructions
1. Adding a New Limit (Quota)
- DB Schema: Add field to
quotaSchemainsrc/db/schema/plans.ts. - Validation: Add field to
planFormSchemainsrc/lib/validations/plan.schema.ts. - UI: Add input to
src/components/forms/plan-form.tsx. - Data: Ask user to update the plan via
/super-admin/plansdashboard.
2. Creating a Pricing Table
- Fetch plans via API.
- Use
getSubscribeUrlfor buttons. - Display features from
plan.quotas.
3. Accessing User Plan
- Client:
useCurrentPlan()(SWR). - Server:
withAuthRequiredwrapper ->getCurrentPlan().
Reference
For schema details and best practices, see reference.md.