Return created workflow with ID when using create-from-template endpoint

[MAILPOET-4533]
This commit is contained in:
David Remer
2022-08-31 11:36:00 +03:00
committed by Jan Jakeš
parent 87ced17813
commit 1591700e71
3 changed files with 9 additions and 4 deletions

View File

@ -29,7 +29,11 @@ class CreateWorkflowFromTemplateController {
throw UnexpectedValueException::create()->withMessage('Template not found.');
}
$this->storage->createWorkflow($template->getWorkflow());
return $template->getWorkflow();
$workflowId = $this->storage->createWorkflow($template->getWorkflow());
$workflow = $this->storage->getWorkflow($workflowId);
if (!$workflow) {
throw UnexpectedValueException::create()->withMessage('Workflow not found.');
}
return $workflow;
}
}

View File

@ -156,6 +156,7 @@ class Workflow {
public function toArray(): array {
return [
'id' => $this->id,
'name' => $this->name,
'status' => $this->status,
'author' => $this->author->ID,

View File

@ -19,8 +19,8 @@ class WorkflowsCreateFromTemplateEndpoint extends Endpoint {
}
public function handle(Request $request): Response {
$this->createWorkflowFromTemplateController->createWorkflow((string)$request->getParam('slug'));
return new Response();
$workflow = $this->createWorkflowFromTemplateController->createWorkflow((string)$request->getParam('slug'));
return new Response($workflow->toArray());
}
public static function getRequestSchema(): array {