TenantConnectionManager
in package
Table of Contents
Constants
- CONNECTION_ALIAS : mixed = 'tenant'
Properties
- $mailConfigurator : TenantMailConfigurator
- Tenant mail override applier.
- $secretStore : SecretStoreInterface
Methods
- __construct() : mixed
- Constructor.
- buildConnectionConfig() : array<string, mixed>
- Build the CakePHP connection config for a tenant DB.
- withTenant() : TReturn
- Run work with a tenant connection alias and isolated table locator.
- assertNoOpenTransaction() : void
- Roll back and fail if tenant-scoped work leaves a transaction open.
Constants
CONNECTION_ALIAS
public
mixed
CONNECTION_ALIAS
= 'tenant'
Properties
$mailConfigurator read-only
Tenant mail override applier.
private
TenantMailConfigurator
$mailConfigurator
$secretStore read-only
private
SecretStoreInterface
$secretStore
Methods
__construct()
Constructor.
public
__construct(SecretStoreInterface $secretStore[, TenantMailConfigurator|null $mailConfigurator = null ]) : mixed
Parameters
- $secretStore : SecretStoreInterface
-
Secret store
- $mailConfigurator : TenantMailConfigurator|null = null
-
Tenant mail override applier
buildConnectionConfig()
Build the CakePHP connection config for a tenant DB.
public
buildConnectionConfig(TenantMetadata $tenant) : array<string, mixed>
Parameters
- $tenant : TenantMetadata
-
Tenant metadata
Return values
array<string, mixed>withTenant()
Run work with a tenant connection alias and isolated table locator.
public
withTenant(TenantMetadata $tenant, callable(): TReturn $callback) : TReturn
Parameters
- $tenant : TenantMetadata
-
Tenant metadata
- $callback : callable(): TReturn
-
Callback to run
Tags
Return values
TReturnassertNoOpenTransaction()
Roll back and fail if tenant-scoped work leaves a transaction open.
private
assertNoOpenTransaction() : void