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.

tenant feature preview

What this feature needs to run (Requires, top) and the write commands this feature provides (Provides, bottom).

flowchart TB
  n_tenant["tenant"]
  subgraph how_reqs["Requires"]
    n_config["config"]
  end
  subgraph how_provides["Provides"]
    n_cmd_tenant_write_add_member(["add-member"])
    n_cmd_tenant_write_cancel_invitation(["cancel-invitation"])
    n_cmd_tenant_write_create(["create"])
    n_cmd_tenant_write_disable(["disable"])
    n_cmd_tenant_write_enable(["enable"])
    n_cmd_tenant_write_remove_member(["remove-member"])
    n_cmd_more(["+3 more"])
  end
  n_config --> n_tenant
  n_tenant --> n_cmd_tenant_write_add_member
  n_tenant --> n_cmd_tenant_write_cancel_invitation
  n_tenant --> n_cmd_tenant_write_create
  n_tenant --> n_cmd_tenant_write_disable
  n_tenant --> n_cmd_tenant_write_enable
  n_tenant --> n_cmd_tenant_write_remove_member
  n_tenant --> n_cmd_more

Provides — write commands this feature registers (dispatch them through the command bus):

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

Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.

KeyTypeDefaultScopeWho can writeWho can read
company-nametext""tenantTenantAdmin, Admin, SystemAdminall
localeselect (de | en | fr | es)detenantTenantAdmin, Admin, SystemAdminall
max-usersnumber50systemsystemTenantAdmin, Admin, SystemAdmin
price-modelselect (basic | pro | enterprise)basicsystemsystemTenantAdmin, Admin, SystemAdmin
smtp-hosttexttenantSystemAdminTenantAdmin, Admin, SystemAdmin
smtp-passtexttenant 🔒SystemAdminSystemAdmin
timezoneselect (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/BerlintenantTenantAdmin, Admin, SystemAdminall