tenantScopeService()->hasGlobalAccess($userId); } public function getUserTenantIds(int $userId): array { return $this->tenantScopeService()->getUserTenantIds($userId); } public function canAccess(string $resourceType, int $resourceId, int $userId): bool { return $this->tenantScopeService()->canAccess($resourceType, $resourceId, $userId); } public function resourceBelongsToTenant(string $resourceType, int $resourceId, int $tenantId): bool { return $this->tenantScopeService()->resourceBelongsToTenant($resourceType, $resourceId, $tenantId); } private function tenantScopeService(): TenantScopeService { if ($this->tenantScopeService instanceof TenantScopeService) { return $this->tenantScopeService; } return (new TenantServicesFactory())->createTenantScopeService(); } }