Skip to content

Commit cb43be7

Browse files
committed
fix new event sourcing version
1 parent f0bf644 commit cb43be7

7 files changed

Lines changed: 34 additions & 19 deletions

File tree

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
],
2323
"require": {
2424
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
25-
"patchlevel/event-sourcing-bundle": "^3.0.0-rc6",
25+
"patchlevel/event-sourcing-bundle": "^3.0.0-rc12",
2626
"symfony/asset": "^7.0",
2727
"symfony/asset-mapper": "^7.0",
2828
"symfony/config": "^5.4.31|^6.4.0|^7.0.0",

src/Controller/EventController.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class EventController
2121
public function __construct(
2222
private readonly Environment $twig,
2323
private readonly EventRegistry $eventRegistry,
24-
private readonly ListenerProvider $listenerProvider,
24+
private readonly ListenerProvider|null $listenerProvider,
2525
private readonly iterable $subscribers,
2626
private readonly SubscriberMetadataFactory $subscriberMetadataFactory,
2727
)
@@ -46,8 +46,12 @@ public function indexAction(): Response
4646
]));
4747
}
4848

49-
private function listenerMethods(string $eventClass): array
49+
private function listenerMethods(string $eventClass): array|null
5050
{
51+
if ($this->listenerProvider === null) {
52+
return null;
53+
}
54+
5155
return array_map(
5256
static fn(ListenerDescriptor $listener) => $listener->name(),
5357
$this->listenerProvider->listenersForEvent($eventClass),
@@ -58,6 +62,8 @@ private function subscribersMethods(string $eventClass): array
5862
{
5963
$result = [];
6064

65+
dump($this->subscribers);
66+
6167
foreach ($this->subscribers as $subscriber) {
6268
$metadata = $this->subscriberMetadataFactory->metadata($subscriber::class);
6369

src/Controller/InspectionController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
use Patchlevel\EventSourcing\Metadata\AggregateRoot\AggregateRootMetadataFactory;
1111
use Patchlevel\EventSourcing\Metadata\AggregateRoot\AggregateRootRegistry;
1212
use Patchlevel\EventSourcing\Snapshot\SnapshotStore;
13-
use Patchlevel\EventSourcing\Store\Criteria;
13+
use Patchlevel\EventSourcing\Store\Criteria\AggregateIdCriterion;
14+
use Patchlevel\EventSourcing\Store\Criteria\AggregateNameCriterion;
15+
use Patchlevel\EventSourcing\Store\Criteria\Criteria;
1416
use Patchlevel\EventSourcing\Store\Store;
1517
use Patchlevel\EventSourcing\Store\Stream;
1618
use Patchlevel\Hydrator\Hydrator;
@@ -82,8 +84,8 @@ public function showAction(Request $request, string $aggregateName, string $aggr
8284
$aggregate = $this->aggregate($aggregateName, $aggregateId, $until);
8385

8486
$criteria = new Criteria(
85-
aggregateName: $aggregateName,
86-
aggregateId: $aggregateId,
87+
new AggregateNameCriterion($aggregateName),
88+
new AggregateIdCriterion($aggregateId),
8789
);
8890

8991
$messages = $this->store->load(
@@ -138,8 +140,8 @@ public function showAction(Request $request, string $aggregateName, string $aggr
138140
private function aggregate(string $aggregateName, string $aggregateId, int|null $until = null): AggregateRoot
139141
{
140142
$criteria = new Criteria(
141-
aggregateName: $aggregateName,
142-
aggregateId: $aggregateId,
143+
new AggregateNameCriterion($aggregateName),
144+
new AggregateIdCriterion($aggregateId),
143145
);
144146

145147
$stream = null;

src/Controller/StoreController.php

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
namespace Patchlevel\EventSourcingAdminBundle\Controller;
66

77
use Patchlevel\EventSourcing\Metadata\AggregateRoot\AggregateRootRegistry;
8-
use Patchlevel\EventSourcing\Store\Criteria;
8+
use Patchlevel\EventSourcing\Store\Criteria\Criteria;
9+
use Patchlevel\EventSourcing\Store\Criteria\CriteriaBuilder;
910
use Patchlevel\EventSourcing\Store\Store;
1011
use Symfony\Component\HttpFoundation\Request;
1112
use Symfony\Component\HttpFoundation\Response;
@@ -49,12 +50,16 @@ public function showAction(Request $request): Response
4950

5051
private function criteria(Request $request): Criteria
5152
{
52-
$aggregateName = $request->query->get('aggregate');
53-
$aggregateId = $request->query->get('aggregateId');
53+
$criteriaBuilder = new CriteriaBuilder();
5454

55-
return new Criteria(
56-
aggregateName: $aggregateName,
57-
aggregateId: $aggregateId,
58-
);
55+
if ($request->query->get('aggregate')) {
56+
$criteriaBuilder->aggregateName($request->query->get('aggregate'));
57+
}
58+
59+
if ($request->query->get('aggregateId')) {
60+
$criteriaBuilder->aggregateId($request->query->get('aggregateId'));
61+
}
62+
63+
return $criteriaBuilder->build();
5964
}
6065
}

src/Controller/SubscriptionController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public function setupAction(string $id): Response
112112
{
113113
$criteria = new SubscriptionEngineCriteria([$id]);
114114

115-
$this->engine->setup($criteria);
115+
$this->engine->setup($criteria, skipBooting: true);
116116

117117
return new RedirectResponse(
118118
$this->router->generate('patchlevel_event_sourcing_admin_subscription_show'),

src/DependencyInjection/PatchlevelEventSourcingAdminExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ public function load(array $configs, ContainerBuilder $container): void
9595
->setArguments([
9696
new Reference('twig'),
9797
new Reference(EventRegistry::class),
98-
new Reference(ListenerProvider::class),
99-
new TaggedIteratorArgument('event_sourcing.projector'),
98+
new Reference(ListenerProvider::class, ContainerInterface::NULL_ON_INVALID_REFERENCE),
99+
new TaggedIteratorArgument('event_sourcing.subscriber'),
100100
new Reference(SubscriberMetadataFactory::class),
101101
new Reference(TraceProjector::class, ContainerInterface::NULL_ON_INVALID_REFERENCE),
102102
])

templates/event/index.html.twig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
</dl>
6565

6666
<div class="px-4 py-6 bg-gray-50 text-gray-500 font-semibold">
67-
Projectors ({{ event.subscribers|length }})
67+
Subscribers ({{ event.subscribers|length }})
6868
</div>
6969

7070
<ul>
@@ -75,6 +75,7 @@
7575
{% endfor %}
7676
</ul>
7777

78+
{% if event.listeners %}
7879
<div class="px-4 py-6 bg-gray-50 text-gray-500 font-semibold">
7980
Listeners ({{ event.listeners|length }})
8081
</div>
@@ -86,6 +87,7 @@
8687
<li class="px-4 py-6">no listeners</li>
8788
{% endfor %}
8889
</ul>
90+
{% endif %}
8991

9092
{% endif %}
9193
{% endfor %}

0 commit comments

Comments
 (0)