Completed
Push — develop ( b6cb2c...9ca58c )
by Jens
15:17 queued 07:08
created

ZoneRequestBuilder   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Test Coverage

Coverage 88.24%

Importance

Changes 0
Metric Value
wmc 6
eloc 12
dl 0
loc 64
ccs 15
cts 17
cp 0.8824
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getById() 0 4 1
A delete() 0 4 1
A query() 0 4 1
A update() 0 4 1
A of() 0 3 1
A create() 0 4 1
1
<?php
2
// phpcs:disable Generic.Files.LineLength
3
namespace Commercetools\Core\Builder\Request;
4
5
use Commercetools\Core\Request\Zones\ZoneByIdGetRequest;
6
use Commercetools\Core\Request\Zones\ZoneCreateRequest;
7
use Commercetools\Core\Model\Zone\ZoneDraft;
8
use Commercetools\Core\Request\Zones\ZoneDeleteRequest;
9
use Commercetools\Core\Model\Zone\Zone;
10
use Commercetools\Core\Request\Zones\ZoneQueryRequest;
11
use Commercetools\Core\Request\Zones\ZoneUpdateRequest;
12
13
class ZoneRequestBuilder
14
{
15
16
    /**
17
     * @link https://docs.commercetools.com/http-api-projects-zones.html#get-zone-by-id
18
     * @param string $id
19
     * @return ZoneByIdGetRequest
20
     */
21 1
    public function getById($id)
22
    {
23 1
        $request = ZoneByIdGetRequest::ofId($id);
24 1
        return $request;
25
    }
26
27
    /**
28
     * @link https://docs.commercetools.com/http-api-projects-zones.html#create-zone
29
     * @param ZoneDraft $zone
30
     * @return ZoneCreateRequest
31
     */
32 1
    public function create(ZoneDraft $zone)
33
    {
34 1
        $request = ZoneCreateRequest::ofDraft($zone);
35 1
        return $request;
36
    }
37
38
    /**
39
     * @link https://docs.commercetools.com/http-api-projects-zones.html#delete-zone
40
     * @param Zone $zone
41
     * @return ZoneDeleteRequest
42
     */
43 1
    public function delete(Zone $zone)
44
    {
45 1
        $request = ZoneDeleteRequest::ofIdAndVersion($zone->getId(), $zone->getVersion());
46 1
        return $request;
47
    }
48
49
    /**
50
     * @link https://docs.commercetools.com/http-api-projects-zones.html#query-zones
51
     *
52
     * @return ZoneQueryRequest
53
     */
54 1
    public function query()
55
    {
56 1
        $request = ZoneQueryRequest::of();
57 1
        return $request;
58
    }
59
60
    /**
61
     * @link https://docs.commercetools.com/http-api-projects-zones.html#update-zone
62
     * @param Zone $zone
63
     * @return ZoneUpdateRequest
64
     */
65 1
    public function update(Zone $zone)
66
    {
67 1
        $request = ZoneUpdateRequest::ofIdAndVersion($zone->getId(), $zone->getVersion());
68 1
        return $request;
69
    }
70
71
    /**
72
     * @return ZoneRequestBuilder
73
     */
74
    public function of()
75
    {
76
        return new self();
77
    }
78
}
79