Completed
Push — master ( 6d4901...0b42c8 )
by Ryan
01:44
created

Tickets::getById()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace SevenShores\Hubspot\Resources;
4
5
class Tickets extends Resource
6
{
7
    /**
8
     * @param array $ticket Array of deal properties.
9
     *
10
     * @throws \SevenShores\Hubspot\Exceptions\BadRequest
11
     *
12
     * @return mixed
13
     */
14
    public function create(array $ticket)
15
    {
16
        $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/tickets';
17
18
        $options['json'] = $ticket;
0 ignored issues
show
Coding Style Comprehensibility introduced by
$options was never initialized. Although not strictly required by PHP, it is generally a good practice to add $options = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
19
20
        return $this->client->request('post', $endpoint, $options);
21
    }
22
23
    /**
24
     * @param int   $id     The deal id.
25
     * @param array $ticket The deal properties to update.
26
     *
27
     * @return mixed
28
     */
29
    public function update($id, array $ticket)
30
    {
31
        $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/tickets/{$id}";
32
33
        $options['json'] = $ticket;
0 ignored issues
show
Coding Style Comprehensibility introduced by
$options was never initialized. Although not strictly required by PHP, it is generally a good practice to add $options = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
34
35
        return $this->client->request('put', $endpoint, $options);
36
    }
37
38
    /**
39
     * @param array $params
40
     *
41
     * @throws \SevenShores\Hubspot\Exceptions\BadRequest
42
     *
43
     * @return \Psr\Http\Message\ResponseInterface|\SevenShores\Hubspot\Http\Response
44
     */
45 View Code Duplication
    public function getAll(array $params = [])
46
    {
47
        $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/tickets/paged';
48
49
        $queryString = build_query_string($params);
50
51
        return $this->client->request('get', $endpoint, [], $queryString);
52
    }
53
54
    /**
55
     * @param int $id
56
     *
57
     * @return mixed
58
     */
59
    public function delete($id)
60
    {
61
        $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/tickets/{$id}";
62
63
        return $this->client->request('delete', $endpoint);
64
    }
65
66
    /**
67
     * @param int $id
68
     *
69
     * @return mixed
70
     */
71
    public function getById($id)
72
    {
73
        $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/tickets/{$id}";
74
75
        return $this->client->request('get', $endpoint);
76
    }
77
78
    /**
79
     * @param array $params Optional parameters ['timestamp', 'changeType', 'objectId']
80
     *
81
     * @return mixed
82
     */
83 View Code Duplication
    public function getChangelog(array $params = [])
84
    {
85
        $endpoint = 'https://api.hubapi.com/crm-objects/v1/change-log/tickets';
86
        $queryString = build_query_string($params);
87
88
        return $this->client->request('get', $endpoint, [], $queryString);
89
    }
90
}
91