Add storage service for workflows & create workflow method

[MAILPOET-4136]
This commit is contained in:
Jan Jakes
2022-03-07 11:34:04 +01:00
committed by Veljko V
parent 97ad4cffb5
commit 41cb2c4034
3 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,29 @@
<?php declare(strict_types = 1);
namespace MailPoet\Automation\Engine\Storage;
use MailPoet\Automation\Engine\Exceptions;
use MailPoet\Automation\Engine\Workflows\Workflow;
use wpdb;
class WorkflowStorage {
/** @var string */
private $table;
/** @var wpdb */
private $wpdb;
public function __construct() {
global $wpdb;
$this->table = $wpdb->prefix . 'mailpoet_automation_workflows';
$this->wpdb = $wpdb;
}
public function createWorkflow(Workflow $workflow): int {
$result = $this->wpdb->insert($this->table, $workflow->toArray());
if (!$result) {
throw Exceptions::databaseError($this->wpdb->last_error);
}
return $this->wpdb->insert_id;
}
}