['address:read']], denormalizationContext: ['groups' => ['address:write']], order: ['id' => 'ASC'], )] #[ApiFilter(SearchFilter::class, properties: ['client' => 'exact', 'prospect' => 'exact'])] #[ORM\Entity(repositoryClass: DoctrineAddressRepository::class)] #[ORM\Table(name: 'directory_address')] class Address implements TimestampableInterface, BlamableInterface { use TimestampableBlamableTrait; #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] #[Groups(['address:read'])] private ?int $id = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private ?string $label = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private ?string $street = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private ?string $streetComplement = null; #[ORM\Column(length: 20, nullable: true)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private ?string $postalCode = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private ?string $city = null; #[ORM\Column(length: 2)] #[Groups(['address:read', 'address:write', 'client:read', 'prospect:read'])] private string $country = 'FR'; #[ORM\ManyToOne(targetEntity: Client::class)] #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')] #[Groups(['address:read', 'address:write'])] private ?Client $client = null; #[ORM\ManyToOne(targetEntity: Prospect::class)] #[ORM\JoinColumn(name: 'prospect_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')] #[Groups(['address:read', 'address:write'])] private ?Prospect $prospect = null; public function getId(): ?int { return $this->id; } public function getLabel(): ?string { return $this->label; } public function setLabel(?string $label): static { $this->label = $label; return $this; } public function getStreet(): ?string { return $this->street; } public function setStreet(?string $street): static { $this->street = $street; return $this; } public function getStreetComplement(): ?string { return $this->streetComplement; } public function setStreetComplement(?string $streetComplement): static { $this->streetComplement = $streetComplement; return $this; } public function getPostalCode(): ?string { return $this->postalCode; } public function setPostalCode(?string $postalCode): static { $this->postalCode = $postalCode; return $this; } public function getCity(): ?string { return $this->city; } public function setCity(?string $city): static { $this->city = $city; return $this; } public function getCountry(): string { return $this->country; } public function setCountry(string $country): static { $this->country = $country; return $this; } public function getClient(): ?Client { return $this->client; } public function setClient(?Client $client): static { $this->client = $client; return $this; } public function getProspect(): ?Prospect { return $this->prospect; } public function setProspect(?Prospect $prospect): static { $this->prospect = $prospect; return $this; } }