name = $organizationalUnit->getName(); $this->comments = $organizationalUnit->getComments(); $this->description = $organizationalUnit->getDescription(); $this->location = $organizationalUnit->getLocation(); $this->projector = $organizationalUnit->isProjector(); $this->board = $organizationalUnit->isBoard(); $this->capacity = $organizationalUnit->getCapacity(); $this->type = $organizationalUnit->getType(); $this->remotePc = $organizationalUnit->isRemotePc(); $this->available = $organizationalUnit->getRemoteCalendar() && $organizationalUnit->getRemoteCalendar()->isAvailable(); $this->networkSettings = $organizationalUnit->getNetworkSettings() ? new NetworkSettingsOutput($organizationalUnit->getNetworkSettings()) : null; $this->remoteCalendar = $organizationalUnit->getRemoteCalendar() ? new RemoteCalendarOutput($organizationalUnit->getRemoteCalendar()) : null; if ($organizationalUnit->getParent()) { $this->parent = new self($organizationalUnit->getParent()); } if (isset($context['groups']) && in_array('organizational-unit:read', $context['groups'])) { $this->children = $organizationalUnit->getOrganizationalUnits()->map( fn(OrganizationalUnit $organizationalUnit) => new self($organizationalUnit, $context) )->toArray(); } if (isset($context['groups']) && in_array('organizational-unit:read', $context['groups'])) { $this->clients = $organizationalUnit->getClients()->map( fn(Client $client) => new ClientOutput($client) )->toArray(); } $this->excludeParentChanges = $organizationalUnit->isExcludeParentChanges(); $this->path = $organizationalUnit->getPath(); $this->createdAt = $organizationalUnit->getCreatedAt(); $this->createdBy = $organizationalUnit->getCreatedBy(); } }