tenantService()->list(); } public function listDepartmentsByTenantIds(array $tenantIds): array { return $this->departmentService()->listByTenantIds($tenantIds); } public function listDepartments(): array { return $this->departmentService()->list(); } public function listActiveRoles(): array { return $this->roleService()->listActive(); } public function getUserTenantIds(int $userId): array { return $this->scopeGateway()->getUserTenantIds($userId); } public function isStrictScope(): bool { return $this->scopeGateway()->isStrict(); } public function canAccessUser(int $viewerUserId, int $targetUserId): bool { return $this->scopeGateway()->canAccess('users', $targetUserId, $viewerUserId); } private function tenantService(): TenantService { return $this->tenantService; } private function departmentService(): DepartmentService { return $this->departmentService; } private function roleService(): RoleService { return $this->roleService; } private function scopeGateway(): DirectoryScopeGateway { return $this->scopeGateway; } }