src/Entity/Localidad.php line 36
<?phpnamespace App\Entity;use Ramsey\Uuid\Uuid;use App\Trait\UuidTrait;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\Put;use ApiPlatform\Metadata\Post;use ApiPlatform\Metadata\Patch;use ApiPlatform\Metadata\Delete;use Doctrine\ORM\Mapping as ORM;use ApiPlatform\Metadata\ApiResource;use Gedmo\Mapping\Annotation as Gedmo;use ApiPlatform\Metadata\GetCollection;use App\Repository\LocalidadRepository;use Doctrine\Common\Collections\Collection;use Doctrine\Common\Collections\ArrayCollection;use Symfony\Component\Serializer\Annotation\Groups;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: LocalidadRepository::class)]#[ApiResource(operations: [new Get(uriTemplate: 'localidades/{uuid}'),new Post(validationContext: ['groups' => ['Default', 'localidad:create']], denormalizationContext: ['groups' => ['localidad:create']], uriTemplate: 'localidades'),new GetCollection(uriTemplate: 'localidades', paginationEnabled: false, normalizationContext: ['groups' => ['localidad:collection', 'uuid']]),new Put(denormalizationContext: ['groups' => ['localidad:update']], uriTemplate: 'localidades/{uuid}'),new Patch(denormalizationContext: ['groups' => ['localidad:update']], uriTemplate: 'localidades/{uuid}'),new Delete(uriTemplate: 'localidades/{uuid}'),],normalizationContext: ['groups' => ['localidad:read', 'uuid']],)]class Localidad{use UuidTrait;#[Assert\NotNull(groups: ['localidad:create'])]#[Groups(['localidad:read', 'localidad:create', 'localidad:update', 'localidad:collection','user:read', 'user:create', 'user:update','empresa:read', 'empresa:create', 'empresa:update'])]#[ORM\Column(length: 255)]private ?string $nombre = null;#[Groups(['localidad:read', 'localidad:create', 'localidad:update','user:read', 'user:create', 'user:update','empresa:read', 'empresa:create', 'empresa:update'])]#[ORM\Column(length: 255)]#[Gedmo\Slug(fields: ['nombre'])]private ?string $codigo = null;#[Assert\NotNull(groups: ['localidad:create'])]#[Groups(['localidad:read', 'localidad:create', 'localidad:update','user:read', 'user:create', 'user:update','empresa:read', 'empresa:create', 'empresa:update'])]#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?Municipio $municipio = null;#[ORM\OneToMany(mappedBy: 'localidad', targetEntity: Direccion::class, orphanRemoval: true, cascade: ['persist', 'remove'])]private Collection $direcciones;public function __construct(){$this->direcciones = new ArrayCollection();$this->uuid = Uuid::uuid4()->toString();}public function getNombre(): ?string{return $this->nombre;}public function setNombre(string $nombre): self{$this->nombre = $nombre;return $this;}public function getCodigo(): ?string{return $this->codigo;}public function setCodigo(string $codigo): self{$this->codigo = $codigo;return $this;}public function getMunicipio(): ?Municipio{return $this->municipio;}public function setMunicipio(?Municipio $municipio): self{$this->municipio = $municipio;return $this;}/*** @return Collection<int, Direccion>*/public function getDirecciones(): Collection{return $this->direcciones;}public function addDireccione(Direccion $direccione): self{if (!$this->direcciones->contains($direccione)) {$this->direcciones->add($direccione);$direccione->setLocalidad($this);}return $this;}public function removeDireccione(Direccion $direccione): self{if ($this->direcciones->removeElement($direccione)) {// set the owning side to null (unless already changed)if ($direccione->getLocalidad() === $this) {$direccione->setLocalidad(null);}}return $this;}}