Return statistics of Workflow

[MAILPOET-4673]
This commit is contained in:
David Remer
2022-09-30 12:27:17 +03:00
committed by Jan Jakeš
parent c73d242c5d
commit ff9f5d304e

View File

@@ -10,6 +10,7 @@ use MailPoet\Automation\Engine\Builder\UpdateWorkflowController;
use MailPoet\Automation\Engine\Data\NextStep; use MailPoet\Automation\Engine\Data\NextStep;
use MailPoet\Automation\Engine\Data\Step; use MailPoet\Automation\Engine\Data\Step;
use MailPoet\Automation\Engine\Data\Workflow; use MailPoet\Automation\Engine\Data\Workflow;
use MailPoet\Automation\Engine\Storage\WorkflowStatisticsStorage;
use MailPoet\Automation\Engine\Validation\WorkflowSchema; use MailPoet\Automation\Engine\Validation\WorkflowSchema;
use MailPoet\Validator\Builder; use MailPoet\Validator\Builder;
@@ -17,10 +18,15 @@ class WorkflowsPutEndpoint extends Endpoint {
/** @var UpdateWorkflowController */ /** @var UpdateWorkflowController */
private $updateController; private $updateController;
/** @var WorkflowStatisticsStorage */
private $statisticsStorage;
public function __construct( public function __construct(
UpdateWorkflowController $updateController UpdateWorkflowController $updateController,
WorkflowStatisticsStorage $statisticsStorage
) { ) {
$this->updateController = $updateController; $this->updateController = $updateController;
$this->statisticsStorage = $statisticsStorage;
} }
public function handle(Request $request): Response { public function handle(Request $request): Response {
@@ -50,6 +56,7 @@ class WorkflowsPutEndpoint extends Endpoint {
'id' => $workflow->getAuthor()->ID, 'id' => $workflow->getAuthor()->ID,
'name' => $workflow->getAuthor()->display_name, 'name' => $workflow->getAuthor()->display_name,
], ],
'stats' => $this->statisticsStorage->getWorkflowStats($workflow->getId())->toArray(),
'steps' => array_map(function (Step $step) { 'steps' => array_map(function (Step $step) {
return [ return [
'id' => $step->getId(), 'id' => $step->getId(),