Add workflow and step before save hooks

[MAILPOET-4515]
This commit is contained in:
Jan Jakes 2022-07-28 16:08:13 +02:00 committed by Veljko V
parent a6cbf99ee5
commit 87f35abf8b
2 changed files with 24 additions and 0 deletions

View File

@ -2,10 +2,33 @@
namespace MailPoet\Automation\Engine;
use MailPoet\Automation\Engine\Data\Step;
use MailPoet\Automation\Engine\Data\Workflow;
class Hooks {
/** @var WordPress */
private $wordPress;
public function __construct(
WordPress $wordPress
) {
$this->wordPress = $wordPress;
}
public const INITIALIZE = 'mailpoet/automation/initialize';
public const API_INITIALIZE = 'mailpoet/automation/api/initialize';
public const STEP_RUNNER_INITIALIZE = 'mailpoet/automation/step_runner/initialize';
public const TRIGGER = 'mailpoet/automation/trigger';
public const WORKFLOW_STEP = 'mailpoet/automation/workflow/step';
public const WORKFLOW_BEFORE_SAVE = 'mailpoet/automation/workflow/before_save';
public const WORKFLOW_STEP_BEFORE_SAVE = 'mailpoet/automation/workflow/step/before_save';
public function doWorkflowBeforeSave(Workflow $workflow): void {
$this->wordPress->doAction(self::WORKFLOW_BEFORE_SAVE, $workflow);
}
public function doWorkflowStepBeforeSave(Step $step): void {
$this->wordPress->doAction(self::WORKFLOW_STEP_BEFORE_SAVE, $step);
}
}

View File

@ -119,6 +119,7 @@ class ContainerConfigurator implements IContainerConfigurator {
$container->autowire(\MailPoet\Automation\Engine\Control\Steps\ActionStepRunner::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Control\TriggerHandler::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Engine::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Hooks::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Migrations\Migrator::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Registry::class)->setPublic(true);
$container->autowire(\MailPoet\Automation\Engine\Storage\WorkflowRunStorage::class)->setPublic(true);