LocationUpdated::serialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace CultuurNet\UDB3\Event\Events;
4
5
use CultuurNet\UDB3\Event\ValueObjects\LocationId;
6
use CultuurNet\UDB3\Offer\Events\AbstractEvent;
7
8
final class LocationUpdated extends AbstractEvent
9
{
10
    /**
11
     * @var LocationId
12
     */
13
    private $locationId;
14
15
    public function __construct(
16
        string $eventId,
17
        LocationId $locationId
18
    ) {
19
        parent::__construct($eventId);
20
21
        $this->locationId = $locationId;
22
    }
23
24
    public function getLocationId(): LocationId
25
    {
26
        return $this->locationId;
27
    }
28
29
    public function serialize(): array
30
    {
31
        return parent::serialize() + [
32
                'location_id' => $this->locationId->toNative(),
33
            ];
34
    }
35
36
    public static function deserialize(array $data): LocationUpdated
37
    {
38
        return new self(
39
            $data['item_id'],
40
            new LocationId($data['location_id'])
41
        );
42
    }
43
}
44