1 | <?php declare (strict_types = 1); |
||
19 | final class RunProjectionCommand extends Command |
||
20 | { |
||
21 | /** |
||
22 | * The name and signature of the console command. |
||
23 | * |
||
24 | * @var string |
||
25 | */ |
||
26 | protected $signature = 'smoothphp:project {projections}'; |
||
27 | |||
28 | /** |
||
29 | * The console command description. |
||
30 | * |
||
31 | * @var string |
||
32 | */ |
||
33 | protected $description = 'Run Projections'; |
||
34 | |||
35 | /** @var Repository */ |
||
36 | private $config; |
||
37 | |||
38 | /** @var EventDispatcher */ |
||
39 | private $eventDispatcher; |
||
40 | |||
41 | /** @var EventStore */ |
||
42 | private $eventStore; |
||
43 | /** @var Application */ |
||
44 | private $application; |
||
|
|||
45 | |||
46 | /** |
||
47 | * RunProjectionCommand constructor. |
||
48 | * @param Repository $config |
||
49 | * @param EventDispatcher $eventDispatcher |
||
50 | * @param EventStore $eventStore |
||
51 | * @param Application $application |
||
52 | */ |
||
53 | public function __construct( |
||
65 | |||
66 | /** |
||
67 | * Execute the console command. |
||
68 | * |
||
69 | * @return mixed |
||
70 | */ |
||
71 | public function handle() |
||
123 | |||
124 | /** |
||
125 | * @param ProjectionServiceProvider $projectionServiceProvider |
||
126 | */ |
||
127 | public function downMigration(ProjectionServiceProvider $projectionServiceProvider) |
||
131 | |||
132 | /** |
||
133 | * @param ProjectionServiceProvider $projectionServiceProvider |
||
134 | */ |
||
135 | public function upMigration(ProjectionServiceProvider $projectionServiceProvider) |
||
139 | |||
140 | /** |
||
141 | * @param Collection|Subscriber[] |
||
142 | * @param string[] $events |
||
143 | */ |
||
144 | protected function replayEvents($projections, $events) |
||
164 | |||
165 | /** |
||
166 | * @param EventDispatcher $eventDispatcher |
||
167 | * @param $eventRow |
||
168 | */ |
||
169 | protected function dispatchEvent(EventDispatcher $eventDispatcher, DomainMessage $eventRow) |
||
179 | |||
180 | /** |
||
181 | * @param Collection $projections |
||
182 | * @return EventDispatcher |
||
183 | */ |
||
184 | protected function buildAndRegisterDispatcher($projections) |
||
197 | } |
||
198 |