src/Entity/Common/File.php line 39

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Common;
  3. use App\Entity\Account\User;
  4. use App\Entity\Channel\Export\FileExport;
  5. use App\Entity\Channel\FileOrganization;
  6. use App\Entity\Channel\PositioningTest\FileQuestion;
  7. use App\Entity\ChannelUserData\AdminChannelUserData\AdminDriveFile;
  8. use App\Entity\ChannelUserData\AdminChannelUserData\Document\AdminChannelUserDataAgreement;
  9. use App\Entity\ChannelUserData\AdminChannelUserData\Document\AdminChannelUserDataCertificate;
  10. use App\Entity\ChannelUserData\AdminChannelUserData\Document\AdminChannelUserDataDocument;
  11. use App\Entity\ChannelUserData\Cursus\FileAbstractCursus;
  12. use App\Repository\Common\FileRepository;
  13. use Doctrine\ORM\Mapping as ORM;
  14. use DrosalysWeb\ObjectExtensions\Blame\Model\BlameInterface;
  15. use DrosalysWeb\ObjectExtensions\Blame\Model\BlameTrait;
  16. use DrosalysWeb\ObjectExtensions\Timestamp\Model\TimestampInterface;
  17. use DrosalysWeb\ObjectExtensions\Timestamp\Model\TimestampTrait;
  18. use Nellapp\Bundle\SDKBundle\Uploader\Model\NellappFileInterface;
  19. use Symfony\Component\Serializer\Annotation as Serial;
  20. use Symfony\Component\Validator\Constraints\Length;
  21. use Symfony\Component\Validator\Constraints\NotBlank;
  22. #[
  23.     ORM\Entity(repositoryClassFileRepository::class),
  24.     ORM\InheritanceType('JOINED'),
  25.     ORM\DiscriminatorColumn(name'dtype'type'string'),
  26.     ORM\DiscriminatorMap([
  27.         'cursus-file' => FileAbstractCursus::class,
  28.         'organization-file' => FileOrganization::class,
  29.         'positioning-test-question-file' => FileQuestion::class,
  30.         'export-file' => FileExport::class,
  31.         'admin-drive-file' => AdminDriveFile::class,
  32.         'admin-agreement-file' => AdminChannelUserDataAgreement::class,
  33.         'admin-certificate-file' => AdminChannelUserDataCertificate::class,
  34.     ]),
  35. ]
  36. abstract class File implements BlameInterfaceTimestampInterfaceNellappFileInterface
  37. {
  38.     use BlameTrait;
  39.     use TimestampTrait;
  40.     #[Serial\Groups(['Manager'])]
  41.     #[ORM\ManyToOne(targetEntityUser::class)]
  42.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  43.     protected $createdBy null;
  44.     #[Serial\Groups(['Manager'])]
  45.     #[ORM\ManyToOne(targetEntityUser::class)]
  46.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  47.     protected $updatedBy null;
  48.     #[Serial\Groups(['Manager'])]
  49.     protected $createdAt null;
  50.     #[Serial\Groups(['Manager'])]
  51.     protected $updatedAt null;
  52.     #[ORM\Id]
  53.     #[ORM\GeneratedValue]
  54.     #[ORM\Column(type'integer')]
  55.     #[Serial\Groups(['Manager'])]
  56.     private ?int $id null;
  57.     #[Serial\Groups(['PostFile''PutFile'])]
  58.     private bool $pendingCopy false;
  59.     #[ORM\Column(type'string'nullablefalse)]
  60.     #[
  61.         NotBlank(groups: ['PostFile''PutFile']),
  62.         Length(max255groups: ['PostFile''PutFile'])
  63.     ]
  64.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  65.     private ?string $originalFilename null;
  66.     #[ORM\Column(type'string'nullablefalse)]
  67.     #[Serial\Groups(['PostFile''PutFile'])]
  68.     private ?string $path null;
  69.     #[ORM\Column(type'string'nullablefalse)]
  70.     #[NotBlank(groups: ['PostFile'])]
  71.     #[Serial\Groups(['PostFile'])]
  72.     private ?string $filename null;
  73.     #[ORM\Column(type'string'nullabletrue)]
  74.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  75.     private ?string $ext null;
  76.     #[ORM\Column(type'string'nullabletrue)]
  77.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  78.     private ?string $mimeType null;
  79.     #[ORM\Column(type'integer'nullabletrue)]
  80.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  81.     private ?int $size null;
  82.     public function getOriginalFilenameWithoutExtension(): string
  83.     {
  84.         return $this->getOriginalFilename();
  85.     }
  86.     public function getId(): ?int
  87.     {
  88.         return $this->id;
  89.     }
  90.     public function isPendingCopy(): bool
  91.     {
  92.         return $this->pendingCopy;
  93.     }
  94.     public function setPendingCopy(bool $pendingCopy): static
  95.     {
  96.         $this->pendingCopy $pendingCopy;
  97.         return $this;
  98.     }
  99.     public function getOriginalFilename(): ?string
  100.     {
  101.         return $this->originalFilename;
  102.     }
  103.     public function setOriginalFilename(?string $originalFilename): static
  104.     {
  105.         $this->originalFilename $originalFilename;
  106.         return $this;
  107.     }
  108.     public function getPath(): ?string
  109.     {
  110.         return $this->path;
  111.     }
  112.     public function setPath(?string $path): static
  113.     {
  114.         $this->path $path;
  115.         return $this;
  116.     }
  117.     public function getFilename(): ?string
  118.     {
  119.         return $this->filename;
  120.     }
  121.     public function setFilename(?string $filename): static
  122.     {
  123.         $this->filename $filename;
  124.         return $this;
  125.     }
  126.     public function getExt(): ?string
  127.     {
  128.         return $this->ext;
  129.     }
  130.     public function setExt(?string $ext): static
  131.     {
  132.         $this->ext $ext;
  133.         return $this;
  134.     }
  135.     public function getMimeType(): ?string
  136.     {
  137.         return $this->mimeType;
  138.     }
  139.     public function setMimeType(?string $mimeType): static
  140.     {
  141.         $this->mimeType $mimeType;
  142.         return $this;
  143.     }
  144.     public function getSize(): ?int
  145.     {
  146.         return $this->size;
  147.     }
  148.     public function setSize(?int $size): static
  149.     {
  150.         $this->size $size;
  151.         return $this;
  152.     }
  153. }