src/Entity/ChannelUserData/AdminChannelUserData/Document/AdminChannelUserDataDocument.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity\ChannelUserData\AdminChannelUserData\Document;
  3. use App\Entity\ChannelUserData\AdminChannelUserData;
  4. use App\Entity\Common\File;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Doctrine\ORM\Mapping\JoinColumn;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. #[ORM\Entity]
  9. #[ORM\Table('file_admin_channel_user_data_document')]
  10. abstract class AdminChannelUserDataDocument extends File
  11. {
  12.     #[ORM\ManyToOne(targetEntityAdminChannelUserData::class, fetch'EAGER'inversedBy'documents')]
  13.     #[JoinColumn(nullablefalseonDelete'CASCADE')]
  14.     private ?AdminChannelUserData $channelUserData null;
  15.     #[ORM\Column(type'date')]
  16.     private ?\DateTime $documentIssuedDate null;
  17.     #[ORM\Column(type'date'nullabletrue)]
  18.     private ?\DateTime $lastNotifiedAt null;
  19.     abstract public function getDocumentType(): ?string;
  20.     abstract public function getValidityInterval(): string;
  21.     public function getValidUntil(): \DateTime
  22.     {
  23.         $interval $this->getValidityInterval();
  24.         return (clone $this->documentIssuedDate)->modify("+$interval");
  25.     }
  26.     public static function getFileSystemAlias(): string
  27.     {
  28.         return 'admin_channel_user_data_document_filesystem';
  29.     }
  30.     public static function getUploaderAlias(): ?string
  31.     {
  32.         return 'admin_channel_user_data_document_upload';
  33.     }
  34.     public function getChannelUserData(): ?AdminChannelUserData
  35.     {
  36.         return $this->channelUserData;
  37.     }
  38.     public function setChannelUserData(?AdminChannelUserData $channelUserData): AdminChannelUserDataDocument
  39.     {
  40.         $this->channelUserData $channelUserData;
  41.         return $this;
  42.     }
  43.     public function getDocumentIssuedDate(): ?\DateTime
  44.     {
  45.         return $this->documentIssuedDate;
  46.     }
  47.     public function setDocumentIssuedDate(?\DateTime $documentIssuedDate): AdminChannelUserDataDocument
  48.     {
  49.         $this->documentIssuedDate $documentIssuedDate;
  50.         return $this;
  51.     }
  52.     public function getLastNotifiedAt(): ?\DateTime
  53.     {
  54.         return $this->lastNotifiedAt;
  55.     }
  56.     public function setLastNotifiedAt(?\DateTime $lastNotifiedAt): AdminChannelUserDataDocument
  57.     {
  58.         $this->lastNotifiedAt $lastNotifiedAt;
  59.         return $this;
  60.     }
  61. }