<?php
namespace App\Entity;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ImagesRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Doctrine\DBAL\Types\Types;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: ImagesRepository::class)]
#[ApiResource]
#[Vich\Uploadable]
class Images
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $path = null;
#[Vich\UploadableField(mapping: 'event', fileNameProperty: 'path')]
#[Assert\Image(
maxSize: '10240k',
mimeTypes: ['image/*'],
mimeTypesMessage: "Veuillez donner une image"
)]
private $file = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $updatedAt = null;
#[ORM\ManyToOne(inversedBy: 'images')]
private ?Evenement $evenement = null;
public function getId(): ?int
{
return $this->id;
}
public function getPath(): ?string
{
return $this->path;
}
public function setPath(?string $path): self
{
$this->path = $path;
return $this;
}
public function setFile(File $file = null)
{
$this->file = $file;
if (null !== $file) {
$this->updatedAt = new \Datetime();
}
}
public function getFile()
{
return $this->file;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getEvenement(): ?Evenement
{
return $this->evenement;
}
public function setEvenement(?Evenement $evenement): self
{
$this->evenement = $evenement;
return $this;
}
}