<?php
/**
* @copyright Copyright (C) Ibexa AS. All rights reserved.
* @license For full copyright and license information view LICENSE file distributed with this source code.
*/
declare(strict_types=1);
namespace Ibexa\Bundle\ConnectorAi\EventSubscriber;
use Ibexa\Contracts\DoctrineSchema\Event\SchemaBuilderEvent;
use Ibexa\Contracts\DoctrineSchema\SchemaBuilderEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
final class BuildSchemaSubscriber implements EventSubscriberInterface
{
private string $schemaFilePath;
public function __construct(
string $schemaFilePath
) {
$this->schemaFilePath = $schemaFilePath;
}
public static function getSubscribedEvents(): array
{
return [
SchemaBuilderEvents::BUILD_SCHEMA => 'onBuildSchema',
];
}
public function onBuildSchema(SchemaBuilderEvent $event): void
{
$event->getSchemaBuilder()->importSchemaFromFile($this->schemaFilePath);
}
}