diff --git a/src/LAuth/Entities/Account.php b/src/LAuth/Entities/Account.php index bbb1191..b91d2f0 100644 --- a/src/LAuth/Entities/Account.php +++ b/src/LAuth/Entities/Account.php @@ -1,4 +1,5 @@ app->singleton(LAuth::class); // Hook into doctrine as early as possible - $this->app->booting(function (Application $application) { - /** @var DoctrineManager $doctrineManager */ - $doctrineManager = $application->make(DoctrineManager::class); - - $doctrineManager->addPaths([__DIR__ . '/Entities']); - $doctrineManager->extendAll(function ($conf, $conn, EventManager $eventManager) use ($application) { - $eventManager->addEventListener( - Events::loadClassMetadata, - $application->make(ProviderRegistry::class) + $this->app->booting( + function (Application $application) { + /** @var DoctrineManager $doctrineManager */ + $doctrineManager = $application->make(DoctrineManager::class); + + $doctrineManager->addPaths([__DIR__ . '/Entities']); + $doctrineManager->extendAll( + function ($conf, $conn, EventManager $eventManager) use ($application) { + $eventManager->addEventListener( + Events::loadClassMetadata, + $application->make(ProviderRegistry::class) + ); + } ); - }); - }); + } + ); $this->mergeConfigFrom( __DIR__ . '/../config/lauth.php', @@ -40,8 +45,11 @@ public function register(): void public function boot(): void { - $this->publishes([ - __DIR__ . '/../config/lauth.php' => config_path('lauth.php'), - ], 'config'); + $this->publishes( + [ + __DIR__ . '/../config/lauth.php' => config_path('lauth.php'), + ], + 'config' + ); } } diff --git a/src/LAuth/ProviderRegistry.php b/src/LAuth/ProviderRegistry.php index 75667f4..1401903 100644 --- a/src/LAuth/ProviderRegistry.php +++ b/src/LAuth/ProviderRegistry.php @@ -1,4 +1,5 @@ container = $container; + $this->container = $container; $this->doctrineManager = $doctrineManager; - $this->config = $config; + $this->config = $config; } public function register(string $name, string $providerClass): void @@ -39,9 +40,12 @@ public function register(string $name, string $providerClass): void public function getProvider($name): ProviderInterface { - return $this->container->make($this->providers[$name], [ - 'config' => $this->config->get('lauth.providers.' . $name, []) - ]); + return $this->container->make( + $this->providers[$name], + [ + 'config' => $this->config->get('lauth.providers.' . $name, []) + ] + ); } public function loadClassMetadata(LoadClassMetadataEventArgs $event): void @@ -60,6 +64,7 @@ protected function baseAccount(ClassMetadata $metadata): void } $userClass = $this->container->make(Repository::class)->get('lauth.user_class'); + $metadata->associationMappings['user']['targetEntity'] = $userClass; } } diff --git a/src/LAuth/ProviderUser.php b/src/LAuth/ProviderUser.php index fc905a4..8821e73 100644 --- a/src/LAuth/ProviderUser.php +++ b/src/LAuth/ProviderUser.php @@ -1,4 +1,5 @@