Completed
Push — master ( 3a5b78...5c6f77 )
by Mr
13s queued 11s
created

Requests::createTravelType()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace UON\Endpoint;
4
5
use UON\Client;
6
7
/**
8
 * Class Requests
9
 *
10
 * @package UON\Endpoint
11
 */
12
class Requests extends Client
13
{
14
    /**
15
     * Create new request
16
     *
17
     * @link    https://api.u-on.ru/{key}/request/create.{_format}
18
     * @param   array $parameters List of parameters
19
     * @return  array|false
20
     */
21 1
    public function create(array $parameters)
22
    {
23 1
        $endpoint = '/request/create';
24 1
        return $this->doRequest('post', $endpoint, $parameters);
25
    }
26
27
    /**
28
     * Adding touch to the request
29
     *
30
     * @link    https://api.u-on.ru/{key}/request-action/create.{_format}
31
     * @param   array $parameters List of parameters
32
     * @return  array|false
33
     */
34 1
    public function createActions(array $parameters)
35
    {
36 1
        $endpoint = '/request-action/create';
37 1
        return $this->doRequest('post', $endpoint, $parameters);
38
    }
39
40
    /**
41
     * Add file into request
42
     *
43
     * @link    https://api.u-on.ru/{key}/request-file/create.{_format}
44
     * @param   array $parameters List of parameters
45
     * @return  array|false
46
     */
47
    public function createFile(array $parameters)
48
    {
49
        $endpoint = '/request-file/create';
50
        return $this->doRequest('post', $endpoint, $parameters);
51
    }
52
53
    /**
54
     * Add tourist in request
55
     *
56
     * @link    https://api.u-on.ru/{key}/tourists-requests/create.{_format}
57
     * @param   array $parameters List of parameters [r_id, tourist_id]
58
     * @return  array|false
59
     */
60
    public function createTourist(array $parameters)
61
    {
62
        $endpoint = '/tourists-requests/create';
63
        return $this->doRequest('post', $endpoint, $parameters);
64
    }
65
66
    /**
67
     * Get requests data by filter
68
     *
69
     * @link    https://api.u-on.ru/{key}/request/search.{_format}
70
     * @param   array $parameters List of parameters
71
     * @return  array|false
72
     */
73
    public function search(array $parameters = [])
74
    {
75
        $endpoint = '/request/search';
76
        return $this->doRequest('post', $endpoint, $parameters);
77
    }
78
79
    /**
80
     * Get request by ID
81
     *
82
     * @link    https://api.u-on.ru/{key}/request/{id}.{_format}
83
     * @param   int   $id         Request unique ID
84
     * @param   array $parameters List of parameters
85
     * @return  array|false
86
     */
87 1
    public function get($id, array $parameters = [])
88
    {
89 1
        $endpoint = '/request/' . $id;
90 1
        return $this->doRequest('get', $endpoint, $parameters);
91
    }
92
93
    /**
94
     * Get touch of the request by ID
95
     *
96
     * @link    https://api.u-on.ru/{key}/request-action/create.{_format}
97
     * @param   int $id List of parameters
98
     * @return  array|false
99
     */
100 1
    public function getActions($id)
101
    {
102 1
        $endpoint = '/request-action/' . $id;
103 1
        return $this->doRequest('get', $endpoint);
104
    }
105
106
    /**
107
     * Get requests data by client ID
108
     *
109
     * @link    https://api.u-on.ru/{key}/request-by-client/create.{_format}
110
     * @param   int $id   List of parameters
111
     * @param   int $page Number of page, 1 by default
112
     * @return  array|false
113
     */
114
    public function getByClient($id, $page = 1)
115
    {
116
        $endpoint = '/request-by-client/' . $id . '/' . $page;
117
        return $this->doRequest('get', $endpoint);
118
    }
119
120
    /**
121
     * Get requests by dates range (and by source ID)
122
     *
123
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}.{_format}
124
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}/{source_id}.{_format}
125
     * @param   string   $date_from Start of dates range
126
     * @param   string   $date_to   End of dates range
127
     * @param   int      $page      Number of page, 1 by default
128
     * @param   int|null $source_id Source ID, eg ID of SMS or JivoSite
129
     * @return  array|false
130
     */
131
    public function getDate($date_from, $date_to, $page = 1, $source_id = null)
132
    {
133
        $endpoint = '/requests/' . $date_from . '/' . $date_to;
134
        if (null !== $source_id) {
135
            $endpoint .= '/' . $source_id;
136
        }
137
        $endpoint .= '/' . $page;
138
        return $this->doRequest('get', $endpoint);
139
    }
140
141
    /**
142
     * Get touch of the requests in dates range
143
     *
144
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}.{_format}
145
     * @param   string $date_from Start of dates range
146
     * @param   string $date_to   End of dates range
147
     * @param   int    $page      Number of page, 1 by default
148
     * @return  array|false
149
     */
150 1
    public function getDateActions($date_from, $date_to, $page = 1)
151
    {
152 1
        $endpoint = '/request-action/' . $date_from . '/' . $date_to . '/' . $page;
153 1
        return $this->doRequest('get', $endpoint);
154
    }
155
156
    /**
157
     * Get updates requests by dates range
158
     *
159
     * @link    https://api.u-on.ru/{key}/request/updated/{date_from}/{date_to}.{_format}
160
     * @param   string $date_from Start of dates range
161
     * @param   string $date_to   End of dates range
162
     * @param   int    $page      Number of page, 1 by default
163
     * @return  array|false
164
     */
165
    public function getUpdated($date_from, $date_to, $page = 1)
166
    {
167
        $endpoint = '/requests/updated/' . $date_from . '/' . $date_to . '/' . $page;
168
        return $this->doRequest('get', $endpoint);
169
    }
170
171
    /**
172
     * Get all travel types or by some parameters, like id or name
173
     *
174
     * @link    https://api.u-on.ru/{key}/travel-type.{_format}
175
     * @param   array $parameters List of parameters [id, name]
176
     * @return  array|false
177
     */
178 1
    public function getTravelType(array $parameters = [])
179
    {
180 1
        $endpoint = '/travel-type';
181 1
        return $this->doRequest('get', $endpoint, $parameters);
182
    }
183
184
    /**
185
     * Get filled document from request
186
     *
187
     * @link    https://api.u-on.ru/{key}/request-document.{_format}
188
     * @param   array $parameters List of parameters [template_id, request_id etc.]
189
     * @return  array|false
190
     */
191
    public function getDocument(array $parameters = [])
192
    {
193
        $endpoint = '/request-document';
194
        return $this->doRequest('post', $endpoint, $parameters, true);
195
    }
196
197
    /**
198
     * Create new travel type
199
     *
200
     * @link    https://api.u-on.ru/{key}/travel-type/create.{_format}
201
     * @param   array $parameters List of parameters [name]
202
     * @return  array|false
203
     */
204 1
    public function createTravelType(array $parameters)
205
    {
206 1
        $endpoint = '/travel-type/create';
207 1
        return $this->doRequest('post', $endpoint, $parameters);
208
    }
209
210
    /**
211
     * Update request by request id
212
     *
213
     * @link    https://api.u-on.ru/{key}/request/update/{id}.{_format}
214
     * @param   int   $id         Unique ID of request's
215
     * @param   array $parameters List of parameters [r_cl_id]
216
     * @return  array|false
217
     */
218
    public function update($id, array $parameters)
219
    {
220
        $endpoint = '/request/update/' . $id;
221
        return $this->doRequest('post', $endpoint, $parameters);
222
    }
223
224
    /**
225
     * Delete attached file from request
226
     *
227
     * @link    https://api.u-on.ru/{key}/request-file/delete/{id}.{_format}
228
     * @param   int $id Unique ID of file
229
     * @return  array|false
230
     */
231
    public function deleteFile($id)
232
    {
233
        $endpoint = '/request-file/delete/' . $id;
234
        return $this->doRequest('post', $endpoint);
235
    }
236
237
    /**
238
     * Add tourist in request
239
     *
240
     * @link    https://api.u-on.ru/{key}/tourists-requests/delete.{_format}
241
     * @param   array $parameters List of parameters [r_id, tourist_id]
242
     * @return  array|false
243
     */
244
    public function deleteTourist(array $parameters)
245
    {
246
        $endpoint = '/tourists-requests/delete';
247
        return $this->doRequest('post', $endpoint, $parameters);
248
    }
249
}
250