'global', self::Tenant => $tenantId ? "tenant/{$tenantId}" : 'tenant/_unknown', self::User => $tenantId && $userId ? "user/{$tenantId}/{$userId}" : "user/_unknown/_unknown", }; } /** * Validate that required identifiers are provided for this scope */ public function validate(?string $tenantId, ?string $userId): bool { return match ($this) { self::Global => true, self::Tenant => $tenantId !== null, self::User => $tenantId !== null && $userId !== null, }; } }