src/Entity/Common/File.php line 40

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-document-file' => AdminChannelUserDataDocument::class,
  33.         'admin-agreement-file' => AdminChannelUserDataAgreement::class,
  34.         'admin-certificate-file' => AdminChannelUserDataCertificate::class,
  35.     ]),
  36. ]
  37. abstract class File implements BlameInterfaceTimestampInterfaceNellappFileInterface
  38. {
  39.     use BlameTrait;
  40.     use TimestampTrait;
  41.     #[Serial\Groups(['Manager'])]
  42.     #[ORM\ManyToOne(targetEntityUser::class)]
  43.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  44.     protected $createdBy null;
  45.     #[Serial\Groups(['Manager'])]
  46.     #[ORM\ManyToOne(targetEntityUser::class)]
  47.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  48.     protected $updatedBy null;
  49.     #[Serial\Groups(['Manager'])]
  50.     protected $createdAt null;
  51.     #[Serial\Groups(['Manager'])]
  52.     protected $updatedAt null;
  53.     #[ORM\Id]
  54.     #[ORM\GeneratedValue]
  55.     #[ORM\Column(type'integer')]
  56.     #[Serial\Groups(['Manager'])]
  57.     private ?int $id null;
  58.     #[Serial\Groups(['PostFile''PutFile'])]
  59.     private bool $pendingCopy false;
  60.     #[ORM\Column(type'string'nullablefalse)]
  61.     #[
  62.         NotBlank(groups: ['PostFile''PutFile']),
  63.         Length(max255groups: ['PostFile''PutFile'])
  64.     ]
  65.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  66.     private ?string $originalFilename null;
  67.     #[ORM\Column(type'string'nullablefalse)]
  68.     #[Serial\Groups(['PostFile''PutFile'])]
  69.     private ?string $path null;
  70.     #[ORM\Column(type'string'nullablefalse)]
  71.     #[NotBlank(groups: ['PostFile'])]
  72.     #[Serial\Groups(['PostFile'])]
  73.     private ?string $filename null;
  74.     #[ORM\Column(type'string'nullabletrue)]
  75.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  76.     private ?string $ext null;
  77.     #[ORM\Column(type'string'nullabletrue)]
  78.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  79.     private ?string $mimeType null;
  80.     #[ORM\Column(type'integer'nullabletrue)]
  81.     #[Serial\Groups(['PostFile''PutFile''Manager'])]
  82.     private ?int $size null;
  83.     public function getOriginalFilenameWithoutExtension(): string
  84.     {
  85.         return $this->getOriginalFilename();
  86.     }
  87.     public function getId(): ?int
  88.     {
  89.         return $this->id;
  90.     }
  91.     public function isPendingCopy(): bool
  92.     {
  93.         return $this->pendingCopy;
  94.     }
  95.     public function setPendingCopy(bool $pendingCopy): static
  96.     {
  97.         $this->pendingCopy $pendingCopy;
  98.         return $this;
  99.     }
  100.     public function getOriginalFilename(): ?string
  101.     {
  102.         return $this->originalFilename;
  103.     }
  104.     public function setOriginalFilename(?string $originalFilename): static
  105.     {
  106.         $this->originalFilename $originalFilename;
  107.         return $this;
  108.     }
  109.     public function getPath(): ?string
  110.     {
  111.         return $this->path;
  112.     }
  113.     public function setPath(?string $path): static
  114.     {
  115.         $this->path $path;
  116.         return $this;
  117.     }
  118.     public function getFilename(): ?string
  119.     {
  120.         return $this->filename;
  121.     }
  122.     public function setFilename(?string $filename): static
  123.     {
  124.         $this->filename $filename;
  125.         return $this;
  126.     }
  127.     public function getExt(): ?string
  128.     {
  129.         return $this->ext;
  130.     }
  131.     public function setExt(?string $ext): static
  132.     {
  133.         $this->ext $ext;
  134.         return $this;
  135.     }
  136.     public function getMimeType(): ?string
  137.     {
  138.         return $this->mimeType;
  139.     }
  140.     public function setMimeType(?string $mimeType): static
  141.     {
  142.         $this->mimeType $mimeType;
  143.         return $this;
  144.     }
  145.     public function getSize(): ?int
  146.     {
  147.         return $this->size;
  148.     }
  149.     public function setSize(?int $size): static
  150.     {
  151.         $this->size $size;
  152.         return $this;
  153.     }
  154. }