fastify-xadmin
Admin dashboard API plugin for tenants, roles, users, audit logs, impersonation, and Stripe management.
fastify-xadmin
Complete admin API layer with CRUD for users, roles, tenants, audit log streaming, admin impersonation, and Stripe subscription management.
Installation
npm install @xenterprises/fastify-xadmin
Quick Start
await fastify.register(xAdmin, {
prefix: '/api/admin',
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
requireRole: 'superadmin',
})
Registered Routes
| Method | Path | Description |
|---|---|---|
| GET | /api/admin/users | List all users |
| GET/PATCH/DELETE | /api/admin/users/:id | Manage user |
| GET/POST | /api/admin/roles | Manage roles |
| POST | /api/admin/users/:id/impersonate | Start impersonation |
| DELETE | /api/admin/impersonate | End impersonation |
| GET | /api/admin/audit-log | Paginated audit log |
| GET/POST | /api/admin/tenants | Manage tenants |
| GET/POST | /api/admin/stripe/:customerId | Stripe management |
AI Context
package: "@xenterprises/fastify-xadmin"
type: fastify-plugin
use-when: Admin portals needing user/role/tenant management and audit logs
routes: auto-registered under configurable prefix (default /api/admin)
requires: auth plugin (xauth-better or xauth-local) registered first
impersonation: POST /api/admin/users/:id/impersonate → returns impersonation JWT
audit-log: GET /api/admin/audit-log?page=1&limit=20&resource=user
stripe: requires STRIPE_SECRET_KEY env var
