tenant
Registers the three core multi-tenancy entities — tenant, tenant-membership, and tenant-invitation (DB tables read_tenants, read_tenant_memberships, and read_tenant_invitations) — along with write handlers for create/update/disable/enable/addMember/removeMember/updateMemberRoles and the matching queries. It also declares a set of per-tenant config keys (companyName, timezone, locale, SMTP credentials) and system-only keys (priceModel, maxUsers) via r.config({ keys: { ... } }). Use this feature in every multi-tenant app; membership resolution and invitation flows depend on it, and auth-email-password requires it.
Dependencies
Section titled “Dependencies”- Requires:
config - Activation: always on (not toggleable)
Configuration
Section titled “Configuration”Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.
| Key | Type | Default | Scope | Who can write | Who can read |
|---|---|---|---|---|---|
| company-name | text | "" | tenant | TenantAdmin, Admin, SystemAdmin | all |
| locale | select (de | en | fr | es) | de | tenant | TenantAdmin, Admin, SystemAdmin | all |
| max-users | number | 50 | system | system | TenantAdmin, Admin, SystemAdmin |
| price-model | select (basic | pro | enterprise) | basic | system | system | TenantAdmin, Admin, SystemAdmin |
| smtp-host | text | — | tenant | SystemAdmin | TenantAdmin, Admin, SystemAdmin |
| smtp-pass | text | — | tenant 🔒 | SystemAdmin | SystemAdmin |
| timezone | select (UTC | Europe/Berlin | Europe/London | Europe/Paris | Europe/Madrid | Europe/Rome | America/New_York | America/Los_Angeles | America/Sao_Paulo | Asia/Tokyo | Asia/Singapore | Australia/Sydney) | Europe/Berlin | tenant | TenantAdmin, Admin, SystemAdmin | all |