ogcore/src/Dto/Output/ImageImageRepositoryOutput.php

65 lines
2.3 KiB
PHP

<?php
namespace App\Dto\Output;
use ApiPlatform\Metadata\Get;
use App\Entity\ImageImageRepository;
use Symfony\Component\Serializer\Annotation\Groups;
#[Get(shortName: 'ImageImageRepository')]
class ImageImageRepositoryOutput extends AbstractOutput
{
#[Groups(['image-image-repository:read', 'image:read'])]
public ?ImageOutput $image = null;
#[Groups(['image-image-repository:read', 'image:read'])]
public ?ImageRepositoryOutput $imageRepository= null;
#[Groups(['image-image-repository:read', 'image:read'])]
public string $status;
#[Groups(['image-image-repository:read', 'image:read'])]
public string $name;
#[Groups(['image-image-repository:read', 'image:read'])]
public ?string $imageFullsum = null;
#[Groups(['image-image-repository:read', 'image:read'])]
public ?string $datasize = null;
#[Groups(['image-image-repository:read', 'image:read'])]
public ?string $description = null;
#[Groups(['image:read', 'image-image-repository:read'])]
public ?int $version = null;
#[Groups(['image-image-repository:read', 'image:read'])]
public \DateTime $createdAt;
#[Groups(['image-image-repository:read', 'image:read'])]
public ?string $createdBy = null;
public function __construct(ImageImageRepository $imageImageRepository, array $context = [])
{
parent::__construct($imageImageRepository);
if (isset($context['groups']) && in_array('image-image-repository:read', $context['groups'])) {
if ($imageImageRepository->getImage()) {
$this->image = new ImageOutput($imageImageRepository->getImage());
}
}
if ($imageImageRepository->getRepository()) {
$this->imageRepository = new ImageRepositoryOutput($imageImageRepository->getRepository());
}
$this->name = $imageImageRepository->getName();
$this->version = $imageImageRepository->getVersion();
$this->status = $imageImageRepository->getStatus();
$this->imageFullsum = $imageImageRepository->getImageFullsum();
$this->datasize = $imageImageRepository->getDatasize();
$this->description = $imageImageRepository->getDescription();
$this->createdAt = $imageImageRepository->getCreatedAt();
$this->createdBy = $imageImageRepository->getCreatedBy();
}
}