Implement root step

[MAILPOET-4523]
This commit is contained in:
Jan Jakes
2022-09-08 15:52:23 +02:00
committed by John Oleksowicz
parent 55e4e53a35
commit 9028ea96ec
3 changed files with 24 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<?php declare(strict_types = 1);
namespace MailPoet\Automation\Engine\Control;
use MailPoet\Automation\Engine\Workflows\Step;
use MailPoet\Validator\Schema\ObjectSchema;
class RootStep implements Step {
public function getKey(): string {
return 'core:root';
}
public function getName(): string {
return __('Root step', 'mailpoet');
}
public function getArgsSchema(): ObjectSchema {
return new ObjectSchema();
}
}

View File

@@ -2,6 +2,7 @@
namespace MailPoet\Automation\Engine;
use MailPoet\Automation\Engine\Control\RootStep;
use MailPoet\Automation\Engine\Workflows\Action;
use MailPoet\Automation\Engine\Workflows\Step;
use MailPoet\Automation\Engine\Workflows\Subject;
@@ -24,9 +25,11 @@ class Registry {
private $wordPress;
public function __construct(
RootStep $rootStep,
WordPress $wordPress
) {
$this->wordPress = $wordPress;
$this->steps[$rootStep->getKey()] = $rootStep;
}
public function addSubject(Subject $subject): void {

View File

@@ -112,6 +112,7 @@ class ContainerConfigurator implements IContainerConfigurator {
$container->autowire(\MailPoet\Automation\Engine\Builder\UpdateStepsController::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Builder\UpdateWorkflowController::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\ActionScheduler::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\RootStep::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\StepHandler::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\SubjectLoader::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\Steps\ActionStepRunner::class)->setPublic(true);