TenantLifecycleService
in package
FinalYes
Applies guarded tenant lifecycle transitions and records them in the platform audit chain.
Table of Contents
Constants
- ALLOWED_TRANSITIONS : array<string, array<int, string>> = ['active' => ['suspended'], 'suspended' => ['ac...
Properties
- $auditService : PlatformAuditService|null
- $connection : Connection
- $requiredSchemaVersion : string
Methods
- __construct() : mixed
- Constructor.
- transition() : array<string, mixed>
- assertNoActiveLifecycleJobs() : void
- Ensure tenant state cannot change underneath an executable operation.
Constants
ALLOWED_TRANSITIONS
private
array<string, array<int, string>>
ALLOWED_TRANSITIONS
= ['active' => ['suspended'], 'suspended' => ['active', 'archived'], 'provisioning' => ['archived']]
Properties
$auditService read-only
private
PlatformAuditService|null
$auditService
= null
$connection read-only
private
Connection
$connection
$requiredSchemaVersion read-only
private
string
$requiredSchemaVersion
Methods
__construct()
Constructor.
public
__construct(Connection $connection[, PlatformAuditService|null $auditService = null ][, string|null $requiredSchemaVersion = null ]) : mixed
Parameters
- $connection : Connection
- $auditService : PlatformAuditService|null = null
- $requiredSchemaVersion : string|null = null
transition()
public
transition(string $tenantId, string $targetStatus, string|null $platformUserId, string $reason[, array<string, mixed> $auditOptions = [] ]) : array<string, mixed>
Parameters
- $tenantId : string
- $targetStatus : string
- $platformUserId : string|null
- $reason : string
- $auditOptions : array<string, mixed> = []
Return values
array<string, mixed>assertNoActiveLifecycleJobs()
Ensure tenant state cannot change underneath an executable operation.
private
assertNoActiveLifecycleJobs(string $tenantId) : void
Parameters
- $tenantId : string