src/Entity/Permiso.php line 33

  1. <?php
  2. namespace App\Entity;
  3. use Ramsey\Uuid\Uuid;
  4. use App\Trait\UuidTrait;
  5. use ApiPlatform\Metadata\Get;
  6. use ApiPlatform\Metadata\Put;
  7. use ApiPlatform\Metadata\Post;
  8. use ApiPlatform\Metadata\Patch;
  9. use ApiPlatform\Metadata\Delete;
  10. use Doctrine\ORM\Mapping as ORM;
  11. use ApiPlatform\Metadata\ApiResource;
  12. use App\Repository\PermisoRepository;
  13. use ApiPlatform\Metadata\GetCollection;
  14. use Ramsey\Uuid\Doctrine\UuidGenerator;
  15. use Symfony\Component\Serializer\Annotation\Groups;
  16. use Symfony\Component\Validator\Constraints as Assert;
  17. #[ORM\Entity(repositoryClassPermisoRepository::class)]
  18. #[ApiResource(
  19.         operations: [
  20.             new GetCollection(),
  21.             new Post(validationContext: ['groups' => ['Default''permiso:create']], denormalizationContext: ['groups' => ['permiso:create']]),
  22.             new Get(),
  23.             new Put(denormalizationContext: ['groups' => ['permiso:update']]),
  24.             new Patch(denormalizationContext: ['groups' => ['permiso:update']]),
  25.             new Delete(),
  26.         ],
  27.         normalizationContext: ['groups' => ['permiso:read''uuid']],
  28.     )
  29. ]
  30. class Permiso
  31. {
  32.     use UuidTrait;
  33.     #[Assert\NotNull(groups: ['permiso:create'])]
  34.     #[Groups(['permiso:read''permiso:create'])]
  35.     #[ORM\ManyToOne]
  36.     #[ORM\JoinColumn(nullablefalse)]
  37.     private ?User $user null;
  38.     #[Assert\NotNull(groups: ['permiso:create'])]
  39.     #[Groups(['permiso:read''permiso:create'])]
  40.     #[ORM\ManyToOne]
  41.     #[ORM\JoinColumn(nullablefalse)]
  42.     private ?Menu $menu null;
  43.     #[Assert\NotNull(groups: ['permiso:create'])]
  44.     #[Groups(['permiso:read''permiso:create''permiso:update'])]
  45.     #[ORM\Column]
  46.     private ?bool $canList null;
  47.     #[Assert\NotNull(groups: ['permiso:create'])]
  48.     #[Groups(['permiso:read''permiso:create''permiso:update'])]
  49.     #[ORM\Column]
  50.     private ?bool $canEdit null;
  51.     #[Assert\NotNull(groups: ['permiso:create'])]
  52.     #[Groups(['permiso:read''permiso:create''permiso:update'])]
  53.     #[ORM\Column]
  54.     private ?bool $canCreate null;
  55.     #[Assert\NotNull(groups: ['permiso:create'])]
  56.     #[Groups(['permiso:read''permiso:create''permiso:update'])]
  57.     #[ORM\Column]
  58.     private ?bool $canDelete null;
  59.     #[ORM\ManyToOne]
  60.     #[ORM\JoinColumn(nullablefalse)]
  61.     private ?Empresa $empresa null;
  62.     public function __construct()
  63.     {
  64.         $this->uuid Uuid::uuid4()->toString();
  65.     }
  66.     
  67.     public function getUser(): ?User
  68.     {
  69.         return $this->user;
  70.     }
  71.     public function setUser(?User $user): self
  72.     {
  73.         $this->user $user;
  74.         return $this;
  75.     }
  76.     public function getMenu(): ?Menu
  77.     {
  78.         return $this->menu;
  79.     }
  80.     public function setMenu(?Menu $menu): self
  81.     {
  82.         $this->menu $menu;
  83.         return $this;
  84.     }
  85.     public function isCanList(): ?bool
  86.     {
  87.         return $this->canList;
  88.     }
  89.     public function setCanList(bool $canList): self
  90.     {
  91.         $this->canList $canList;
  92.         return $this;
  93.     }
  94.     public function isCanEdit(): ?bool
  95.     {
  96.         return $this->canEdit;
  97.     }
  98.     public function setCanEdit(bool $canEdit): self
  99.     {
  100.         $this->canEdit $canEdit;
  101.         return $this;
  102.     }
  103.     public function isCanCreate(): ?bool
  104.     {
  105.         return $this->canCreate;
  106.     }
  107.     public function setCanCreate(bool $canCreate): self
  108.     {
  109.         $this->canCreate $canCreate;
  110.         return $this;
  111.     }
  112.     public function isCanDelete(): ?bool
  113.     {
  114.         return $this->canDelete;
  115.     }
  116.     public function setCanDelete(bool $canDelete): self
  117.     {
  118.         $this->canDelete $canDelete;
  119.         return $this;
  120.     }
  121.     public function getEmpresa(): ?Empresa
  122.     {
  123.         return $this->empresa;
  124.     }
  125.     public function setEmpresa(?Empresa $empresa): self
  126.     {
  127.         $this->empresa $empresa;
  128.         return $this;
  129.     }
  130. }