set(HelpdeskAuthorizationPolicy::class, static fn (AppContainer $c): HelpdeskAuthorizationPolicy => new HelpdeskAuthorizationPolicy( $c->get(PermissionService::class) )); $container->set(HelpdeskSettingsGateway::class, static fn (AppContainer $c): HelpdeskSettingsGateway => new HelpdeskSettingsGateway( $c->get(SettingsMetadataGateway::class), $c->get(SettingServicesFactory::class)->createSettingsCryptoGateway() )); $container->set(BcODataGateway::class, static fn (AppContainer $c): BcODataGateway => new BcODataGateway( $c->get(HelpdeskSettingsGateway::class), $c->get(HelpdeskOAuthTokenService::class), $c->get(SessionStoreInterface::class) )); $container->set(HelpdeskTokenRepository::class, static fn (AppContainer $c): HelpdeskTokenRepository => new HelpdeskTokenRepository( $c->get(SettingServicesFactory::class)->createSettingsCryptoGateway() )); $container->set(HelpdeskOAuthTokenService::class, static fn (AppContainer $c): HelpdeskOAuthTokenService => new HelpdeskOAuthTokenService( $c->get(HelpdeskSettingsGateway::class), $c->get(HelpdeskTokenRepository::class) )); $container->set(DebitorSearchService::class, static fn (AppContainer $c): DebitorSearchService => new DebitorSearchService( $c->get(BcODataGateway::class), $c->get(HelpdeskSettingsGateway::class) )); $container->set(DebitorDetailService::class, static fn (AppContainer $c): DebitorDetailService => new DebitorDetailService( $c->get(BcODataGateway::class), $c->get(HelpdeskSettingsGateway::class) )); } }