'onInitHubspotContactService', 'HubspotDealService' => 'onInitHubspotDealService', 'HubspotClientService' => 'onInitHubspotClientService', 'HubspotHttpClientService' => 'onInitHubspotHttpClientService', 'HubspotConfigurationService' => 'onInitHubspotConfigurationService', 'HubspotPullContactsTask' => 'onInitHubspotPullContactsTask', 'HubspotContactGateway' => 'onInitHubspotContactGateway', 'HubspotDealGateway' => 'onInitHubspotDealGateway', 'HubspotContactPropertyService' => 'onInitHubspotContactPropertyService', 'HubspotContactPropertyGateway' => 'onInitHubspotContactPropertyGateway', 'HubspotPullDealsTask' => 'onInitHubspotPullDealsTask', 'HubspotDealPropertyService' => 'onInitHubspotDealPropertyService', 'HubspotProcessSchedulerTask' => 'onInitHubspotProcessSchedulerTask', 'HubspotRequestQueuesGateway' => 'onInitRequestQueuesGateway', 'HubspotRequestQueuesService' => 'onInitRequestQueuesService', 'HubspotEventService' => 'onInitHubspotEventService', HubspotEngagementService::class => 'onInitHubspotEngagementService', HubspotPullEngagementsTask::class => 'onInitHubspotPullEngagementsTask', ]; } /** * @param ContainerInterface $container * * @return HubspotContactService */ public static function onInitHubspotContactService(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotContactService( $container->get('HubspotClientService'), new HubspotMetaService($app->erp->GetTMP()), new ContactValidator(), $container->get('HubspotConfigurationService') ); } /** * @param ContainerInterface $container * * @return HubspotClientService */ public static function onInitHubspotClientService(ContainerInterface $container) { return new HubspotClientService( $container->get('HubspotHttpClientService'), $container->get('HubspotConfigurationService') ); } /** * @return HubspotHttpClientService */ public static function onInitHubspotHttpClientService() { return new HubspotHttpClientService(30); } /** * @param ContainerInterface $container * * @return HubspotConfigurationService */ public static function onInitHubspotConfigurationService(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotConfigurationService( $app->erp, new HubspotMetaService($app->erp->GetTMP()), $container->get('HubspotContactPropertyGateway'), $container->get('HubspotDealGateway'), $container->get('CountryGateway'), $container->get(StateGateway::class) ); } /** * @param ContainerInterface $container * * @return HubspotContactGateway */ public static function onInitHubspotContactGateway(ContainerInterface $container) { return new HubspotContactGateway($container->get('Database'), $container->get('HubspotConfigurationService')); } /** * @param ContainerInterface $container * * @return HubspotPullContactsTask */ public static function onInitHubspotPullContactsTask(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotPullContactsTask( $container->get('HubspotContactService'), $container->get('Database'), new HubspotMetaService($app->erp->GetTMP()), $container->get('HubspotContactGateway'), $container->get('HubspotConfigurationService'), $container->get('HubspotEventService'), $container->get('CountryGateway'), new TaskMutexService($container->get('Database')) ); } /** * @param ContainerInterface $container * * @return HubspotDealGateway */ public static function onInitHubspotDealGateway(ContainerInterface $container) { return new HubspotDealGateway($container->get('Database')); } /** * @param ContainerInterface $container * * @return HubspotDealService */ public static function onInitHubspotDealService(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotDealService( $container->get('HubspotClientService'), new HubspotMetaService($app->erp->GetTMP()), new DealValidator() ); } /** * @param ContainerInterface $container * * @return HubspotContactPropertyService */ public static function onInitHubspotContactPropertyService(ContainerInterface $container) { return new HubspotContactPropertyService( $container->get('HubspotClientService'), $container->get('HubspotContactPropertyGateway'), $container->get('Database') ); } /** * @param ContainerInterface $container * * @return HubspotContactPropertyGateway */ public static function onInitHubspotContactPropertyGateway(ContainerInterface $container) { return new HubspotContactPropertyGateway($container->get('Database')); } /** * @param ContainerInterface $container * * @return HubspotPullDealsTask */ public static function onInitHubspotPullDealsTask(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotPullDealsTask( $container->get('HubspotDealService'), $container->get('Database'), new HubspotMetaService($app->erp->GetTMP()), $container->get('HubspotDealGateway'), $container->get('HubspotConfigurationService'), $container->get('HubspotEventService'), $container->get('HubspotContactGateway'), new TaskMutexService($container->get('Database')) ); } /** * @param ContainerInterface $container * * @return HubspotDealPropertyService */ public function onInitHubspotDealPropertyService(ContainerInterface $container) { return new HubspotDealPropertyService( $container->get('HubspotClientService'), $container->get('Database'), $container->get('HubspotContactPropertyGateway') ); } /** * @param ContainerInterface $container * * @return HubspotProcessSchedulerTask */ public static function onInitHubspotProcessSchedulerTask(ContainerInterface $container) { return new HubspotProcessSchedulerTask( $container->get('HubspotRequestQueuesService'), new TaskMutexService($container->get('Database')) ); } /** * @param ContainerInterface $container * * @return HubspotRequestQueuesGateway */ public static function onInitRequestQueuesGateway(ContainerInterface $container) { return new HubspotRequestQueuesGateway($container->get('Database')); } /** * @param ContainerInterface $container * * @return HubspotRequestQueuesService */ public static function onInitRequestQueuesService(ContainerInterface $container) { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotRequestQueuesService( $container->get('HubspotRequestQueuesGateway'), $container->get('Database'), $app, $container->get('HubspotEventService') ); } /** * @param ContainerInterface $container * * @return HubspotEventService */ public static function onInitHubspotEventService(ContainerInterface $container): HubspotEventService { return new HubspotEventService($container->get('Database')); } /** * @param ContainerInterface $container * * @return HubspotEngagementService */ public static function onInitHubspotEngagementService(ContainerInterface $container): HubspotEngagementService { return new HubspotEngagementService($container->get('HubspotClientService')); } /** * @param ContainerInterface $container * * @return HubspotPullEngagementsTask */ public static function onInitHubspotPullEngagementsTask(ContainerInterface $container): HubspotPullEngagementsTask { /** @var ApplicationCore $app */ $app = $container->get('LegacyApplication'); return new HubspotPullEngagementsTask( $container->get('Database'), $container->get(HubspotEngagementService::class), new HubspotMetaService($app->erp->GetTMP()), $container->get('HubspotConfigurationService'), $container->get('HubspotEventService'), $container->get('HubspotContactGateway'), new TaskMutexService($container->get('Database')) ); } }