src/Entity/ExecutionLevel.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\TimeStampable;
  4. use App\Repository\ExecutionLevelRepository;
  5. use DateTimeImmutable;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. #[ORM\Entity(repositoryClass: ExecutionLevelRepository::class)]
  11. #[UniqueEntity(
  12.     fields: ['label',],
  13.     errorPath: 'label',
  14.     message: 'Le nom que vous avez saisi est déjà utilisé',
  15. )]
  16. #[UniqueEntity(
  17.     fields: ['code',],
  18.     errorPath: 'code',
  19.     message: 'Le code que vous avez saisi est déjà utilisé',
  20. )]
  21. #[ORM\HasLifecycleCallbacks]
  22. class ExecutionLevel
  23. {
  24.     use TimeStampable;
  25.     #[ORM\Id]
  26.     #[ORM\GeneratedValue]
  27.     #[ORM\Column]
  28.     #[Groups(["entity:write"])]
  29.     private ?int $id = null;
  30.     #[ORM\Column(length: 255)]
  31.     #[Groups(["entity:write"])]
  32.     #[Assert\NotBlank(message:"Veuillez remplir ce champ")]
  33.     private ?string $label = null;
  34.     #[ORM\Column(length: 15)]
  35.     #[Groups(["entity:write"])]
  36.     #[Assert\NotBlank(message:"Veuillez remplir ce champ")]
  37.     private ?string $code = null;
  38.     #[ORM\ManyToOne]
  39.     private ?User $createdBy = null;
  40.     #[ORM\ManyToOne]
  41.     private ?User $updatedBy = null;
  42.     public function __construct()
  43.     {
  44.         $this->createdAt = new DateTimeImmutable();
  45.         $this->updatedAt = new DateTimeImmutable();
  46.         // $this->isEnabled = true;
  47.     }
  48.     public function getId(): ?int
  49.     {
  50.         return $this->id;
  51.     }
  52.     public function getLabel(): ?string
  53.     {
  54.         return $this->label;
  55.     }
  56.     public function setLabel(string $label): self
  57.     {
  58.         $this->label = $label;
  59.         return $this;
  60.     }
  61.     public function getCode(): ?string
  62.     {
  63.         return $this->code;
  64.     }
  65.     public function setCode(string $code): self
  66.     {
  67.         $this->code = $code;
  68.         return $this;
  69.     }
  70.     public function getCreatedBy(): ?User
  71.     {
  72.         return $this->createdBy;
  73.     }
  74.     public function setCreatedBy(?User $createdBy): self
  75.     {
  76.         $this->createdBy = $createdBy;
  77.         return $this;
  78.     }
  79.     public function getUpdatedBy(): ?User
  80.     {
  81.         return $this->updatedBy;
  82.     }
  83.     public function setUpdatedBy(?User $updatedBy): self
  84.     {
  85.         $this->updatedBy = $updatedBy;
  86.         return $this;
  87.     }
  88.     public function __toString(): string
  89.     {
  90.         return $this->label;
  91.     }
  92. }