← back to Patty
lib/accounts.ts
21 lines
/**
* Patty account capabilities — three guest tiers alongside the admin login,
* built on the shared @dw/nextjs-admin-login capability layer (v0.3.0).
*
* guest — member: can write, no AI, no admin-only controls.
* viewer — fully read-only.
* demo — read-only data, but AI features usable.
*
* A tier is only an active login when its password env var is set. Enforced
* authoritatively in middleware via capabilityGate.
*/
import { createCapabilityRegistry } from '@dw/nextjs-admin-login';
export const registry = createCapabilityRegistry({
guests: {
guest: { role: 'member', displayName: 'Guest', canWrite: true, canUseAI: false, passwordEnv: 'PATTY_GUEST_PASSWORD' },
viewer: { role: 'viewer', displayName: 'Viewer (read-only)', canWrite: false, canUseAI: false, passwordEnv: 'PATTY_VIEWER_PASSWORD' },
demo: { role: 'viewer', displayName: 'Demo', canWrite: false, canUseAI: true, passwordEnv: 'PATTY_DEMO_PASSWORD' },
},
});