Multi-Tenancy Library

The @lssm/lib.multi-tenancy library provides the core building blocks for secure SaaS applications.

Prisma RLS Middleware

Automatically injects tenantId into all queries.

import { createRlsMiddleware } from '@lssm/lib.multi-tenancy/rls';
import { prisma } from './db';
import { getTenantId } from './context';

prisma.$use(createRlsMiddleware(() => getTenantId()));

Provisioning Service

Automates the creation of new tenants, including database setup and default user creation.

import { TenantProvisioningService } from '@lssm/lib.multi-tenancy/provisioning';

const service = new TenantProvisioningService({ db: prisma });
await service.provision({
  id: 'acme',
  name: 'Acme Corp',
  slug: 'acme',
  ownerEmail: 'admin@acme.com'
});