<?php
namespace App\Entity;
use App\Repository\PipelineIdentiteVisuelleMajProposalRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @Vich\Uploadable()
*/
#[ORM\Entity(repositoryClass: PipelineIdentiteVisuelleMajProposalRepository::class)]
class PipelineIdentiteVisuelleMajProposal
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private ?int $id = null;
#[ORM\ManyToOne(targetEntity: PipelineIdentiteVisuelleMajItem::class, inversedBy: 'proposals')]
#[ORM\JoinColumn(nullable: false)]
private ?PipelineIdentiteVisuelleMajItem $item = null;
#[ORM\Column(type: 'integer')]
private int $step = 1;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $fileName = null;
/**
* @Vich\UploadableField(mapping="pipeline_identite_visuelle_maj", fileNameProperty="fileName")
*/
private ?File $file = null;
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
private ?\DateTimeImmutable $updatedAt = null;
public function getId(): ?int
{
return $this->id;
}
public function getItem(): ?PipelineIdentiteVisuelleMajItem
{
return $this->item;
}
public function setItem(?PipelineIdentiteVisuelleMajItem $item): self
{
$this->item = $item;
return $this;
}
public function getStep(): int
{
return $this->step;
}
public function setStep(int $step): self
{
$this->step = $step;
return $this;
}
public function getFileName(): ?string
{
return $this->fileName;
}
public function setFileName(?string $name): self
{
$this->fileName = $name;
return $this;
}
public function setFile(?File $file = null): void
{
$this->file = $file;
if ($file) {
$this->updatedAt = new \DateTimeImmutable();
}
}
public function getFile(): ?File
{
return $this->file;
}
public function getUpdatedAt(): ?\DateTimeImmutable
{
return $this->updatedAt;
}
}