Total Complexity | 3 |
Total Lines | 27 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 0 |
1 | <?php |
||
11 | final class OutboxTransformer |
||
12 | { |
||
13 | /** @var OutboxMappedSuperclass */ |
||
14 | private $entity; |
||
15 | |||
16 | 2 | public function __construct(OutboxMappedSuperclass $entity) |
|
17 | { |
||
18 | 2 | $this->entity = $entity; |
|
19 | 2 | } |
|
20 | |||
21 | 2 | public function transform(OutboxEvent $event) : OutboxMappedSuperclass |
|
22 | { |
||
23 | 2 | return $this->entity |
|
24 | 2 | ->setId(Uuid::uuid4()) |
|
25 | 2 | ->setCreatedAt(new DateTimeImmutable()) |
|
26 | 2 | ->setMessageRoute($event->getRoute()) |
|
27 | 2 | ->setMessageType((new ReflectionClass($event))->getShortName()) |
|
28 | 2 | ->setAggregateId($event->getAggregateId()) |
|
29 | 2 | ->setAggregateType($event->getAggregateType()) |
|
30 | 2 | ->setPayloadType($event->getPayloadType()) |
|
31 | 2 | ->setPayload($this->getPayload()) |
|
32 | 2 | ->setSchemaVersion(1); |
|
33 | } |
||
34 | |||
35 | 2 | private function getPayload() : string |
|
38 | } |
||
39 | } |
||
40 |