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
Pull Request — master (#46)
by
unknown
08:44
created

ApnMessage::contentAvailable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
ccs 0
cts 0
cp 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
crap 2
1
<?php
2
3
namespace NotificationChannels\Apn;
4
5
class ApnMessage
6
{
7
    /**
8
     * The title of the notification.
9
     *
10
     * @var string
11
     */
12
    public $title;
13
14
    /**
15
     * The body of the notification.
16
     *
17
     * @var string
18
     */
19
    public $body;
20
21
    /**
22
     * The badge of the notification.
23
     *
24
     * @var int
25
     */
26
    public $badge;
27
28
    /**
29
     * The sound for the notification.
30
     *
31
     * @var string|null
32
     */
33
    public $sound;
34
35
    /**
36
     * The category for action button.
37
     *
38
     * @var string|null
39
     * */
40
    public $category;
41
42
    /**
43
     * Value indicating incoming resource in the notification.
44
     *
45
     * @var int|null
46
     */
47
    public $contentAvailable = null;
48
49
    /**
50
     * Additional data of the notification.
51
     *
52
     * @var array
53
     */
54
    public $custom = [];
55
    
56
    /**
57
     * APN Environment
58
     * 
59
     * @var int 
60
     */
61
    public $environment = null;
62
    
63
    /**
64 1
     * APN Certificate path
65
     * 
66 1
     * @var string 
67
     */
68
    public $certificate = '';
69
    
70
    /**
71
     * APN Certificate Passphrase
72
     * 
73
     * @var string 
74
     */
75 13
    public $passphrase = '';
76
77 13
    /**
78 13
     * @param string|null $title
79 13
     * @param string|null $body
80 13
     * @param array $custom
81 13
     * @param null|int $badge
82
     *
83
     * @return static
84
     */
85
    public static function create($title = null, $body = null, $custom = [], $badge = null)
86
    {
87
        return new static($title, $body, $custom, $badge);
88
    }
89
90 1
    /**
91
     * @param string|null $title
92 1
     * @param string|null $body
93
     * @param array $custom
94 1
     * @param null|int $badge
95
     */
96
    public function __construct($title = null, $body = null, $custom = [], $badge = null)
97
    {
98
        $this->title = $title;
99
        $this->body = $body;
100
        $this->custom = $custom;
101
        $this->badge = $badge;
102
    }
103
104 1
    /**
105
     * Set the alert title of the notification.
106 1
     *
107
     * @param string $title
108 1
     *
109
     * @return $this
110
     */
111
    public function title($title)
112
    {
113
        $this->title = $title;
114
115
        return $this;
116
    }
117
118 1
    /**
119
     * Set the alert message of the notification.
120 1
     *
121
     * @param string $body
122 1
     *
123
     * @return $this
124
     */
125
    public function body($body)
126
    {
127
        $this->body = $body;
128
129
        return $this;
130
    }
131
132 2
    /**
133
     * Set the badge of the notification.
134 2
     *
135
     * @param int $badge
136 2
     *
137
     * @return $this
138
     */
139
    public function badge($badge)
140
    {
141
        $this->badge = $badge;
142
143
        return $this;
144
    }
145
146 1
    /**
147
     * Set the sound for the notification.
148 1
     *
149
     * @param string|null $sound
150 1
     *
151
     * @return $this
152
     */
153
    public function sound($sound = 'default')
154
    {
155
        $this->sound = $sound;
156
157
        return $this;
158
    }
159
160 1
    /**
161
     * Set category for this notification.
162 1
     *
163
     * @param string|null $category
164 1
     *
165
     * @return $this
166
     * */
167
    public function category($category)
168
    {
169
        $this->category = $category;
170
171
        return $this;
172
    }
173
174
    /**
175 2
     * Set content available value for this notification.
176
     *
177 2
     * @param int $value
178
     *
179 2
     * @return $this
180
     */
181
    public function contentAvailable($value = 1)
182
    {
183
        $this->contentAvailable = $value;
184
185
        return $this;
186
    }
187
188
    /**
189 1
     * Add custom data to the notification.
190
     *
191 1
     * @param string $key
192
     * @param mixed $value
193 1
     *
194
     * @return $this
195
     */
196
    public function custom($key, $value)
197
    {
198
        $this->custom[$key] = $value;
199
200
        return $this;
201
    }
202
203
    /**
204 1
     * Override the data of the notification.
205
     *
206 1
     * @param array $custom
207 1
     *
208 1
     * @return $this
209
     */
210
    public function setCustom($custom)
211
    {
212
        $this->custom = $custom;
213
214
        return $this;
215
    }
216
217
    /**
218
     * Add an action to the notification.
219
     *
220
     * @param string $action
221
     * @param mixed $params
222
     *
223
     * @return $this
224
     */
225
    public function action($action, $params = null)
226
    {
227
        return $this->custom('action', [
228
            'action' => $action,
229
            'params' => $params,
230
        ]);
231
    }
232
    
233
    /**
234
     * Set the APN Environment
235
     * 
236
     * @param int $environment
237
     *
238
     * @return $this
239
     */
240
    public function environment($environment) {
241
        $this->environment = $environment;
242
        
243
        return $this;
244
    }
245
    
246
    /** 
247
     * Set the APN Certificate path
248
     * 
249
     * @param string $certificate
250
     * 
251
     * @return $this
252
     */
253
    public function certificate($certificate) {
254
        $this->certificate = $certificate;
255
        
256
        return $this;
257
    }
258
    
259
    /**
260
     *  Set the APN Certificate passphrase
261
     * 
262
     * @param string $passphrase
263
     * 
264
     * @return $this
265
     */
266
    public function passphrase($passphrase) {
267
        $this->passphrase = $passphrase;
268
        
269
        return $this;
270
    }
271
}
272