Skip to main content
zerotal

Documentation


Documentation / @zerotal/tenancy / TenancyConfigShape

Interface: TenancyConfigShape

Defined in: tenancy/src/types.ts:72

Properties

strategy

strategy: TenancyStrategy

Defined in: tenancy/src/types.ts:74

Persistence strategy. Default: 'single-database'.


resolvers

resolvers: TenantResolver[]

Defined in: tenancy/src/types.ts:81

One or more resolvers tried in order until one returns a non-null result. If all resolvers return null the request is treated as tenant-less (TenancyMiddleware returns a 404).


tenantColumn?

optional tenantColumn?: string

Defined in: tenancy/src/types.ts:87

Column name used for tenant scoping in the single-database strategy. Default: 'tenant_id'.


connect?

optional connect?: (tenant) => SQLInstance

Defined in: tenancy/src/types.ts:98

Multi-database strategy only — required. Opens (or returns) the database connection for a tenant. Called once per tenant; the result is pooled. Once supplied, every model query inside a tenant boundary is transparently routed to this connection — no TenantManager wiring or raw SQL needed.

Parameters

tenant

MultiDbTenant

Returns

SQLInstance

Example

connect: (tenant) => new SQL(`file:./storage/tenants/${tenant.database}`),