src/Entity/SurveyContributionFileUploadAnswer.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Core\Annotation\ApiProperty;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\HttpFoundation\File\File;
  6. use Symfony\Component\Serializer\Annotation\Groups;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Vich\UploaderBundle\Entity\File as EmbeddedFile;
  9. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  10. /**
  11.  * @ORM\Entity(repositoryClass="App\Repository\SurveyContributionFileUploadAnswerRepository")
  12.  * @Vich\Uploadable
  13.  */
  14. class SurveyContributionFileUploadAnswer
  15. {
  16.     /**
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue
  19.      * @ORM\Column(type="integer")
  20.      * @Groups({"surveyContribution:read"})
  21.      */
  22.     private $id;
  23.     /**
  24.      * @var SurveyContributionQuestion
  25.      *
  26.      * @ORM\ManyToOne(targetEntity="App\Entity\SurveyContributionQuestion", inversedBy="contributionFileUploadAnswers")
  27.      * @ORM\JoinColumn(name="contribution_question_id", referencedColumnName="id",onDelete="SET NULL")
  28.      */
  29.     private $contributionQuestion;
  30.     /**
  31.      * @var FileTypeAnswer
  32.      *
  33.      * @ORM\ManyToOne(targetEntity="App\Entity\FileTypeAnswer")
  34.      */
  35.     private $fileTypeAnswer;
  36.     #[ApiProperty(iri'http://schema.org/contentUrl')]
  37.     #[Groups(['surveyContribution:read'])]
  38.     public ?string $uploadUrl null;
  39.     /**
  40.      * @ORM\Embedded(class="Vich\UploaderBundle\Entity\File")
  41.      */
  42.     private $upload;
  43.     /**
  44.      * @Vich\UploadableField(mapping="file_type_answer", fileNameProperty="upload.name", size="upload.size", mimeType="upload.mimeType", originalName="upload.originalName", dimensions="upload.dimensions")
  45.      * @Assert\File(maxSize="16M")
  46.      * @Assert\Expression(expression="this.getUploadFile() or this.getUpload().getName()")
  47.      */
  48.     public ?File $uploadFile null;
  49.     public function getId(): ?int
  50.     {
  51.         return $this->id;
  52.     }
  53.     public function getContributionQuestion(): ?SurveyContributionQuestion
  54.     {
  55.         return $this->contributionQuestion;
  56.     }
  57.     public function setContributionQuestion(?SurveyContributionQuestion $contributionQuestion): self
  58.     {
  59.         $this->contributionQuestion $contributionQuestion;
  60.         return $this;
  61.     }
  62.     public function getFileTypeAnswer(): ?FileTypeAnswer
  63.     {
  64.         return $this->fileTypeAnswer;
  65.     }
  66.     public function setFileTypeAnswer(?FileTypeAnswer $fileTypeAnswer): self
  67.     {
  68.         $this->fileTypeAnswer $fileTypeAnswer;
  69.         return $this;
  70.     }
  71.     public function getUpload(): EmbeddedFile
  72.     {
  73.         return $this->upload;
  74.     }
  75.     public function setUpload(EmbeddedFile $upload): self
  76.     {
  77.         $this->upload $upload;
  78.         return $this;
  79.     }
  80.     /**
  81.      * @return mixed
  82.      */
  83.     public function getUploadFile(): ?File
  84.     {
  85.         return $this->uploadFile;
  86.     }
  87.     /**
  88.      * @return FileTypeAnswer
  89.      *
  90.      * @throws \Exception
  91.      */
  92.     public function setUploadFile(?File $uploadFile): self
  93.     {
  94.         $this->uploadFile $uploadFile;
  95.         if ($uploadFile) {
  96.             $this->updatedAt = new \DateTime();
  97.         }
  98.         return $this;
  99.     }
  100. }