Skip to content

Commit e37ecbc

Browse files
prymas007norkunas
authored andcommitted
#45: added support for web buttons (#46)
* #45: added support for web buttons * #45: fixed code style * #45: more code style fixes * #45: more code style fixes
1 parent a33af91 commit e37ecbc

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/Notifications.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,21 @@ protected function resolve(array $data)
248248
->setAllowedTypes('adm_large_icon', 'string')
249249
->setDefined('adm_big_picture')
250250
->setAllowedTypes('adm_big_picture', 'string')
251+
->setDefined('web_buttons')
252+
->setAllowedTypes('web_buttons', 'array')
253+
->setAllowedValues('web_buttons', function ($buttons) {
254+
$required_keys = ['id', 'text', 'icon', 'url'];
255+
foreach ($buttons as $button) {
256+
if (!is_array($button)) {
257+
return false;
258+
}
259+
if (count(array_intersect_key(array_flip($required_keys), $button)) != count($required_keys)) {
260+
return false;
261+
}
262+
}
263+
264+
return true;
265+
})
251266
->setDefined('chrome_icon')
252267
->setAllowedTypes('chrome_icon', 'string')
253268
->setDefined('chrome_big_picture')

src/OneSignal.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
use OneSignal\Exception\OneSignalException;
99

1010
/**
11-
* @property-read Apps $apps Applications API service.
12-
* @property-read Devices $devices Devices API service.
13-
* @property-read Notifications $notifications Notifications API service.
11+
* @property-read Apps $apps Applications API service
12+
* @property-read Devices $devices Devices API service
13+
* @property-read Notifications $notifications Notifications API service
1414
*/
1515
class OneSignal
1616
{

0 commit comments

Comments
 (0)