PersonAddressPostal.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Person;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use App\Entity\Core\AddressPostal;
  6. use App\Entity\Traits\CreatedOnAndByTrait;
  7. use App\Enum\Person\AddressPostalPersonTypeEnum;
  8. use App\Repository\Person\PersonAddressPostalRepository;
  9. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  10. use Doctrine\ORM\Mapping as ORM;
  11. use Symfony\Component\Serializer\Annotation\Groups;
  12. /**
  13. * Lien entre une Person et une AddressPostal.
  14. */
  15. #[ApiResource(operations: [])]
  16. // #[Auditable]
  17. #[ORM\Entity(repositoryClass: PersonAddressPostalRepository::class)]
  18. class PersonAddressPostal
  19. {
  20. use CreatedOnAndByTrait;
  21. #[ORM\Id]
  22. #[ORM\Column]
  23. #[ORM\GeneratedValue]
  24. private ?int $id = null;
  25. #[ORM\ManyToOne(inversedBy: 'personAddressPostal')]
  26. #[ORM\JoinColumn(nullable: false)]
  27. private Person $person;
  28. #[ORM\OneToOne(inversedBy: 'personAddressPostal', cascade: ['persist', 'remove'], orphanRemoval: true)]
  29. #[ORM\JoinColumn(nullable: false)]
  30. #[Groups('access_address')]
  31. private AddressPostal $addressPostal;
  32. #[ORM\Column(length: 50, enumType: AddressPostalPersonTypeEnum::class)]
  33. #[Groups('access_address')]
  34. private AddressPostalPersonTypeEnum $type;
  35. public function getId(): ?int
  36. {
  37. return $this->id;
  38. }
  39. public function getPerson(): ?Person
  40. {
  41. return $this->person;
  42. }
  43. public function setPerson(?Person $person): self
  44. {
  45. $this->person = $person;
  46. return $this;
  47. }
  48. public function getAddressPostal(): ?AddressPostal
  49. {
  50. return $this->addressPostal;
  51. }
  52. public function setAddressPostal(AddressPostal $addressPostal): self
  53. {
  54. $this->addressPostal = $addressPostal;
  55. return $this;
  56. }
  57. public function getType(): AddressPostalPersonTypeEnum
  58. {
  59. return $this->type;
  60. }
  61. public function setType(AddressPostalPersonTypeEnum $type): self
  62. {
  63. $this->type = $type;
  64. return $this;
  65. }
  66. }