<?php
namespace App\Entity;
use App\Repository\IncidentRepository;
use Doctrine\ORM\Mapping as ORM;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Symfony\Component\HttpFoundation\File\File;
/**
* @Vich\Uploadable
*/
#[ORM\Entity(repositoryClass: IncidentRepository::class)]
class Incident
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private int $id;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'incidents')]
private mixed $user;
#[ORM\Column(type: 'datetime', nullable: true)]
private mixed $date;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $titre= null;
#[ORM\Column(type: 'text', nullable: true)]
private ?string $description= null;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $filename= null;
/**
* @Vich\UploadableField(mapping="documents", fileNameProperty="filename")
*/
private ?\Symfony\Component\HttpFoundation\File\File $file = null;
#[ORM\ManyToOne(targetEntity: StatutIncident::class, inversedBy: 'incidents')]
private mixed $statut;
#[ORM\Column(type: 'datetime', nullable: true)]
private mixed $date_update;
public function setFile(File $file = null): void
{
$this->file = $file;
if ($file) {
$date_update = new \DateTime('now');
$this->date_update = $date_update;
}
}
public function getFile(): mixed
{
return $this->file;
}
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(?\DateTimeInterface $date): self
{
$this->date = $date;
return $this;
}
public function getTitre(): ?string
{
return $this->titre;
}
public function setTitre(?string $titre): self
{
$this->titre = $titre;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getFilename(): ?string
{
return $this->filename;
}
public function setFilename(?string $filename): self
{
$this->filename = $filename;
return $this;
}
public function getStatut(): ?StatutIncident
{
return $this->statut;
}
public function setStatut(?StatutIncident $statut): self
{
$this->statut = $statut;
return $this;
}
public function getDateUpdate(): ?\DateTimeInterface
{
return $this->date_update;
}
public function setDateUpdate(?\DateTimeInterface $date_update): self
{
$this->date_update = $date_update;
return $this;
}
}