AddressManager::count()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
/*
4
 * This file is part of the slince/shopify-api-php
5
 *
6
 * (c) Slince <[email protected]>
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace Slince\Shopify\Manager\CustomerAddress;
13
14
use Slince\Shopify\Common\Manager\NestCrudable;
15
16
class AddressManager extends NestCrudable implements AddressManagerInterface
17
{
18
    /**
19
     * {@inheritdoc}
20
     */
21
    public static function getServiceName()
22
    {
23
        return 'customer_addresses';
24
    }
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public function getResourceName()
30
    {
31
        return 'address';
32
    }
33
34
    /**
35
     * {@inheritdoc}
36
     */
37
    public function getParentResourceName()
38
    {
39
        return 'customer';
40
    }
41
42
    /**
43
     * {@inheritdoc}
44
     */
45
    public function getModelClass()
46
    {
47
        return Address::class;
48
    }
49
50
    /**
51
     * {@inheritdoc}
52
     */
53
    public function bulkSet($customerId, array $ids, $operation)
54
    {
55
        $resource = 'customers/'.$customerId.'/addresses/set';
56
        $query = [
57
            'address_ids' => $ids,
58
            'operation' => $operation,
59
        ];
60
        $this->client->put($resource, [], $query);
61
    }
62
63
    /**
64
     * {@inheritdoc}
65
     */
66
    public function setDefault($customerId, $id)
67
    {
68
        $data = $this->client->put('customers/'.$customerId.'/addresses/'.$id.'/default', []);
69
70
        return $this->fromArray($data['customer_address']);
71
    }
72
73
    /**
74
     * {@inheritdoc}
75
     */
76
    public function count($customerId, array $query = [])
77
    {
78
        throw new \Exception('The action is not supported');
79
    }
80
}