-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
/
notifier_transports.php
136 lines (125 loc) · 7.22 KB
/
notifier_transports.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Symfony\Component\Notifier\Bridge;
use Symfony\Component\Notifier\Transport\AbstractTransportFactory;
use Symfony\Component\Notifier\Transport\NullTransportFactory;
return static function (ContainerConfigurator $container) {
$container->services()
->set('notifier.transport_factory.abstract', AbstractTransportFactory::class)
->abstract()
->args([
service('event_dispatcher'),
service('http_client')->ignoreOnInvalid(),
]);
$chatterFactories = [
'bluesky' => Bridge\Bluesky\BlueskyTransportFactory::class,
'brevo' => Bridge\Brevo\BrevoTransportFactory::class,
'chatwork' => Bridge\Chatwork\ChatworkTransportFactory::class,
'discord' => Bridge\Discord\DiscordTransportFactory::class,
'fake-chat' => Bridge\FakeChat\FakeChatTransportFactory::class,
'firebase' => Bridge\Firebase\FirebaseTransportFactory::class,
'gitter' => Bridge\Gitter\GitterTransportFactory::class,
'google-chat' => Bridge\GoogleChat\GoogleChatTransportFactory::class,
'line-notify' => Bridge\LineNotify\LineNotifyTransportFactory::class,
'linked-in' => Bridge\LinkedIn\LinkedInTransportFactory::class,
'mastodon' => Bridge\Mastodon\MastodonTransportFactory::class,
'mattermost' => Bridge\Mattermost\MattermostTransportFactory::class,
'mercure' => Bridge\Mercure\MercureTransportFactory::class,
'microsoft-teams' => Bridge\MicrosoftTeams\MicrosoftTeamsTransportFactory::class,
'pager-duty' => Bridge\PagerDuty\PagerDutyTransportFactory::class,
'rocket-chat' => Bridge\RocketChat\RocketChatTransportFactory::class,
'slack' => Bridge\Slack\SlackTransportFactory::class,
'telegram' => Bridge\Telegram\TelegramTransportFactory::class,
'twitter' => Bridge\Twitter\TwitterTransportFactory::class,
'zendesk' => Bridge\Zendesk\ZendeskTransportFactory::class,
'zulip' => Bridge\Zulip\ZulipTransportFactory::class,
];
foreach ($chatterFactories as $name => $class) {
$container->services()
->set('notifier.transport_factory.'.$name, $class)
->parent('notifier.transport_factory.abstract')
->tag('chatter.transport_factory');
}
$texterFactories = [
'all-my-sms' => Bridge\AllMySms\AllMySmsTransportFactory::class,
'bandwidth' => Bridge\Bandwidth\BandwidthTransportFactory::class,
'click-send' => Bridge\ClickSend\ClickSendTransportFactory::class,
'clickatell' => Bridge\Clickatell\ClickatellTransportFactory::class,
'contact-everyone' => Bridge\ContactEveryone\ContactEveryoneTransportFactory::class,
'engagespot' => Bridge\Engagespot\EngagespotTransportFactory::class,
'esendex' => Bridge\Esendex\EsendexTransportFactory::class,
'expo' => Bridge\Expo\ExpoTransportFactory::class,
'fake-sms' => Bridge\FakeSms\FakeSmsTransportFactory::class,
'forty-six-elks' => Bridge\FortySixElks\FortySixElksTransportFactory::class,
'free-mobile' => Bridge\FreeMobile\FreeMobileTransportFactory::class,
'gateway-api' => Bridge\GatewayApi\GatewayApiTransportFactory::class,
'go-ip' => Bridge\GoIp\GoIpTransportFactory::class,
'infobip' => Bridge\Infobip\InfobipTransportFactory::class,
'iqsms' => Bridge\Iqsms\IqsmsTransportFactory::class,
'isendpro' => Bridge\Isendpro\IsendproTransportFactory::class,
'kaz-info-teh' => Bridge\KazInfoTeh\KazInfoTehTransportFactory::class,
'light-sms' => Bridge\LightSms\LightSmsTransportFactory::class,
'lox24' => Bridge\Lox24\Lox24TransportFactory::class,
'mailjet' => Bridge\Mailjet\MailjetTransportFactory::class,
'message-bird' => Bridge\MessageBird\MessageBirdTransportFactory::class,
'message-media' => Bridge\MessageMedia\MessageMediaTransportFactory::class,
'mobyt' => Bridge\Mobyt\MobytTransportFactory::class,
'novu' => Bridge\Novu\NovuTransportFactory::class,
'ntfy' => Bridge\Ntfy\NtfyTransportFactory::class,
'octopush' => Bridge\Octopush\OctopushTransportFactory::class,
'one-signal' => Bridge\OneSignal\OneSignalTransportFactory::class,
'orange-sms' => Bridge\OrangeSms\OrangeSmsTransportFactory::class,
'ovh-cloud' => Bridge\OvhCloud\OvhCloudTransportFactory::class,
'plivo' => Bridge\Plivo\PlivoTransportFactory::class,
'primotexto' => Bridge\Primotexto\PrimotextoTransportFactory::class,
'pushover' => Bridge\Pushover\PushoverTransportFactory::class,
'pushy' => Bridge\Pushy\PushyTransportFactory::class,
'redlink' => Bridge\Redlink\RedlinkTransportFactory::class,
'ring-central' => Bridge\RingCentral\RingCentralTransportFactory::class,
'sendberry' => Bridge\Sendberry\SendberryTransportFactory::class,
'sevenio' => Bridge\Sevenio\SevenIoTransportFactory::class,
'simple-textin' => Bridge\SimpleTextin\SimpleTextinTransportFactory::class,
'sinch' => Bridge\Sinch\SinchTransportFactory::class,
'sms-biuras' => Bridge\SmsBiuras\SmsBiurasTransportFactory::class,
'sms-factor' => Bridge\SmsFactor\SmsFactorTransportFactory::class,
'sms-sluzba' => Bridge\SmsSluzba\SmsSluzbaTransportFactory::class,
'sms77' => Bridge\Sms77\Sms77TransportFactory::class,
'smsapi' => Bridge\Smsapi\SmsapiTransportFactory::class,
'smsbox' => Bridge\Smsbox\SmsboxTransportFactory::class,
'smsc' => Bridge\Smsc\SmscTransportFactory::class,
'smsense' => Bridge\Smsense\SmsenseTransportFactory::class,
'smsmode' => Bridge\Smsmode\SmsmodeTransportFactory::class,
'spot-hit' => Bridge\SpotHit\SpotHitTransportFactory::class,
'telnyx' => Bridge\Telnyx\TelnyxTransportFactory::class,
'termii' => Bridge\Termii\TermiiTransportFactory::class,
'turbo-sms' => Bridge\TurboSms\TurboSmsTransportFactory::class,
'twilio' => Bridge\Twilio\TwilioTransportFactory::class,
'unifonic' => Bridge\Unifonic\UnifonicTransportFactory::class,
'vonage' => Bridge\Vonage\VonageTransportFactory::class,
'yunpian' => Bridge\Yunpian\YunpianTransportFactory::class,
];
foreach ($texterFactories as $name => $class) {
$container->services()
->set('notifier.transport_factory.'.$name, $class)
->parent('notifier.transport_factory.abstract')
->tag('texter.transport_factory');
}
$container->services()
->set('notifier.transport_factory.amazon-sns', Bridge\AmazonSns\AmazonSnsTransportFactory::class)
->parent('notifier.transport_factory.abstract')
->tag('texter.transport_factory')
->tag('chatter.transport_factory')
->set('notifier.transport_factory.null', NullTransportFactory::class)
->parent('notifier.transport_factory.abstract')
->tag('chatter.transport_factory')
->tag('texter.transport_factory')
;
};