Passed
Push — main ( 0b6967...cc8184 )
by Dylan
02:05
created

Addresses::delete()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Lifeboat\Services;
4
5
use Lifeboat\Exceptions\ApiException;
6
use Lifeboat\Exceptions\OAuthException;
7
use Lifeboat\Models\Address;
8
use Lifeboat\Resource\ListResource;
9
10
/**
11
 * Class Addresses
12
 * @package Lifeboat\Services
13
 */
14
class Addresses extends ApiService {
15
16
    /**
17
     * @param int $id
18
     * @return Address|null
19
     * @throws ApiException
20
     * @throws OAuthException
21
     */
22
    public function fetch(int $id): ?Address
23
    {
24
        /** @var Address|null $address */
25
        $address = $this->_get('api/addresses/address' . $id);
26
        return $address;
27
    }
28
29
    /**
30
     * @param array $data
31
     * @return Address|null
32
     * @throws ApiException
33
     * @throws OAuthException
34
     */
35
    public function create(array $data): ?Address
36
    {
37
        /** @var Address|null $address */
38
        $address = $this->_post('api/addresses/address', $data);
39
        return $address;
40
    }
41
42
    /**
43
     * @param int $id
44
     * @param array $data
45
     * @return Address|null
46
     * @throws ApiException
47
     * @throws OAuthException
48
     */
49
    public function update(int $id, array $data): ?Address
50
    {
51
        /** @var Address|null $address */
52
        $address = $this->_post('api/addresses/address/' . $id, $data);
53
        return $address;
54
    }
55
56
    /**
57
     * @param string $search
58
     * @return ListResource
59
     */
60
    public function all(string $search = ''): ListResource {
61
        return new ListResource($this->getClient(), 'api/addresses/all', ['search' => $search], 20);
62
    }
63
}
64