Skip to content

Commit 5848345

Browse files
committed
implement RcsParams.fallback
1 parent 8784c85 commit 5848345

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

src/Resource/Rcs/RcsFallbackType.php

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Seven\Api\Resource\Rcs;
4+
5+
enum RcsFallbackType: string
6+
{
7+
case SMS = 'sms';
8+
case WebView = 'webview';
9+
}

src/Resource/Rcs/RcsParams.php

+11
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class RcsParams implements ParamsInterface
1515
protected string $text;
1616
protected string $to;
1717
protected ?int $ttl = null;
18+
protected ?RcsFallbackType $fallback = null;
1819

1920
public function __construct(string $text, string $to)
2021
{
@@ -108,6 +109,16 @@ public function toArray(): array
108109
{
109110
$arr = get_object_vars($this);
110111
if ($this->delay) $arr['delay'] = $this->delay->format('Y-m-d h:i');
112+
if ($this->fallback) $arr['fallback'] = $this->fallback->value;
111113
return $arr;
112114
}
115+
116+
public function getFallback(): ?RcsFallbackType {
117+
return $this->fallback;
118+
}
119+
120+
public function setFallback(?RcsFallbackType $fallback): self {
121+
$this->fallback = $fallback;
122+
return $this;
123+
}
113124
}

tests/RcsTest.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66
use DateTime;
77
use Seven\Api\Resource\Rcs\RcsEvent;
88
use Seven\Api\Resource\Rcs\RcsEventParams;
9+
use Seven\Api\Resource\Rcs\RcsFallbackType;
910
use Seven\Api\Resource\Rcs\RcsParams;
1011

1112
final class RcsTest extends BaseTest
1213
{
1314
public function testText(): void
1415
{
15-
$params = new RcsParams('HI2U! The UNIX time is ' . time() . '.', '491716992343');
16+
$params = (new RcsParams('HI2U! The UNIX time is ' . time() . '.', '491716992343'))
17+
->setDelay(new DateTime('12-12-2050'))
18+
->setFallback(RcsFallbackType::SMS)
19+
;
1620
$res = $this->resources->rcs->dispatch($params);
1721

1822
$this->assertCount(1, $res->getMessages());

0 commit comments

Comments
 (0)