1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
<?php
/**
* This code was generated by
* \ / _ _ _| _ _
* | (_)\/(_)(_|\/| |(/_ v1.0.0
* / /
*/
namespace Twilio\Rest\Taskrouter\V1\Workspace;
use Twilio\Exceptions\TwilioException;
use Twilio\InstanceContext;
use Twilio\Options;
use Twilio\Rest\Taskrouter\V1\Workspace\Task\ReservationList;
use Twilio\Values;
use Twilio\Version;
/**
* @property \Twilio\Rest\Taskrouter\V1\Workspace\Task\ReservationList reservations
* @method \Twilio\Rest\Taskrouter\V1\Workspace\Task\ReservationContext reservations(string $sid)
*/
class TaskContext extends InstanceContext {
protected $_reservations = null;
/**
* Initialize the TaskContext
*
* @param \Twilio\Version $version Version that contains the resource
* @param string $workspaceSid The workspace_sid
* @param string $sid The sid
* @return \Twilio\Rest\Taskrouter\V1\Workspace\TaskContext
*/
public function __construct(Version $version, $workspaceSid, $sid) {
parent::__construct($version);
// Path Solution
$this->solution = array(
'workspaceSid' => $workspaceSid,
'sid' => $sid,
);
$this->uri = '/Workspaces/' . rawurlencode($workspaceSid) . '/Tasks/' . rawurlencode($sid) . '';
}
/**
* Fetch a TaskInstance
*
* @return TaskInstance Fetched TaskInstance
*/
public function fetch() {
$params = Values::of(array());
$payload = $this->version->fetch(
'GET',
$this->uri,
$params
);
return new TaskInstance(
$this->version,
$payload,
$this->solution['workspaceSid'],
$this->solution['sid']
);
}
/**
* Update the TaskInstance
*
* @param array|Options $options Optional Arguments
* @return TaskInstance Updated TaskInstance
*/
public function update($options = array()) {
$options = new Values($options);
$data = Values::of(array(
'Attributes' => $options['attributes'],
'AssignmentStatus' => $options['assignmentStatus'],
'Reason' => $options['reason'],
'Priority' => $options['priority'],
'TaskChannel' => $options['taskChannel'],
));
$payload = $this->version->update(
'POST',
$this->uri,
array(),
$data
);
return new TaskInstance(
$this->version,
$payload,
$this->solution['workspaceSid'],
$this->solution['sid']
);
}
/**
* Deletes the TaskInstance
*
* @return boolean True if delete succeeds, false otherwise
*/
public function delete() {
return $this->version->delete('delete', $this->uri);
}
/**
* Access the reservations
*
* @return \Twilio\Rest\Taskrouter\V1\Workspace\Task\ReservationList
*/
protected function getReservations() {
if (!$this->_reservations) {
$this->_reservations = new ReservationList(
$this->version,
$this->solution['workspaceSid'],
$this->solution['sid']
);
}
return $this->_reservations;
}
/**
* Magic getter to lazy load subresources
*
* @param string $name Subresource to return
* @return \Twilio\ListResource The requested subresource
* @throws \Twilio\Exceptions\TwilioException For unknown subresources
*/
public function __get($name) {
if (property_exists($this, '_' . $name)) {
$method = 'get' . ucfirst($name);
return $this->$method();
}
throw new TwilioException('Unknown subresource ' . $name);
}
/**
* Magic caller to get resource contexts
*
* @param string $name Resource to return
* @param array $arguments Context parameters
* @return \Twilio\InstanceContext The requested resource context
* @throws \Twilio\Exceptions\TwilioException For unknown resource
*/
public function __call($name, $arguments) {
$property = $this->$name;
if (method_exists($property, 'getContext')) {
return call_user_func_array(array($property, 'getContext'), $arguments);
}
throw new TwilioException('Resource does not have a context');
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString() {
$context = array();
foreach ($this->solution as $key => $value) {
$context[] = "$key=$value";
}
return '[Twilio.Taskrouter.V1.TaskContext ' . implode(' ', $context) . ']';
}
}
|