Refactor JSON API to use container for creating endpoints

[MAILPOET-1637]
This commit is contained in:
Rostislav Wolny
2018-11-14 21:23:32 +01:00
parent a42787d10d
commit d49b2a72a9
7 changed files with 57 additions and 21 deletions

View File

@ -4,6 +4,7 @@ namespace MailPoet\DI;
use MailPoet\Dependencies\Symfony\Component\DependencyInjection\ContainerBuilder;
use MailPoet\Dependencies\Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use MailPoet\Dependencies\Symfony\Component\DependencyInjection\Reference;
class ContainerFactory {
@ -57,6 +58,25 @@ class ContainerFactory {
$container->autowire(\MailPoet\Subscribers\NewSubscriberNotificationMailer::class)->setPublic(true);
$container->autowire(\MailPoet\Subscribers\ConfirmationEmailMailer::class)->setPublic(true);
$container->autowire(\MailPoet\Subscribers\RequiredCustomFieldValidator::class)->setPublic(true);
// JSON API
$container->register(\MailPoet\API\JSON\API::class)
->addArgument(new Reference('service_container'))
->setAutowired(true)
->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\AutomatedLatestContent::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\CustomFields::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Forms::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\ImportExport::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Mailer::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\MP2Migrator::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Newsletters::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\NewsletterTemplates::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Segments::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\SendingQueue::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Services::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Settings::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Setup::class)->setPublic(true);
$container->autowire(\MailPoet\API\JSON\v1\Subscribers::class)->setPublic(true);
return $container;
}