gdbots/pbjx-php

View on GitHub
src/EventSearch/EventIndexer.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
declare(strict_types=1);

namespace Gdbots\Pbjx\EventSearch;

use Gdbots\Pbj\Message;
use Gdbots\Pbjx\EventSubscriber;
use Gdbots\Pbjx\Pbjx;

final class EventIndexer implements EventSubscriber
{
    public static function getSubscribedEvents(): array
    {
        return [
            'gdbots:pbjx:mixin:indexed' => 'onIndexed',
        ];
    }

    public function onIndexed(Message $event, Pbjx $pbjx): void
    {
        if ($event->isReplay()) {
            return;
        }

        $context = ['causator' => $event];
        $pbjx->getEventSearch()->indexEvents([$event], $context);
    }
}