workflowStorage = $workflowStorage; } public function deleteWorkflow(int $id): Workflow { $workflow = $this->workflowStorage->getWorkflow($id); if (!$workflow) { throw Exceptions::workflowNotFound($id); } if ($workflow->getStatus() !== Workflow::STATUS_TRASH) { throw Exceptions::workflowNotTrashed($id); } $this->workflowStorage->deleteWorkflow($workflow); return $workflow; } }