src/Entity/ChannelUserData/AdminChannelUserData/Document/AdminChannelUserDataAgreement.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Entity\ChannelUserData\AdminChannelUserData\Document;
  3. use App\Enum\ChannelUserData\Activity\AdminChannelUserDataActivityTagEnum;
  4. use App\Enum\ChannelUserData\Document\AdminChannelUserDataDocumentTypeEnum;
  5. use App\Enum\ChannelUserData\Document\AgreementStatusEnum;
  6. use App\Repository\ChannelUserData\AdminChannelUserData\Document\AdminChannelUserDataAgreementRepository;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Nellapp\Bundle\SDKBundle\TrackData\Attribute\TrackEntity;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. #[ORM\Entity(repositoryClassAdminChannelUserDataAgreementRepository::class)]
  11. #[ORM\Table('file_admin_channel_user_data_agreement')]
  12. #[TrackEntity(fieldGroups: [
  13.     'documents' => [
  14.         'tags' => [AdminChannelUserDataActivityTagEnum::FILES],
  15.     ]
  16. ])]
  17. class AdminChannelUserDataAgreement extends AdminChannelUserDataDocument
  18. {
  19.     public const VALIDITY_INTERVAL '1 year';
  20.     #[ORM\Column(type'string'nullabletrue)]
  21.     #[Assert\Choice(
  22.         callback: [AgreementStatusEnum::class, 'getChoices'],
  23.         message'adminChannelUser.document.choice.message',
  24.     )]
  25.     private ?string $status null;
  26.     #[ORM\Column(type'datetime_immutable'nullabletrue)]
  27.     private ?\DateTimeImmutable $signedAt null;
  28.     #[ORM\Column(type'string'nullabletrue)]
  29.     private ?string $refusalReason null;
  30.     public function getDocumentType(): ?string
  31.     {
  32.         return AdminChannelUserDataDocumentTypeEnum::AGREEMENT;
  33.     }
  34.     public function getStatus(): ?string
  35.     {
  36.         return $this->status;
  37.     }
  38.     public function setStatus(?string $status): AdminChannelUserDataAgreement
  39.     {
  40.         $this->status $status;
  41.         return $this;
  42.     }
  43.     public function getRefusalReason(): ?string
  44.     {
  45.         return $this->refusalReason;
  46.     }
  47.     public function setRefusalReason(?string $refusalReason): AdminChannelUserDataAgreement
  48.     {
  49.         $this->refusalReason $refusalReason;
  50.         return $this;
  51.     }
  52.     public function getSignedAt(): ?\DateTimeImmutable
  53.     {
  54.         return $this->signedAt;
  55.     }
  56.     public function setSignedAt(?\DateTimeImmutable $signedAt): AdminChannelUserDataAgreement
  57.     {
  58.         $this->signedAt $signedAt;
  59.         return $this;
  60.     }
  61.     public function getValidityInterval(): string
  62.     {
  63.         return self::VALIDITY_INTERVAL;
  64.     }
  65. }