. */ declare(strict_types=1); namespace FireflyIII\Providers; use FireflyIII\Repositories\LinkType\LinkTypeRepository; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use Illuminate\Foundation\Application; use Illuminate\Support\ServiceProvider; use Override; /** * Class AdminServiceProvider */ class AdminServiceProvider extends ServiceProvider { /** * Bootstrap the application services. */ public function boot(): void {} /** * Register the application services. */ #[Override] public function register(): void { $this->linkType(); } /** * Register link type repository */ private function linkType(): void { $this->app->bind( static function (Application $app): LinkTypeRepositoryInterface { /** @var LinkTypeRepository $repository */ $repository = app(LinkTypeRepository::class); // reference to auth is not understood by phpstan. if ($app->auth->check()) { // @phpstan-ignore-line $repository->setUser(auth()->user()); } return $repository; } ); } }