8000 [DependencyInjection] Use Notifier transport_factory services (without fqcn) by smnandre · Pull Request #53433 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

[DependencyInjection] Use Notifier transport_factory services (without fqcn) #53433

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2693,112 +2693,112 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $
$container->registerForAutoconfiguration(NotifierTransportFactoryInterface::class)
->addTag('texter.transport_factory');

$classToServices = [
NotifierBridge\AllMySms\AllMySmsTransportFactory::class => 'notifier.transport_factory.all-my-sms',
NotifierBridge\AmazonSns\AmazonSnsTransportFactory::class => 'notifier.transport_factory.amazon-sns',
NotifierBridge\Bandwidth\BandwidthTransportFactory::class => 'notifier.transport_factory.bandwidth',
NotifierBridge\Bluesky\BlueskyTransportFactory::class => 'notifier.transport_factory.bluesky',
NotifierBridge\Brevo\BrevoTransportFactory::class => 'notifier.transport_factory.brevo',
NotifierBridge\Chatwork\ChatworkTransportFactory::class => 'notifier.transport_factory.chatwork',
NotifierBridge\Clickatell\ClickatellTransportFactory::class => 'notifier.transport_factory.clickatell',
NotifierBridge\ClickSend\ClickSendTransportFactory::class => 'notifier.transport_factory.click-send',
NotifierBridge\ContactEveryone\ContactEveryoneTransportFactory::class => 'notifier.transport_factory.contact-everyone',
NotifierBridge\Discord\DiscordTransportFactory::class => 'notifier.transport_factory.discord',
NotifierBridge\Engagespot\EngagespotTransportFactory::class => 'notifier.transport_factory.engagespot',
NotifierBridge\Esendex\EsendexTransportFactory::class => 'notifier.transport_factory.esendex',
NotifierBridge\Expo\ExpoTransportFactory::class => 'notifier.transport_factory.expo',
NotifierBridge\FakeChat\FakeChatTransportFactory::class => 'notifier.transport_factory.fake-chat',
NotifierBridge\FakeSms\FakeSmsTransportFactory::class => 'notifier.transport_factory.fake-sms',
NotifierBridge\Firebase\FirebaseTransportFactory::class => 'notifier.transport_factory.firebase',
NotifierBridge\FortySixElks\FortySixElksTransportFactory::class => 'notifier.transport_factory.forty-six-elks',
NotifierBridge\FreeMobile\FreeMobileTransportFactory::class => 'notifier.transport_factory.free-mobile',
NotifierBridge\GatewayApi\GatewayApiTransportFactory::class => 'notifier.transport_factory.gateway-api',
NotifierBridge\Gitter\GitterTransportFactory::class => 'notifier.transport_factory.gitter',
NotifierBridge\GoIp\GoIpTransportFactory::class => 'notifier.transport_factory.go-ip',
NotifierBridge\GoogleChat\GoogleChatTransportFactory::class => 'notifier.transport_factory.google-chat',
NotifierBridge\Infobip\InfobipTransportFactory::class => 'notifier.transport_factory.infobip',
NotifierBridge\Iqsms\IqsmsTransportFactory::class => 'notifier.transport_factory.iqsms',
NotifierBridge\Isendpro\IsendproTransportFactory::class => 'notifier.transport_factory.isendpro',
NotifierBridge\KazInfoTeh\KazInfoTehTransportFactory::class => 'notifier.transport_factory.kaz-info-teh',
NotifierBridge\LightSms\LightSmsTransportFactory::class => 'notifier.transport_factory.light-sms',
NotifierBridge\LineNotify\LineNotifyTransportFactory::class => 'notifier.transport_factory.line-notify',
NotifierBridge\LinkedIn\LinkedInTransportFactory::class => 'notifier.transport_factory.linked-in',
NotifierBridge\Mailjet\MailjetTransportFactory::class => 'notifier.transport_factory.mailjet',
NotifierBridge\Mastodon\MastodonTransportFactory::class => 'notifier.transport_factory.mastodon',
NotifierBridge\Mattermost\MattermostTransportFactory::class => 'notifier.transport_factory.mattermost',
NotifierBridge\Mercure\MercureTransportFactory::class => 'notifier.transport_factory.mercure',
NotifierBridge\MessageBird\MessageBirdTransport::class => 'notifier.transport_factory.message-bird',
NotifierBridge\MessageMedia\MessageMediaTransportFactory::class => 'notifier.transport_factory.message-media',
NotifierBridge\MicrosoftTeams\MicrosoftTeamsTransportFactory::class => 'notifier.transport_factory.microsoft-teams',
NotifierBridge\Mobyt\MobytTransportFactory::class => 'notifier.transport_factory.mobyt',
NotifierBridge\Novu\NovuTransportFactory::class => 'notifier.transport_factory.novu',
NotifierBridge\Ntfy\NtfyTransportFactory::class => 'notifier.transport_factory.ntfy',
NotifierBridge\Octopush\OctopushTransportFactory::class => 'notifier.transport_factory.octopush',
NotifierBridge\OneSignal\OneSignalTransportFactory::class => 'notifier.transport_factory.one-signal',
NotifierBridge\OrangeSms\OrangeSmsTransportFactory::class => 'notifier.transport_factory.orange-sms',
NotifierBridge\OvhCloud\OvhCloudTransportFactory::class => 'notifier.transport_factory.ovh-cloud',
NotifierBridge\PagerDuty\PagerDutyTransportFactory::class => 'notifier.transport_factory.pager-duty',
NotifierBridge\Plivo\PlivoTransportFactory::class => 'notifier.transport_factory.plivo',
NotifierBridge\Pushover\PushoverTransportFactory::class => 'notifier.transport_factory.pushover',
NotifierBridge\Redlink\RedlinkTransportFactory::class => 'notifier.transport_factory.redlink',
NotifierBridge\RingCentral\RingCentralTransportFactory::class => 'notifier.transport_factory.ring-central',
NotifierBridge\RocketChat\RocketChatTransportFactory::class => 'notifier.transport_factory.rocket-chat',
NotifierBridge\Sendberry\SendberryTransportFactory::class => 'notifier.transport_factory.sendberry',
NotifierBridge\SimpleTextin\SimpleTextinTransportFactory::class => 'notifier.transport_factory.simple-textin',
NotifierBridge\Sevenio\SevenIoTransportFactory::class => 'notifier.transport_factory.sevenio',
NotifierBridge\Sinch\SinchTransportFactory::class => 'notifier.transport_factory.sinch',
NotifierBridge\Slack\SlackTransportFactory::class => 'notifier.transport_factory.slack',
NotifierBridge\Sms77\Sms77TransportFactory::class => 'notifier.transport_factory.sms77',
NotifierBridge\Smsapi\SmsapiTransportFactory::class => 'notifier.transport_factory.smsapi',
NotifierBridge\SmsBiuras\SmsBiurasTransportFactory::class => 'notifier.transport_factory.sms-biuras',
NotifierBridge\Smsbox\SmsboxTransportFactory::class => 'notifier.transport_factory.smsbox',
NotifierBridge\Smsc\SmscTransportFactory::class => 'notifier.transport_factory.smsc',
NotifierBridge\SmsFactor\SmsFactorTransportFactory::class => 'notifier.transport_factory.sms-factor',
NotifierBridge\Smsmode\SmsmodeTransportFactory::class => 'notifier.transport_factory.smsmode',
NotifierBridge\SmsSluzba\SmsSluzbaTransportFactory::class => 'notifier.transport_factory.sms-sluzba',
NotifierBridge\SpotHit\SpotHitTransportFactory::class => 'notifier.transport_factory.spot-hit',
NotifierBridge\Telegram\TelegramTransportFactory::class => 'notifier.transport_factory.telegram',
NotifierBridge\Telnyx\TelnyxTransportFactory::class => 'notifier.transport_factory.telnyx',
NotifierBridge\Termii\TermiiTransportFactory::class => 'notifier.transport_factory.termii',
NotifierBridge\TurboSms\TurboSmsTransport::class => 'notifier.transport_factory.turbo-sms',
NotifierBridge\Twilio\TwilioTransportFactory::class => 'notifier.transport_factory.twilio',
NotifierBridge\Twitter\TwitterTransportFactory::class => 'notifier.transport_factory.twitter',
NotifierBridge\Unifonic\UnifonicTransportFactory::class => 'notifier.transport_factory.unifonic',
NotifierBridge\Vonage\VonageTransportFactory::class => 'notifier.transport_factory.vonage',
NotifierBridge\Yunpian\YunpianTransportFactory::class => 'notifier.transport_factory.yunpian',
NotifierBridge\Zendesk\ZendeskTransportFactory::class => 'notifier.transport_factory.zendesk',
NotifierBridge\Zulip\ZulipTransportFactory::class => 'notifier.transport_factory.zulip',
$transportFactories = [
'notifier.transport_factory.all-my-sms',
'notifier.transport_factory.amazon-sns',
'notifier.transport_factory.bandwidth',
'notifier.transport_factory.bluesky',
'notifier.transport_factory.brevo',
'notifier.transport_factory.chatwork',
'notifier.transport_factory.clickatell',
'notifier.transport_factory.click-send',
'notifier.transport_factory.contact-everyone',
'notifier.transport_factory.discord',
'notifier.transport_factory.engagespot',
'notifier.transport_factory.esendex',
'notifier.transport_factory.expo',
'notifier.transport_factory.fake-chat',
'notifier.transport_factory.fake-sms',
'notifier.transport_factory.firebase',
'notifier.transport_factory.forty-six-elks',
'notifier.transport_factory.free-mobile',
'notifier.transport_factory.gateway-api',
'notifier.transport_factory.gitter',
'notifier.transport_factory.go-ip',
'notifier.transport_factory.google-chat',
'notifier.transport_factory.infobip',
'notifier.transport_factory.iqsms',
'notifier.transport_factory.isendpro',
'notifier.transport_factory.kaz-info-teh',
'notifier.transport_factory.light-sms',
'notifier.transport_factory.line-notify',
'notifier.transport_factory.linked-in',
'notifier.transport_factory.mailjet',
'notifier.transport_factory.mastodon',
'notifier.transport_factory.mattermost',
'notifier.transport_factory.mercure',
'notifier.transport_factory.message-bird',
'notifier.transport_factory.message-media',
'notifier.transport_factory.microsoft-teams',
'notifier.transport_factory.mobyt',
'notifier.transport_factory.novu',
'notifier.transport_factory.ntfy',
'notifier.transport_factory.octopush',
'notifier.transport_factory.one-signal',
'notifier.transport_factory.orange-sms',
'notifier.transport_factory.ovh-cloud',
'notifier.transport_factory.pager-duty',
'notifier.transport_factory.plivo',
'notifier.transport_factory.pushover',
'notifier.transport_factory.redlink',
'notifier.transport_factory.ring-central',
'notifier.transport_factory.rocket-chat',
'notifier.transport_factory.sendberry',
'notifier.transport_factory.simple-textin',
'notifier.transport_factory.sevenio',
'notifier.transport_factory.sinch',
'notifier.transport_factory.slack',
'notifier.transport_factory.sms77',
'notifier.transport_factory.smsapi',
'notifier.transport_factory.sms-biuras',
'notifier.transport_factory.smsbox',
'notifier.transport_factory.smsc',
'notifier.transport_factory.sms-factor',
'notifier.transport_factory.smsmode',
'notifier.transport_factory.sms-sluzba',
'notifier.transport_factory.spot-hit',
'notifier.transport_factory.telegram',
'notifier.transport_factory.telnyx',
'notifier.transport_factory.termii',
'notifier.transport_factory.turbo-sms',
'notifier.transport_factory.twilio',
'notifier.transport_factory.twitter',
'notifier.transport_factory.unifonic',
'notifier.transport_factory.vonage',
'notifier.transport_factory.yunpian',
'notifier.transport_factory.zendesk',
'notifier.transport_factory.zulip',
];

$parentPackages = ['symfony/framework-bundle', 'symfony/notifier'];

foreach ($classToServices as $class => $service) {
foreach ($transportFactories as $service) {
$package = substr($service, \strlen('notifier.transport_factory.'));

if (!ContainerBuilder::willBeAvailable(sprintf('symfony/%s-notifier', $package), $class, $parentPackages)) {
if (!ContainerBuilder::willBeAvailable(sprintf('symfony/%s-notifier', $package), $container->getDefinition($service)->getClass(), $parentPackages)) {
$container->removeDefinition($service);
}
}

if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', NotifierBridge\Mercure\MercureTransportFactory::class, $parentPackages) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages) && \in_array(MercureBundle::class, $container->getParameter('kernel.bundles'), true)) {
$container->getDefinition($classToServices[NotifierBridge\Mercure\MercureTransportFactory::class])
$container->getDefinition('notifier.transport_factory.mercure')
->replaceArgument(0, new Reference(HubRegistry::class))
->replaceArgument(1, new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE))
->addArgument(new Reference('http_client', ContainerBuilder::NULL_ON_INVALID_REFERENCE));
} elseif (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', NotifierBridge\Mercure\MercureTransportFactory::class, $parentPackages)) {
$container->removeDefinition($classToServices[NotifierBridge\Mercure\MercureTransportFactory::class]);
$container->removeDefinition('notifier.transport_factory.mercure');
}

if (ContainerBuilder::willBeAvailable('symfony/fake-chat-notifier', NotifierBridge\FakeChat\FakeChatTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'])) {
$container->getDefinition($classToServices[NotifierBridge\FakeChat\FakeChatTransportFactory::class])
$container->getDefinition('notifier.transport_factory.fake-chat')
->replaceArgument(0, new Reference('mailer'))
->replaceArgument(1, new Reference('logger'))
->addArgument(new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE))
->addArgument(new Reference('http_client', ContainerBuilder::NULL_ON_INVALID_REFERENCE));
}

if (ContainerBuilder::willBeAvailable('symfony/fake-sms-notifier', NotifierBridge\FakeSms\FakeSmsTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'])) {
$container->getDefinition($classToServices[NotifierBridge\FakeSms\FakeSmsTransportFactory::class])
$container->getDefinition('notifier.transport_factory.fake-sms')
->replaceArgument(0, new Reference('mailer'))
->replaceArgument(1, new Reference('logger'))
->addArgument(new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE))
Expand Down
0