-
Notifications
You must be signed in to change notification settings - Fork 100
/
Copy pathEventSubscribers.php
106 lines (89 loc) · 2.93 KB
/
EventSubscribers.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
declare(strict_types=1);
namespace MySQLReplication\Event;
use MySQLReplication\Definitions\ConstEventsNames;
use MySQLReplication\Event\DTO\DeleteRowsDTO;
use MySQLReplication\Event\DTO\EventDTO;
use MySQLReplication\Event\DTO\FormatDescriptionEventDTO;
use MySQLReplication\Event\DTO\GTIDLogDTO;
use MySQLReplication\Event\DTO\HeartbeatDTO;
use MySQLReplication\Event\DTO\MariaDbGtidLogDTO;
use MySQLReplication\Event\DTO\QueryDTO;
use MySQLReplication\Event\DTO\RotateDTO;
use MySQLReplication\Event\DTO\RowsQueryDTO;
use MySQLReplication\Event\DTO\TableMapDTO;
use MySQLReplication\Event\DTO\UpdateRowsDTO;
use MySQLReplication\Event\DTO\WriteRowsDTO;
use MySQLReplication\Event\DTO\XidDTO;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class EventSubscribers implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
ConstEventsNames::TABLE_MAP->value => 'onTableMap',
ConstEventsNames::UPDATE->value => 'onUpdate',
ConstEventsNames::DELETE->value => 'onDelete',
ConstEventsNames::GTID->value => 'onGTID',
ConstEventsNames::QUERY->value => 'onQuery',
ConstEventsNames::ROTATE->value => 'onRotate',
ConstEventsNames::XID->value => 'onXID',
ConstEventsNames::WRITE->value => 'onWrite',
ConstEventsNames::MARIADB_GTID->value => 'onMariaDbGtid',
ConstEventsNames::FORMAT_DESCRIPTION->value => 'onFormatDescription',
ConstEventsNames::HEARTBEAT->value => 'onHeartbeat',
ConstEventsNames::ROWS_QUERY->value => 'onRowsQuery',
];
}
public function onUpdate(UpdateRowsDTO $event): void
{
$this->allEvents($event);
}
public function onTableMap(TableMapDTO $event): void
{
$this->allEvents($event);
}
public function onDelete(DeleteRowsDTO $event): void
{
$this->allEvents($event);
}
public function onGTID(GTIDLogDTO $event): void
{
$this->allEvents($event);
}
public function onQuery(QueryDTO $event): void
{
$this->allEvents($event);
}
public function onRotate(RotateDTO $event): void
{
$this->allEvents($event);
}
public function onXID(XidDTO $event): void
{
$this->allEvents($event);
}
public function onWrite(WriteRowsDTO $event): void
{
$this->allEvents($event);
}
public function onMariaDbGtid(MariaDbGtidLogDTO $event): void
{
$this->allEvents($event);
}
public function onFormatDescription(FormatDescriptionEventDTO $event): void
{
$this->allEvents($event);
}
public function onHeartbeat(HeartbeatDTO $event): void
{
$this->allEvents($event);
}
public function onRowsQuery(RowsQueryDTO $event): void
{
$this->allEvents($event);
}
protected function allEvents(EventDTO $event): void
{
}
}