0, 'y' => 0]; #[Groups(['client:read'])] public ?string $status = ''; #[Groups(['client:read'])] public \DateTime $createdAt; #[Groups(['client:read'])] public ?string $createdBy = null; #[Groups(['client:read'])] public ?bool $maintenance = false; #[Groups(['client:read'])] public ?bool $pxeSync = false; public function __construct(Client $client) { parent::__construct($client); $this->name = $client->getName(); $this->serialNumber = $client->getSerialNumber(); $this->mac = $client->getMac(); $this->ip = $client->getIp(); $this->netiface = $client->getNetiface(); $this->netDriver = $client->getNetDriver(); if ($client->getOrganizationalUnit()) { $this->organizationalUnit = new OrganizationalUnitOutput($client->getOrganizationalUnit()); } $this->partitions = $client->getPartitions()->map( fn(Partition $partition) => new PartitionOutput($partition) )->toArray(); $this->menu = $client->getMenu() ? new MenuOutput($client->getMenu()) : null; $this->position = $client->getPosition(); $this->template = $client->getTemplate() ? new PxeTemplateOutput($client->getTemplate()) : null; $this->hardwareProfile = $client->getHardwareProfile() ? new HardwareProfileOutput($client->getHardwareProfile()) : null; $this->subnet = $client->getSubnet()?->getIpAddress(); $this->ogLive = $client->getOgLive() ? new OgLiveOutput($client->getOgLive()) : null; $this->status = $client->getStatus(); $this->createdAt = $client->getCreatedAt(); $this->createdBy = $client->getCreatedBy(); $this->maintenance = $client->isMaintenance(); $this->pxeSync = $client->isPxeSync(); } }