src/Entity/ChannelUserData/Cursus/FileAbstractCursus.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\ChannelUserData\Cursus;
  3. use App\Entity\Common\File;
  4. use App\Repository\ChannelUserData\Cursus\FileAbstractCursusRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Nellapp\Bundle\SDKBundle\Permission\UserOwner\UserOwnerResourceInterface;
  7. use Symfony\Component\Validator\Constraints\NotBlank;
  8. use Symfony\Component\Serializer\Annotation as Serial;
  9. #[
  10.     ORM\Entity(repositoryClassFileAbstractCursusRepository::class),
  11.     ORM\Table('file_abstract_cursus')
  12. ]
  13. class FileAbstractCursus extends File implements UserOwnerResourceInterface
  14. {
  15.     #[ORM\ManyToOne(targetEntityAbstractCursus::class)]
  16.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  17.     private ?AbstractCursus $abstractCursus null;
  18.     #[ORM\Column(type'integer'nullablefalse)]
  19.     #[NotBlank(groups: ['PostFile''PutFile'])]
  20.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  21.     private ?int $tag null;
  22.     #[ORM\Column(type'boolean'nullablefalseoptions: ['default' => false])]
  23.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  24.     private bool $share false;
  25.     #[ORM\Column(type'date'nullabletrue)]
  26.     #[
  27.         NotBlank(groups: ['ToRemoveAt']),
  28.     ]
  29.     #[Serial\Groups(['ToRemoveAt''Manager'])]
  30.     private ?\DateTime $toRemoveAt null;
  31.     public static function getFileSystemAlias(): string
  32.     {
  33.         return 'cursus_filesystem';
  34.     }
  35.     public static function getUploaderAlias(): ?string
  36.     {
  37.         return 'cursus_upload';
  38.     }
  39.     public function getAbstractCursus(): ?AbstractCursus
  40.     {
  41.         return $this->abstractCursus;
  42.     }
  43.     public function setAbstractCursus(?AbstractCursus $abstractCursus): FileAbstractCursus
  44.     {
  45.         $this->abstractCursus $abstractCursus;
  46.         return $this;
  47.     }
  48.     public function getTag(): ?int
  49.     {
  50.         return $this->tag;
  51.     }
  52.     public function setTag(?int $tag): FileAbstractCursus
  53.     {
  54.         $this->tag $tag;
  55.         return $this;
  56.     }
  57.     public function getToRemoveAt(): ?\DateTime
  58.     {
  59.         return $this->toRemoveAt;
  60.     }
  61.     public function setToRemoveAt(?\DateTime $toRemoveAt): FileAbstractCursus
  62.     {
  63.         $this->toRemoveAt $toRemoveAt;
  64.         return $this;
  65.     }
  66.     public function isShare(): bool
  67.     {
  68.         return $this->share;
  69.     }
  70.     public function setShare(bool $share): FileAbstractCursus
  71.     {
  72.         $this->share $share;
  73.         return $this;
  74.     }
  75.     public function getUserOwners(): array
  76.     {
  77.         $owner $this->getCreatedBy();
  78.         return $owner !== null ? [$owner] : [];
  79.     }
  80. }