GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( 66d34b...d44ae8 )
by
unknown
02:32
created

OneSignalMessage::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace NotificationChannels\OneSignal;
4
5
use Illuminate\Support\Arr;
6
7
class OneSignalMessage
8
{
9
    /** @var string */
10
    protected $body;
11
12
    /** @var string */
13
    protected $subject;
14
15
    /** @var string */
16
    protected $url;
17
18
    /** @var string */
19
    protected $icon;
20
21
    /** @var array */
22
    protected $data = [];
23
24
    /** @var array */
25
    protected $buttons = [];
26
27
    /** @var array */
28
    protected $webButtons = [];
29
30
    /** @var array */
31
    protected $extraParameters = [];
32
33
    /**
34
     * @param string $body
35
     *
36
     * @return static
37
     */
38 1
    public static function create($body = '')
39
    {
40 1
        return new static($body);
41
    }
42
43
    /**
44
     * @param string $body
45
     */
46 12
    public function __construct($body = '')
47
    {
48 12
        $this->body = $body;
49 12
    }
50
51
    /**
52
     * Set the message body.
53
     *
54
     * @param string $value
55
     *
56
     * @return $this
57
     */
58 1
    public function body($value)
59
    {
60 1
        $this->body = $value;
61
62 1
        return $this;
63
    }
64
65
    /**
66
     * Set the message icon.
67
     *
68
     * @param string $value
69
     *
70
     * @return $this
71
     */
72 2
    public function icon($value)
73
    {
74 2
        $this->icon = $value;
75
76 2
        return $this;
77
    }
78
79
    /**
80
     * Set the message subject.
81
     *
82
     * @param string $value
83
     *
84
     * @return $this
85
     */
86 2
    public function subject($value)
87
    {
88 2
        $this->subject = $value;
89
90 2
        return $this;
91
    }
92
93
    /**
94
     * Set the message url.
95
     *
96
     * @param string $value
97
     *
98
     * @return $this
99
     */
100 2
    public function url($value)
101
    {
102 2
        $this->url = $value;
103
104 2
        return $this;
105
    }
106
107
    /**
108
     * Set additional data.
109
     *
110
     * @param string $key
111
     * @param string $value
112
     *
113
     * @return $this
114
     */
115 1
    public function setData($key, $value)
116
    {
117 1
        $this->data[$key] = $value;
118
119 1
        return $this;
120
    }
121
122
    /**
123
     * Set additional parameters.
124
     *
125
     * @param string $key
126
     * @param string $value
127
     *
128
     * @return $this
129
     */
130 1
    public function setParameter($key, $value)
131
    {
132 1
        $this->extraParameters[$key] = $value;
133
134 1
        return $this;
135
    }
136
137
    /**
138
     * Add a web button to the message.
139
     *
140
     * @param OneSignalWebButton $button
141
     *
142
     * @return $this
143
     */
144 1
    public function webButton(OneSignalWebButton $button)
145
    {
146 1
        $this->webButtons[] = $button->toArray();
147
148 1
        return $this;
149
    }
150
151
    /**
152
     * Add a native button to the message.
153
     *
154
     * @param OneSignalButton $button
155
     *
156
     * @return $this
157
     */
158 1
    public function button(OneSignalButton $button)
159
    {
160 1
        $this->buttons[] = $button->toArray();
161
162 1
        return $this;
163
    }
164
165
    /**
166
     * Set an image to all possible attachment variables.
167
     * @param string $imageUrl
168
     *
169
     * @return $this
170
     */
171 1
    public function setImageAttachments($imageUrl)
172
    {
173 1
        $this->extraParameters['ios_attachments']['id1'] = $imageUrl;
174 1
        $this->extraParameters['big_picture'] = $imageUrl;
175 1
        $this->extraParameters['adm_big_picture'] = $imageUrl;
176 1
        $this->extraParameters['chrome_big_picture'] = $imageUrl;
177
178 1
        return $this;
179
    }
180
181
    /**
182
     * @return array
183
     */
184 12
    public function toArray()
185
    {
186
        $message = [
187 12
            'contents' => ['en' => $this->body],
188 12
            'headings' => ['en' => $this->subject],
189 12
            'url' => $this->url,
190 12
            'buttons' => $this->buttons,
191 12
            'web_buttons' => $this->webButtons,
192 12
            'chrome_web_icon' => $this->icon,
193 12
            'chrome_icon' => $this->icon,
194 12
            'adm_small_icon' => $this->icon,
195 12
            'small_icon' => $this->icon,
196
        ];
197
198 12
        foreach ($this->extraParameters as $key => $value) {
199 2
            Arr::set($message, $key, $value);
200
        }
201
202 12
        foreach ($this->data as $data => $value) {
203 1
            Arr::set($message, 'data.'.$data, $value);
204
        }
205
206 12
        return $message;
207
    }
208
}
209