src/Entity/Documento.php line 44
<?phpnamespace App\Entity;use Ramsey\Uuid\Uuid;use App\Trait\UuidTrait;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\Put;use App\Trait\BlameableTrait;use ApiPlatform\Metadata\Post;use ApiPlatform\Metadata\Patch;use ApiPlatform\Metadata\Delete;use Doctrine\ORM\Mapping as ORM;use App\Trait\TimestampableTrait;use ApiPlatform\Metadata\ApiResource;use App\State\DocumentoStateProcessor;use ApiPlatform\Metadata\GetCollection;use App\Repository\DocumentoRepository;use Ramsey\Uuid\Doctrine\UuidGenerator;use Symfony\Component\HttpFoundation\File\File;use Symfony\Component\Serializer\Annotation\Groups;use Vich\UploaderBundle\Mapping\Annotation as Vich;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: DocumentoRepository::class)]#[ApiResource(operations: [new GetCollection(),new Post(validationContext: ['groups' => ['Default', 'documento:create']],denormalizationContext: ['groups' => ['documento:create']],inputFormats: ['multipart' => ['multipart/form-data']],processor: DocumentoStateProcessor::class),new Get(),new Put(denormalizationContext: ['groups' => ['documento:update']]),new Patch(denormalizationContext: ['groups' => ['documento:update']]),new Delete(),],normalizationContext: ['groups' => ['documento:read', 'uuid']],)]#[Vich\Uploadable]class Documento{use TimestampableTrait;use BlameableTrait;use UuidTrait;public const MODULO = 'documentos';#[Assert\NotNull(groups: ['documento:create'])]#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[Vich\UploadableField(mapping: 'documentos', fileNameProperty: 'nombreArchivo', size: 'size', mimeType: 'mimeType')]private ?File $archivoDocumento = null;#[Groups(['documento:read'])]#[ORM\Column(nullable: true)]private ?string $nombreArchivo = null;#[Groups(['documento:read'])]#[ORM\Column(nullable: true)]private ?int $size = null;#[Groups(['documento:read'])]private ?string $contentUrl = null;#[Groups(['documento:read'])]#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?Empresa $empresa = null;#[Groups(['documento:read'])]#[ORM\Column(length: 255, nullable: true)]private ?string $mimeType = null;#[Groups(['documento:read'])]#[ORM\Column(nullable: true)]private ?bool $isAutogenerado = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(nullable: true)]private ?bool $isPublic = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $modulo = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $moduloRef = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $submodulo = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $submoduloRef = null;#[Groups(['documento:read', 'documento:create', 'documento:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $path = null;public function __construct(){$this->uuid = Uuid::uuid4()->toString();}/*** Esta propiedad se usa para obtener el nombre de la* carpeta donde se guardarĂ¡ el documento.** @return string*/public function getEmpresaCodigo(): ?string{return ($this->empresa) ? $this->empresa->getCodigo() : 'default';}public function setArchivoDocumento(?File $archivoDocumento = null): void{$this->archivoDocumento = $archivoDocumento;if (null !== $archivoDocumento) {$this->updatedAt = new \DateTimeImmutable();}}public function getArchivoDocumento(): ?File{return $this->archivoDocumento;}public function setNombreArchivo(?string $nombreArchivo): void{$this->nombreArchivo = $nombreArchivo;}public function getNombreArchivo(): ?string{return $this->nombreArchivo;}public function setSize(?int $size): void{$this->size = $size;}public function getSize(): ?int{return $this->size;}public function getContentUrl(): ?string{return $this->contentUrl;}public function setContentUrl(?string $contentUrl): self{$this->contentUrl = $contentUrl;return $this;}public function getEmpresa(): ?Empresa{return $this->empresa;}public function setEmpresa(?Empresa $empresa): self{$this->empresa = $empresa;return $this;}public function getMimeType(): ?string{return $this->mimeType;}public function setMimeType(?string $mimeType): self{$this->mimeType = $mimeType;return $this;}public function isIsAutogenerado(): ?bool{return $this->isAutogenerado;}public function setIsAutogenerado(?bool $isAutogenerado): self{$this->isAutogenerado = $isAutogenerado;return $this;}public function isIsPublic(): ?bool{return $this->isPublic;}public function setIsPublic(?bool $isPublic): self{$this->isPublic = $isPublic;return $this;}public function getModulo(): ?string{return $this->modulo;}public function setModulo(?string $modulo): self{$this->modulo = $modulo;return $this;}public function getModuloRef(): ?string{return $this->moduloRef;}public function setModuloRef(?string $moduloRef): self{$this->moduloRef = $moduloRef;return $this;}public function getSubmodulo(): ?string{return $this->submodulo;}public function setSubmodulo(?string $submodulo): self{$this->submodulo = $submodulo;return $this;}public function getSubmoduloRef(): ?string{return $this->submoduloRef;}public function setSubmoduloRef(?string $submoduloRef): self{$this->submoduloRef = $submoduloRef;return $this;}public function getPath(): ?string{return $this->path;}public function setPath(?string $path): self{$this->path = $path;return $this;}}