diff --git a/mailpoet/lib/Automation/Engine/Storage/WorkflowRunStorage.php b/mailpoet/lib/Automation/Engine/Storage/WorkflowRunStorage.php new file mode 100644 index 0000000000..5e5c5df1d9 --- /dev/null +++ b/mailpoet/lib/Automation/Engine/Storage/WorkflowRunStorage.php @@ -0,0 +1,29 @@ +table = $wpdb->prefix . 'mailpoet_automation_workflow_runs'; + $this->wpdb = $wpdb; + } + + public function createWorkflowRun(WorkflowRun $workflowRun): int { + $result = $this->wpdb->insert($this->table, $workflowRun->toArray()); + if ($result === false) { + throw Exceptions::databaseError($this->wpdb->last_error); + } + return $this->wpdb->insert_id; + } +} diff --git a/mailpoet/lib/DI/ContainerConfigurator.php b/mailpoet/lib/DI/ContainerConfigurator.php index 822d6ac52a..e336bd4b1b 100644 --- a/mailpoet/lib/DI/ContainerConfigurator.php +++ b/mailpoet/lib/DI/ContainerConfigurator.php @@ -112,6 +112,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Automation\Engine\Engine::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); $container->autowire(\MailPoet\Automation\Engine\Storage\WorkflowStorage::class)->setPublic(true); $container->autowire(\MailPoet\Automation\Engine\WordPress::class)->setPublic(true); // Config