Test Failed
Push — develop ( 99d0ad...a91eee )
by Jens
47:28 queued 25:36
created

CartRequestBuilder::updateByKey()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
ccs 0
cts 0
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
// phpcs:disable Generic.Files.LineLength
3
namespace Commercetools\Core\Builder\Request;
4
5
use Commercetools\Core\Request\Carts\CartByCustomerIdGetRequest;
6
use Commercetools\Core\Request\Carts\CartByIdGetRequest;
7
use Commercetools\Core\Request\Carts\CartByKeyGetRequest;
8
use Commercetools\Core\Request\Carts\CartCreateRequest;
9
use Commercetools\Core\Model\Cart\CartDraft;
10
use Commercetools\Core\Request\Carts\CartDeleteByKeyRequest;
11
use Commercetools\Core\Model\Cart\Cart;
12
use Commercetools\Core\Request\Carts\CartDeleteRequest;
13
use Commercetools\Core\Request\Carts\CartQueryRequest;
14
use Commercetools\Core\Request\Carts\CartReplicateRequest;
15
use Commercetools\Core\Request\Carts\CartUpdateByKeyRequest;
16
use Commercetools\Core\Request\Carts\CartUpdateRequest;
17
18
class CartRequestBuilder
19
{
20
21
    /**
22
     * @link https://docs.commercetools.com/http-api-projects-carts.html#get-cart-by-customer-id
23 1
     * @param string $customerId
24
     * @return CartByCustomerIdGetRequest
25 1
     */
26 1
    public function getByCustomerId($customerId)
27
    {
28
        $request = CartByCustomerIdGetRequest::ofCustomerId($customerId);
29
        return $request;
30
    }
31
32
    /**
33
     * @link https://docs.commercetools.com/http-api-projects-carts.html#get-cart-by-id
34 8
     * @param string $id
35
     * @return CartByIdGetRequest
36 8
     */
37 8
    public function getById($id)
38
    {
39
        $request = CartByIdGetRequest::ofId($id);
40
        return $request;
41
    }
42
43
    /**
44
     * @link https://docs.commercetools.com/api/projects/carts#get-a-cart-by-key
45 2
     * @param string $key
46
     * @return CartByKeyGetRequest
47 2
     */
48 2
    public function getByKey($key)
49
    {
50
        $request = CartByKeyGetRequest::ofKey($key);
51
        return $request;
52
    }
53
54
    /**
55
     * @link https://docs.commercetools.com/http-api-projects-carts.html#create-cart
56 3
     * @param CartDraft $cartDraft
57
     * @return CartCreateRequest
58 3
     */
59 3
    public function create(CartDraft $cartDraft)
60
    {
61
        $request = CartCreateRequest::ofDraft($cartDraft);
62
        return $request;
63
    }
64
65
    /**
66
     * @link https://docs.commercetools.com/api/projects/carts#delete-a-cart-by-key
67 5
     * @param Cart $cart
68
     * @return CartDeleteByKeyRequest
69 5
     */
70 5
    public function deleteByKey(Cart $cart)
71
    {
72
        $request = CartDeleteByKeyRequest::ofKeyAndVersion($cart->getKey(), $cart->getVersion());
73
        return $request;
74
    }
75
76
    /**
77
     * @link https://docs.commercetools.com/http-api-projects-carts.html#delete-cart
78 1
     * @param Cart $cart
79
     * @return CartDeleteRequest
80 1
     */
81 1
    public function delete(Cart $cart)
82
    {
83
        $request = CartDeleteRequest::ofIdAndVersion($cart->getId(), $cart->getVersion());
84
        return $request;
85
    }
86
87
    /**
88
     * @link https://docs.commercetools.com/http-api-projects-carts.html#query-carts
89 88
     *
90
     * @return CartQueryRequest
91 88
     */
92 88
    public function query()
93
    {
94
        $request = CartQueryRequest::of();
95
        return $request;
96
    }
97
98
    /**
99
     * @link https://docs.commercetools.com/http-api-projects-carts.html#replicate-existing-cart-or-order-to-a-new-cart
100
     * @param string $cartId
101
     * @return CartReplicateRequest
102
     */
103
    public function replicate($cartId)
104
    {
105
        $request = CartReplicateRequest::ofCartId($cartId);
106
        return $request;
107
    }
108
109
    /**
110
     * @link https://docs.commercetools.com/api/projects/carts#update-a-cart-by-key
111
     * @param Cart $cart
112
     * @return CartUpdateByKeyRequest
113
     */
114
    public function updateByKey(Cart $cart)
115
    {
116
        $request = CartUpdateByKeyRequest::ofKeyAndVersion($cart->getKey(), $cart->getVersion());
117
        return $request;
118
    }
119
120
    /**
121
     * @link https://docs.commercetools.com/http-api-projects-carts.html#update-cart
122
     * @param Cart $cart
123
     * @return CartUpdateRequest
124
     */
125
    public function update(Cart $cart)
126
    {
127
        $request = CartUpdateRequest::ofIdAndVersion($cart->getId(), $cart->getVersion());
128
        return $request;
129
    }
130
131
    /**
132
     * @return CartRequestBuilder
133
     */
134
    public function of()
135
    {
136
        return new self();
137
    }
138
}
139