MessageAction::setChannel()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 6
cts 6
cp 1
rs 9.9
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 2
1
<?php
2
3
namespace Botonomous;
4
5
class MessageAction extends AbstractBaseSlack
6
{
7
    private $actions;
8
    private $callbackId;
9
    private $team;
10
    private $channel;
11
    private $user;
12
    private $actionTimestamp;
13
    private $messageTimestamp;
14
    private $attachmentId;
15
    private $token;
16
    private $originalMessage;
17
    private $responseUrl;
18
19
    /**
20
     * @return array
21
     */
22 3
    public function getActions()
23
    {
24 3
        return $this->actions;
25
    }
26
27
    /**
28
     * @param array $actions
29
     */
30 3
    public function setActions(array $actions)
31
    {
32 3
        $this->actions = $actions;
33 3
    }
34
35
    /**
36
     * @param Action $action
37
     */
38 1
    public function addAction(Action $action)
39
    {
40 1
        $actions = $this->getActions();
41 1
        $actions[] = $action;
42 1
        $this->setActions($actions);
43 1
    }
44
45
    /**
46
     * @return string
47
     */
48 1
    public function getCallbackId(): string
49
    {
50 1
        return $this->callbackId;
51
    }
52
53
    /**
54
     * @param string $callbackId
55
     */
56 2
    public function setCallbackId(string $callbackId)
57
    {
58 2
        $this->callbackId = $callbackId;
59 2
    }
60
61
    /**
62
     * @return Team
63
     */
64 2
    public function getTeam(): Team
65
    {
66 2
        return $this->team;
67
    }
68
69
    /**
70
     * @param mixed $team
71
     */
72 3
    public function setTeam($team)
73
    {
74 3
        if ($team instanceof Team) {
75 1
            $this->team = $team;
76
77 1
            return;
78
        }
79
80
        // if array or json is passed create the object
81 2
        $this->team = (new Team())->load($team);
82 2
    }
83
84
    /**
85
     * @return Channel
86
     */
87 2
    public function getChannel(): Channel
88
    {
89 2
        return $this->channel;
90
    }
91
92
    /**
93
     * @param mixed $channel
94
     */
95 3
    public function setChannel($channel)
96
    {
97 3
        if ($channel instanceof Channel) {
98 1
            $this->channel = $channel;
99
100 1
            return;
101
        }
102
103
        // if array or json is passed create the object
104 2
        $this->channel = (new Channel())->load($channel);
105 2
    }
106
107
    /**
108
     * @return User
109
     */
110 2
    public function getUser()
111
    {
112 2
        return $this->user;
113
    }
114
115
    /**
116
     * @param mixed $user
117
     */
118 3
    public function setUser($user)
119
    {
120 3
        if ($user instanceof User) {
121 1
            $this->user = $user;
122
123 1
            return;
124
        }
125
126
        // if array or json is passed create the object
127 2
        $this->user = (new User())->load($user);
128 2
    }
129
130
    /**
131
     * @return string
132
     */
133 1
    public function getActionTimestamp()
134
    {
135 1
        return $this->actionTimestamp;
136
    }
137
138
    /**
139
     * @param string $actionTimestamp
140
     */
141 2
    public function setActionTimestamp($actionTimestamp)
142
    {
143 2
        $this->actionTimestamp = $actionTimestamp;
144 2
    }
145
146
    /**
147
     * @return string
148
     */
149 1
    public function getMessageTimestamp()
150
    {
151 1
        return $this->messageTimestamp;
152
    }
153
154
    /**
155
     * @param string $messageTimestamp
156
     */
157 2
    public function setMessageTimestamp($messageTimestamp)
158
    {
159 2
        $this->messageTimestamp = $messageTimestamp;
160 2
    }
161
162
    /**
163
     * @return string
164
     */
165 1
    public function getAttachmentId()
166
    {
167 1
        return $this->attachmentId;
168
    }
169
170
    /**
171
     * @param string $attachmentId
172
     */
173 2
    public function setAttachmentId($attachmentId)
174
    {
175 2
        $this->attachmentId = $attachmentId;
176 2
    }
177
178
    /**
179
     * @return string
180
     */
181 1
    public function getToken()
182
    {
183 1
        return $this->token;
184
    }
185
186
    /**
187
     * @param string $token
188
     */
189 2
    public function setToken($token)
190
    {
191 2
        $this->token = $token;
192 2
    }
193
194
    /**
195
     * @return string
196
     */
197 1
    public function getOriginalMessage()
198
    {
199 1
        return $this->originalMessage;
200
    }
201
202
    /**
203
     * @param string $originalMessage
204
     */
205 2
    public function setOriginalMessage($originalMessage)
206
    {
207 2
        $this->originalMessage = $originalMessage;
208 2
    }
209
210
    /**
211
     * @return string
212
     */
213 1
    public function getResponseUrl()
214
    {
215 1
        return $this->responseUrl;
216
    }
217
218
    /**
219
     * @param string $responseUrl
220
     */
221 2
    public function setResponseUrl($responseUrl)
222
    {
223 2
        $this->responseUrl = $responseUrl;
224 2
    }
225
226
    /**
227
     * @param $info
228
     *
229
     * @return AbstractBaseSlack
230
     */
231 2
    public function load($info)
232
    {
233 2
        $thisObject = parent::load($info);
234
235 2
        $actions = [];
236 2
        foreach ($info['actions'] as $actionInfo) {
237
            // load action
238 2
            $actions[] = (new Action())->load($actionInfo);
239
        }
240 2
        $this->setActions($actions);
241
        /*
242
         * Finish adding actions
243
         */
244
245 2
        return $thisObject;
246
    }
247
}
248