Store run subjects in extra table

[MAILPOET-4966]
This commit is contained in:
David Remer
2023-02-15 08:44:17 +02:00
committed by Aschepikov
parent d406e7c05e
commit c4faa53386
6 changed files with 152 additions and 21 deletions

View File

@ -3,7 +3,6 @@
namespace MailPoet\Automation\Engine\Data;
use DateTimeImmutable;
use MailPoet\Automation\Engine\Utils\Json;
class AutomationRun {
public const STATUS_RUNNING = 'running';
@ -107,11 +106,9 @@ class AutomationRun {
'status' => $this->status,
'created_at' => $this->createdAt->format(DateTimeImmutable::W3C),
'updated_at' => $this->updatedAt->format(DateTimeImmutable::W3C),
'subjects' => Json::encode(
array_map(function (Subject $subject): array {
'subjects' => array_map(function (Subject $subject): array {
return $subject->toArray();
}, $this->subjects)
),
}, $this->subjects),
];
}
@ -122,7 +119,7 @@ class AutomationRun {
$data['trigger_key'],
array_map(function (array $subject) {
return Subject::fromArray($subject);
}, Json::decode($data['subjects']))
}, $data['subjects'])
);
$automationRun->id = (int)$data['id'];
$automationRun->status = $data['status'];