Skip to content

Commit

Permalink
doctrine image types are defined in neon
Browse files Browse the repository at this point in the history
  • Loading branch information
MartkCz committed Aug 12, 2022
1 parent 48413a5 commit c08aef9
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions src/Bridge/Nette/DI/ImageStorageExtension.php
Expand Up @@ -17,6 +17,7 @@
use Contributte\Imagist\Bridge\Nette\Tracy\ImagistBlueScreen;
use Contributte\Imagist\Database\DatabaseConverter;
use Contributte\Imagist\Database\DatabaseConverterInterface;
use Contributte\Imagist\Entity\PersistentImage;
use Contributte\Imagist\File\FileFactory;
use Contributte\Imagist\File\FileFactoryInterface;
use Contributte\Imagist\Filesystem\FilesystemInterface;
Expand Down Expand Up @@ -82,6 +83,11 @@ public function getConfigSchema(): Schema
'doctrine' => Expect::structure([
'removeEvent' => Expect::bool(false),
'promisedPersistEvent' => Expect::bool(false),
'types' => Expect::listOf(Expect::structure([
'name' => Expect::string()->required(),
'databaseName' => Expect::string()->required(),
'class' => Expect::string()->required(),
])->castTo('array')),
]),
'gumlet' => Expect::structure([
'bucket' => Expect::string(),
Expand Down Expand Up @@ -271,8 +277,18 @@ private function loadDoctrine(ContainerBuilder $builder): void
return;
}

$this->assertServiceDefinition($builder->getDefinition($serviceName))
->addSetup('?::register(?)', [ImageType::class, '@self']);
/** @var array{class: string, name: string, databaseName: string}[] $types */
$types = array_merge([
['class' => PersistentImage::class, 'name' => 'image', 'databaseName' => 'db_image'],
], $config->extensions->doctrine->types);

foreach ($types as $type) {
$this->assertServiceDefinition($builder->getDefinition($serviceName))
->addSetup(
'?::register(?, ?, ?, ?)',
[ImageType::class, '@self', $type['name'], $type['databaseName'], $type['class']]
);
}

$autoRegistration = (bool) $this->compiler->getExtensions(DbalExtension::class);
if ($config->extensions->doctrine->removeEvent) {
Expand Down

0 comments on commit c08aef9

Please sign in to comment.