@node-tenant/tenant-core
v0.1.2
Published
Core multi-tenant engine — context, lifecycle, events, permissions, plugins
Maintainers
Keywords
Readme
@node-tenant/tenant-core
Core engine for the
@node-tenant/tenantmulti-tenant platform.🌐 Website: node-tenant.com
What's included
TenantManager— full tenant lifecycle managementTenantContextManager— AsyncLocalStorage-based tenant contextTenantEventEmitter— typed event systemPermissionEngine— read/write/admin/owner hierarchy- Built-in resolvers:
subdomainResolver,domainResolver,headerResolver,pathResolver,chainResolvers - All TypeScript interfaces:
Tenant,Organization,ResourceShare,StorageAdapter,DatabaseAdapter,TenantPlugin, etc.
Install
pnpm add @node-tenant/tenant-coreQuick usage
import { TenantManager } from '@node-tenant/tenant-core';
import { createPrismaStorage } from '@node-tenant/tenant-storage-prisma';
const manager = new TenantManager({ storage: createPrismaStorage(prisma) });
// Create
const tenant = await manager.createTenant({ name: 'Acme', slug: 'acme', strategy: 'tenantId', status: 'active', config: {} });
// Run code in tenant context
await manager.runAsTenant('acme', async () => {
const ctx = manager.currentOrThrow(); // { id, slug, strategy, config }
});See the root README for full documentation.
