src/Entity/Carpeta.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 App\Trait\BlameableTrait;
  8. use ApiPlatform\Metadata\Post;
  9. use ApiPlatform\Metadata\Patch;
  10. use ApiPlatform\Metadata\Delete;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use App\Trait\TimestampableTrait;
  13. use ApiPlatform\Metadata\ApiResource;
  14. use App\Repository\CarpetaRepository;
  15. use ApiPlatform\Metadata\GetCollection;
  16. use Symfony\Component\Serializer\Annotation\Groups;
  17. use Symfony\Component\Validator\Constraints as Assert;
  18. #[ORM\Entity(repositoryClassCarpetaRepository::class)]
  19. #[ApiResource(
  20.     operations: [
  21.         new GetCollection(),
  22.         new Post(validationContext: ['groups' => ['Default''carpeta:create']], denormalizationContext: ['groups' => ['carpeta:create']]),
  23.         new Get(),
  24.         new Put(denormalizationContext: ['groups' => ['carpeta:update']]),
  25.         new Patch(denormalizationContext: ['groups' => ['carpeta:update']]),
  26.         new Delete(),
  27.     ],
  28.     normalizationContext: ['groups' => ['carpeta:read''uuid']],
  29. )]
  30. class Carpeta
  31. {
  32.     use TimestampableTrait;
  33.     use BlameableTrait;
  34.     use UuidTrait;
  35.     #[Assert\NotNull(groups: ['carpeta:create'])]
  36.     #[Groups(['carpeta:read''carpeta:create''carpeta:update'])]
  37.     #[ORM\Column(length255nullabletrue)]
  38.     private ?string $path null;
  39.     #[Groups(['carpeta:read''carpeta:create''carpeta:update'])]
  40.     #[ORM\Column(length255nullabletrue)]
  41.     private ?string $nombre null;
  42.     #[Groups(['carpeta:read''carpeta:create''carpeta:update'])]
  43.     #[ORM\Column(nullabletrue)]
  44.     private ?bool $isFavorita null;
  45.     public function __construct()
  46.     {
  47.         $this->uuid Uuid::uuid4()->toString();
  48.     }
  49.     public function getPath(): ?string
  50.     {
  51.         return $this->path;
  52.     }
  53.     public function setPath(?string $path): self
  54.     {
  55.         $this->path $path;
  56.         return $this;
  57.     }
  58.     public function getNombre(): ?string
  59.     {
  60.         return $this->nombre;
  61.     }
  62.     public function setNombre(?string $nombre): self
  63.     {
  64.         $this->nombre $nombre;
  65.         return $this;
  66.     }
  67.     public function isIsFavorita(): ?bool
  68.     {
  69.         return $this->isFavorita;
  70.     }
  71.     public function setIsFavorita(?bool $isFavorita): self
  72.     {
  73.         $this->isFavorita $isFavorita;
  74.         return $this;
  75.     }
  76. }