ogcore/src/Dto/Output/ClientOutput.php

42 lines
1.1 KiB
PHP

<?php
namespace App\Dto\Output;
use ApiPlatform\Metadata\Get;
use App\Entity\Client;
use App\Entity\OrganizationalUnit;
use Symfony\Component\Serializer\Annotation\Groups;
#[Get(shortName: 'Client')]
final class ClientOutput extends AbstractOutput
{
#[Groups(['client:read'])]
public string $name;
#[Groups(['client:read'])]
public ?string $serialNumber = '';
#[Groups(['client:read'])]
public ?string $netiface = '';
#[Groups(['client:read'])]
public ?OrganizationalUnitOutput $organizationalUnit = null;
#[Groups(['client:read'])]
public \DateTime $createAt;
#[Groups(['client:read'])]
public ?string $createBy = null;
public function __construct(Client $client)
{
parent::__construct($client);
$this->name = $client->getName();
$this->serialNumber = $client->getSerialNumber();
$this->netiface = $client->getNetiface();
$this->organizationalUnit = new OrganizationalUnitOutput($client->getOrganizationalUnit());
$this->createAt = $client->getCreatedAt();
$this->createBy = $client->getCreatedBy();
}
}