@@ -13,7 +13,7 @@ |
||
13 | 13 | /** |
14 | 14 | * `DELETE` |
15 | 15 | */ |
16 | - public function delete (): void { |
|
16 | + public function delete(): void { |
|
17 | 17 | /** @var Api $api */ |
18 | 18 | $api = $this->api; |
19 | 19 | $api->delete($this); |
@@ -205,8 +205,7 @@ discard block |
||
205 | 205 | if ($this->hasGid()) { |
206 | 206 | $this->api->post("{$this}/addFollowers", ['followers' => array_column($users, 'gid')]); |
207 | 207 | $this->_merge('followers', $users); |
208 | - } |
|
209 | - else { |
|
208 | + } else { |
|
210 | 209 | $this->_merge('followers', $users, true); |
211 | 210 | } |
212 | 211 | return $this; |
@@ -222,8 +221,7 @@ discard block |
||
222 | 221 | if ($this->hasGid()) { |
223 | 222 | $this->api->post("{$this}/addTag", ['tag' => $tag->getGid()]); |
224 | 223 | $this->_merge('tags', [$tag]); |
225 | - } |
|
226 | - else { |
|
224 | + } else { |
|
227 | 225 | $this->_merge('tags', [$tag], true); |
228 | 226 | } |
229 | 227 | return $this; |
@@ -239,8 +237,7 @@ discard block |
||
239 | 237 | if ($target instanceof Project) { |
240 | 238 | $project = $target; |
241 | 239 | $section = null; |
242 | - } |
|
243 | - else { |
|
240 | + } else { |
|
244 | 241 | $project = $target->getProject(); |
245 | 242 | $section = $target; |
246 | 243 | } |
@@ -255,8 +252,7 @@ discard block |
||
255 | 252 | 'section' => $section |
256 | 253 | ]) |
257 | 254 | ]); |
258 | - } |
|
259 | - else { |
|
255 | + } else { |
|
260 | 256 | if (!$this->hasWorkspace()) { |
261 | 257 | $this->setWorkspace($project->getWorkspace()); |
262 | 258 | } |
@@ -567,8 +563,7 @@ discard block |
||
567 | 563 | if ($this->hasGid()) { |
568 | 564 | $this->api->post("{$this}/setParent", ['parent' => $parent ? $parent->getGid() : null]); |
569 | 565 | $this->data['parent'] = $parent; |
570 | - } |
|
571 | - else { |
|
566 | + } else { |
|
572 | 567 | $this->_set('parent', $parent); |
573 | 568 | } |
574 | 569 | return $this; |
@@ -63,8 +63,7 @@ discard block |
||
63 | 63 | $this->data[$key] = array_values(array_unique($this->data[$key])); |
64 | 64 | if ($force) { |
65 | 65 | $this->diff[$key] = true; |
66 | - } |
|
67 | - else { |
|
66 | + } else { |
|
68 | 67 | $this->_cache(); |
69 | 68 | } |
70 | 69 | } |
@@ -105,8 +104,7 @@ discard block |
||
105 | 104 | if (isset($key)) { |
106 | 105 | $value = $this->api->get($this, [], ['fields' => static::$optFields[$key] ?? $key])[$key] ?? null; |
107 | 106 | $this->_setMapped($key, $value); |
108 | - } |
|
109 | - else { |
|
107 | + } else { |
|
110 | 108 | $this->_setData($this->api->get($this, [], ['expand' => 'this'])); |
111 | 109 | } |
112 | 110 | $this->_cache(); |
@@ -52,24 +52,24 @@ discard block |
||
52 | 52 | /** |
53 | 53 | * @return Cache |
54 | 54 | */ |
55 | - public static function getCache () { |
|
55 | + public static function getCache() { |
|
56 | 56 | return static::$cache ?? static::$cache = new Cache(); |
57 | 57 | } |
58 | 58 | |
59 | 59 | /** |
60 | 60 | * @return Api |
61 | 61 | */ |
62 | - public static function getDefault () { |
|
62 | + public static function getDefault() { |
|
63 | 63 | return self::$default; |
64 | 64 | } |
65 | 65 | |
66 | 66 | /** |
67 | 67 | * @return LoggerInterface |
68 | 68 | */ |
69 | - public static function getLogger () { |
|
69 | + public static function getLogger() { |
|
70 | 70 | return static::$logger ?? static::$logger = new class implements LoggerInterface { |
71 | 71 | |
72 | - public function log (string $info, string $path, ?array $payload): void { |
|
72 | + public function log(string $info, string $path, ?array $payload): void { |
|
73 | 73 | // stub |
74 | 74 | } |
75 | 75 | |
@@ -79,28 +79,28 @@ discard block |
||
79 | 79 | /** |
80 | 80 | * @param Cache $cache |
81 | 81 | */ |
82 | - public static function setCache (Cache $cache) { |
|
82 | + public static function setCache(Cache $cache) { |
|
83 | 83 | static::$cache = $cache; |
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
87 | 87 | * @param Api $default |
88 | 88 | */ |
89 | - public static function setDefault (Api $default) { |
|
89 | + public static function setDefault(Api $default) { |
|
90 | 90 | self::$default = $default; |
91 | 91 | } |
92 | 92 | |
93 | 93 | /** |
94 | 94 | * @param LoggerInterface $logger |
95 | 95 | */ |
96 | - public static function setLogger (LoggerInterface $logger) { |
|
96 | + public static function setLogger(LoggerInterface $logger) { |
|
97 | 97 | static::$logger = $logger; |
98 | 98 | } |
99 | 99 | |
100 | 100 | /** |
101 | 101 | * @param string $token |
102 | 102 | */ |
103 | - public function __construct (string $token) { |
|
103 | + public function __construct(string $token) { |
|
104 | 104 | $this->token = $token; |
105 | 105 | if (!static::$default) { |
106 | 106 | static::$default = $this; |
@@ -112,7 +112,7 @@ discard block |
||
112 | 112 | * |
113 | 113 | * @param string $path |
114 | 114 | */ |
115 | - public function delete (string $path): void { |
|
115 | + public function delete(string $path): void { |
|
116 | 116 | $this->exec('DELETE', $path); |
117 | 117 | } |
118 | 118 | |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | * @return null|array |
124 | 124 | * @internal |
125 | 125 | */ |
126 | - protected function exec (string $method, string $path, array $opts = null) { |
|
126 | + protected function exec(string $method, string $path, array $opts = null) { |
|
127 | 127 | $ch = curl_init(); |
128 | 128 | curl_setopt_array($ch, [ |
129 | 129 | CURLOPT_CUSTOMREQUEST => $method, |
@@ -174,7 +174,7 @@ discard block |
||
174 | 174 | * @param array $data |
175 | 175 | * @return mixed|Data|AbstractEntity |
176 | 176 | */ |
177 | - public function factory (string $class, $caller, array $data = []) { |
|
177 | + public function factory(string $class, $caller, array $data = []) { |
|
178 | 178 | return new $class($caller, $data); |
179 | 179 | } |
180 | 180 | |
@@ -186,7 +186,7 @@ discard block |
||
186 | 186 | * @param array $options |
187 | 187 | * @return null|array |
188 | 188 | */ |
189 | - public function get (string $path, array $query = [], array $options = []) { |
|
189 | + public function get(string $path, array $query = [], array $options = []) { |
|
190 | 190 | foreach ($options as $name => $value) { |
191 | 191 | $query["opt_{$name}"] = $value; |
192 | 192 | } |
@@ -200,7 +200,7 @@ discard block |
||
200 | 200 | * @param string $gid |
201 | 201 | * @return null|Attachment |
202 | 202 | */ |
203 | - public function getAttachment (string $gid) { |
|
203 | + public function getAttachment(string $gid) { |
|
204 | 204 | return $this->load(Attachment::class, $this, "attachments/{$gid}"); |
205 | 205 | } |
206 | 206 | |
@@ -210,7 +210,7 @@ discard block |
||
210 | 210 | * @param string $gid |
211 | 211 | * @return null|CustomField |
212 | 212 | */ |
213 | - public function getCustomField (string $gid) { |
|
213 | + public function getCustomField(string $gid) { |
|
214 | 214 | return $this->load(CustomField::class, $this, "custom_fields/{$gid}"); |
215 | 215 | } |
216 | 216 | |
@@ -219,7 +219,7 @@ discard block |
||
219 | 219 | * |
220 | 220 | * @return User |
221 | 221 | */ |
222 | - public function getMe () { |
|
222 | + public function getMe() { |
|
223 | 223 | return $this->getUser('me'); |
224 | 224 | } |
225 | 225 | |
@@ -230,7 +230,7 @@ discard block |
||
230 | 230 | * @param array $query |
231 | 231 | * @return string |
232 | 232 | */ |
233 | - protected function getPath (string $path, array $query): string { |
|
233 | + protected function getPath(string $path, array $query): string { |
|
234 | 234 | return $query ? $path . '?' . http_build_query($query) : $path; |
235 | 235 | } |
236 | 236 | |
@@ -240,7 +240,7 @@ discard block |
||
240 | 240 | * @param string $gid |
241 | 241 | * @return null|Portfolio |
242 | 242 | */ |
243 | - public function getPortfolio (string $gid) { |
|
243 | + public function getPortfolio(string $gid) { |
|
244 | 244 | return $this->load(Portfolio::class, $this, "portfolios/{$gid}"); |
245 | 245 | } |
246 | 246 | |
@@ -250,7 +250,7 @@ discard block |
||
250 | 250 | * @param string $gid |
251 | 251 | * @return null|Project |
252 | 252 | */ |
253 | - public function getProject (string $gid) { |
|
253 | + public function getProject(string $gid) { |
|
254 | 254 | return $this->load(Project::class, $this, "projects/{$gid}"); |
255 | 255 | } |
256 | 256 | |
@@ -260,7 +260,7 @@ discard block |
||
260 | 260 | * @param string $gid |
261 | 261 | * @return null|Section |
262 | 262 | */ |
263 | - public function getSection (string $gid) { |
|
263 | + public function getSection(string $gid) { |
|
264 | 264 | return $this->load(Section::class, $this, "sections/{$gid}"); |
265 | 265 | } |
266 | 266 | |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | * @param string $gid |
271 | 271 | * @return null|Story |
272 | 272 | */ |
273 | - public function getStory (string $gid) { |
|
273 | + public function getStory(string $gid) { |
|
274 | 274 | return $this->load(Story::class, $this, "stories/{$gid}"); |
275 | 275 | } |
276 | 276 | |
@@ -280,7 +280,7 @@ discard block |
||
280 | 280 | * @param string $gid |
281 | 281 | * @return null|Tag |
282 | 282 | */ |
283 | - public function getTag (string $gid) { |
|
283 | + public function getTag(string $gid) { |
|
284 | 284 | return $this->load(Tag::class, $this, "tags/{$gid}"); |
285 | 285 | } |
286 | 286 | |
@@ -290,7 +290,7 @@ discard block |
||
290 | 290 | * @param string $gid |
291 | 291 | * @return null|Task |
292 | 292 | */ |
293 | - public function getTask (string $gid) { |
|
293 | + public function getTask(string $gid) { |
|
294 | 294 | return $this->load(Task::class, $this, "tasks/{$gid}"); |
295 | 295 | } |
296 | 296 | |
@@ -300,7 +300,7 @@ discard block |
||
300 | 300 | * @param string $gid |
301 | 301 | * @return null|Team |
302 | 302 | */ |
303 | - public function getTeam (string $gid) { |
|
303 | + public function getTeam(string $gid) { |
|
304 | 304 | return $this->load(Team::class, $this, "teams/{$gid}"); |
305 | 305 | } |
306 | 306 | |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | * @param string $gid |
311 | 311 | * @return null|User |
312 | 312 | */ |
313 | - public function getUser (string $gid) { |
|
313 | + public function getUser(string $gid) { |
|
314 | 314 | return $this->load(User::class, $this, "users/{$gid}"); |
315 | 315 | } |
316 | 316 | |
@@ -322,7 +322,7 @@ discard block |
||
322 | 322 | * @param array $data |
323 | 323 | * @return ProjectEvent|TaskEvent|StoryEvent |
324 | 324 | */ |
325 | - public function getWebhookEvent (array $data) { |
|
325 | + public function getWebhookEvent(array $data) { |
|
326 | 326 | static $classes = [ |
327 | 327 | Project::TYPE => ProjectEvent::class, |
328 | 328 | Task::TYPE => TaskEvent::class, |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | * @param string $gid |
336 | 336 | * @return null|Workspace |
337 | 337 | */ |
338 | - public function getWorkspace (string $gid) { |
|
338 | + public function getWorkspace(string $gid) { |
|
339 | 339 | return $this->load(Workspace::class, $this, "workspaces/{$gid}"); |
340 | 340 | } |
341 | 341 | |
@@ -343,7 +343,7 @@ discard block |
||
343 | 343 | * @param string $name |
344 | 344 | * @return null|Workspace |
345 | 345 | */ |
346 | - public function getWorkspaceByName (string $name) { |
|
346 | + public function getWorkspaceByName(string $name) { |
|
347 | 347 | foreach ($this->getMe()->getWorkspaces() as $workspace) { |
348 | 348 | if ($workspace->getName() === $name) { |
349 | 349 | return $workspace; |
@@ -356,16 +356,16 @@ discard block |
||
356 | 356 | * @param string $json |
357 | 357 | * @return null|array |
358 | 358 | */ |
359 | - protected function jsonDecode (string $json) { |
|
360 | - return json_decode($json, true, JSON_BIGINT_AS_STRING | JSON_THROW_ON_ERROR); |
|
359 | + protected function jsonDecode(string $json) { |
|
360 | + return json_decode($json, true, JSON_BIGINT_AS_STRING|JSON_THROW_ON_ERROR); |
|
361 | 361 | } |
362 | 362 | |
363 | 363 | /** |
364 | 364 | * @param array $data |
365 | 365 | * @return string |
366 | 366 | */ |
367 | - protected function jsonEncode (array $data): string { |
|
368 | - return json_encode($data, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR); |
|
367 | + protected function jsonEncode(array $data): string { |
|
368 | + return json_encode($data, JSON_PRETTY_PRINT|JSON_THROW_ON_ERROR); |
|
369 | 369 | } |
370 | 370 | |
371 | 371 | /** |
@@ -379,7 +379,7 @@ discard block |
||
379 | 379 | * @param array $query |
380 | 380 | * @return null|mixed|AbstractEntity |
381 | 381 | */ |
382 | - public function load (string $class, $caller, string $path, array $query = []) { |
|
382 | + public function load(string $class, $caller, string $path, array $query = []) { |
|
383 | 383 | $key = $this->getPath($path, $query); |
384 | 384 | return $this->getCache()->get($key, $caller, function($caller) use ($class, $path, $query) { |
385 | 385 | $data = $this->get($path, $query, ['expand' => 'this']); |
@@ -399,7 +399,7 @@ discard block |
||
399 | 399 | * @param int $pages If positive, stops after this many pages have been fetched. |
400 | 400 | * @return array|AbstractEntity[] |
401 | 401 | */ |
402 | - public function loadAll (string $class, $caller, string $path, array $query = [], int $pages = 0) { |
|
402 | + public function loadAll(string $class, $caller, string $path, array $query = [], int $pages = 0) { |
|
403 | 403 | $query['opt_expand'] = 'this'; |
404 | 404 | $query += ['limit' => 100]; |
405 | 405 | $path = $this->getPath($path, $query); |
@@ -425,7 +425,7 @@ discard block |
||
425 | 425 | * @param array $options |
426 | 426 | * @return null|array |
427 | 427 | */ |
428 | - public function post (string $path, array $data = [], array $options = []) { |
|
428 | + public function post(string $path, array $data = [], array $options = []) { |
|
429 | 429 | $response = $this->exec('POST', $path, [ |
430 | 430 | CURLOPT_HTTPHEADER => ['Content-Type: application/json'], |
431 | 431 | CURLOPT_POSTFIELDS => $this->jsonEncode(['options' => $options, 'data' => $data]) |
@@ -441,7 +441,7 @@ discard block |
||
441 | 441 | * @param array $options |
442 | 442 | * @return null|array |
443 | 443 | */ |
444 | - public function put (string $path, array $data = [], array $options = []) { |
|
444 | + public function put(string $path, array $data = [], array $options = []) { |
|
445 | 445 | $response = $this->exec('PUT', $path, [ |
446 | 446 | CURLOPT_HTTPHEADER => ['Content-Type: application/json'], |
447 | 447 | CURLOPT_POSTFIELDS => $this->jsonEncode(['options' => $options, 'data' => $data]) |
@@ -460,7 +460,7 @@ discard block |
||
460 | 460 | * @param null|string $token |
461 | 461 | * @return ProjectEvent[]|TaskEvent[]|StoryEvent[] |
462 | 462 | */ |
463 | - public function sync ($entity, ?string &$token) { |
|
463 | + public function sync($entity, ?string &$token) { |
|
464 | 464 | try { |
465 | 465 | $response = $this->exec('GET', $this->getPath('events', [ |
466 | 466 | 'resource' => $entity->getGid(), |
@@ -495,7 +495,7 @@ discard block |
||
495 | 495 | * @param string $file |
496 | 496 | * @return null|array |
497 | 497 | */ |
498 | - public function upload (string $path, string $file) { |
|
498 | + public function upload(string $path, string $file) { |
|
499 | 499 | $response = $this->exec('POST', $path, [ |
500 | 500 | CURLOPT_POSTFIELDS => ['file' => new CURLFile(realpath($file))] // multipart/form-data |
501 | 501 | ]); |