Skip to content

Commit f2e2be8

Browse files
committed
[Notifier] Add from in SmsMessage and support it in bridge transports
1 parent 1f514f9 commit f2e2be8

File tree

72 files changed

+382
-40
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+382
-40
lines changed

src/Symfony/Component/Notifier/Bridge/AllMySms/AllMySmsTransport.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,13 @@ protected function doSend(MessageInterface $message): SentMessage
6161
throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message);
6262
}
6363

64+
$from = $message->getFrom() ?? $this->from;
65+
6466
$endpoint = sprintf('https://%s/sms/send/', $this->getEndpoint());
6567
$response = $this->client->request('POST', $endpoint, [
6668
'auth_basic' => $this->login.':'.$this->apiKey,
6769
'json' => [
68-
'from' => $this->from,
70+
'from' => $from,
6971
'to' => $message->getPhone(),
7072
'text' => $message->getSubject(),
7173
],

src/Symfony/Component/Notifier/Bridge/AllMySms/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
6.1
5+
---
6+
7+
* Use `SmsMessage->from` when is defined
8+
49
5.3
510
---
611

src/Symfony/Component/Notifier/Bridge/AmazonSns/AmazonSnsTransport.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\Notifier\Bridge\AmazonSns;
1313

1414
use AsyncAws\Sns\SnsClient;
15+
use Symfony\Component\Notifier\Exception\InvalidArgumentException;
1516
use Symfony\Component\Notifier\Exception\TransportException;
1617
use Symfony\Component\Notifier\Exception\UnsupportedMessageTypeException;
1718
use Symfony\Component\Notifier\Message\ChatMessage;
@@ -56,6 +57,11 @@ protected function doSend(MessageInterface $message): SentMessage
5657
if ($message instanceof ChatMessage && $message->getOptions() instanceof AmazonSnsOptions) {
5758
$options = $message->getOptions()->toArray();
5859
}
60+
61+
if ($message instanceof SmsMessage && null !== $message->getFrom()) {
62+
throw new InvalidArgumentException(sprintf('The "%s" transport does not support "from" in "%s".', __CLASS__, SmsMessage::class));
63+
}
64+
5965
$options['Message'] = $message->getSubject();
6066
$options[($message instanceof ChatMessage) ? 'TopicArn' : 'PhoneNumber'] = $message->getRecipientId();
6167

src/Symfony/Component/Notifier/Bridge/AmazonSns/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
6.1
5+
---
6+
7+
* Throw exception when `SmsMessage->from` is defined
8+
49
5.4
510
---
611

src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use AsyncAws\Sns\SnsClient;
1616
use Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsOptions;
1717
use Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsTransport;
18+
use Symfony\Component\Notifier\Exception\InvalidArgumentException;
1819
use Symfony\Component\Notifier\Message\ChatMessage;
1920
use Symfony\Component\Notifier\Message\MessageInterface;
2021
use Symfony\Component\Notifier\Message\MessageOptionsInterface;
@@ -68,6 +69,16 @@ public function testSmsMessageOptions()
6869
$transport->send(new SmsMessage('0600000000', 'test'));
6970
}
7071

72+
public function testSmsMessageWithFrom()
73+
{
74+
$transport = $this->createTransport();
75+
76+
$this->expectException(InvalidArgumentException::class);
77+
$this->expectExceptionMessage('The "Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsTransport" transport does not support "from" in "Symfony\Component\Notifier\Message\SmsMessage".');
78+
79+
$transport->send(new SmsMessage('0600000000', 'test', 'foo'));
80+
}
81+
7182
public function testChatMessageOptions()
7283
{
7384
$response = $this->createMock(PublishResponse::class);

src/Symfony/Component/Notifier/Bridge/Clickatell/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
6.1
5+
---
6+
7+
* Use `SmsMessage->from` when is defined
8+
49
5.3
510
---
611

src/Symfony/Component/Notifier/Bridge/Clickatell/ClickatellTransport.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ protected function doSend(MessageInterface $message): SentMessage
6161

6262
$endpoint = sprintf('https://%s/rest/message', $this->getEndpoint());
6363

64+
$from = $message->getFrom() ?? $this->from ?? '';
65+
6466
$response = $this->client->request('POST', $endpoint, [
6567
'headers' => [
6668
'Accept' => 'application/json',
@@ -69,7 +71,7 @@ protected function doSend(MessageInterface $message): SentMessage
6971
'X-Version' => 1,
7072
],
7173
'json' => [
72-
'from' => $this->from ?? '',
74+
'from' => $from,
7375
'to' => [$message->getPhone()],
7476
'text' => $message->getSubject(),
7577
],

src/Symfony/Component/Notifier/Bridge/Engagespot/EngagespotTransportFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Symfony\Component\Notifier\Exception\UnsupportedSchemeException;
1515
use Symfony\Component\Notifier\Transport\AbstractTransportFactory;
1616
use Symfony\Component\Notifier\Transport\Dsn;
17-
use Symfony\Component\Notifier\Transport\TransportInterface;
1817

1918
/**
2019
* @author Daniel GORGAN <https://github.com/danut007ro>

src/Symfony/Component/Notifier/Bridge/Esendex/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
6.1
5+
---
6+
7+
* Use `SmsMessage->from` when is defined
8+
49
5.4
510
---
611

src/Symfony/Component/Notifier/Bridge/Esendex/EsendexTransport.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ protected function doSend(MessageInterface $message): SentMessage
6363
'body' => $message->getSubject(),
6464
];
6565

66-
if (null !== $this->from) {
66+
if (null !== $message->getFrom()) {
67+
$messageData['from'] = $message->getFrom();
68+
} elseif (null !== $this->from) {
6769
$messageData['from'] = $this->from;
6870
}
6971

0 commit comments

Comments
 (0)