Skip to content

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.

  • Requires: config
  • Activation: always on (not toggleable)

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 |