createsDocument = $createsDocument; $this->createsFiles = $createsFiles; } /** * @param QAUserAnswerSelected qaUserAnswerSelected * @param array $filesUpload * @param string $path * @param string $documentType * @throws \App\Classes\Exceptions\MalformedRequestException */ public function execute(QAUserAnswerSelected $qaUserAnswerSelected, $filesUpload, string $path, string $documentType = DocumentType::ADMIN_WORK_FLOW) { $object = new DocumentObject($documentType, $filesUpload, '', ApprovalStatus::PENDING_VERIFICATION, $path); /** @var Document $document */ $document = $this->createsDocument->execute($qaUserAnswerSelected, $object); $result = $this->createsFiles->execute($document, $object); return $result; } }