Passed
Push — develop ( f9a3d1...4c1309 )
by Jens
12:56 queued 14s
created

CartRequestBuilder::update()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 2
c 1
b 0
f 1
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
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\CartCreateRequest;
8
use Commercetools\Core\Model\Cart\CartDraft;
9
use Commercetools\Core\Request\Carts\CartDeleteRequest;
10
use Commercetools\Core\Model\Cart\Cart;
11
use Commercetools\Core\Request\Carts\CartQueryRequest;
12
use Commercetools\Core\Request\Carts\CartReplicateRequest;
13
use Commercetools\Core\Request\Carts\CartUpdateRequest;
14
15
class CartRequestBuilder
16
{
17
18
    /**
19
     * @link https://docs.commercetools.com/http-api-projects-carts.html#get-cart-by-customer-id
20
     * @param string $customerId
21
     * @return CartByCustomerIdGetRequest
22
     */
23 1
    public function getByCustomerId($customerId)
24
    {
25 1
        $request = CartByCustomerIdGetRequest::ofCustomerId($customerId);
26 1
        return $request;
27
    }
28
29
    /**
30
     * @link https://docs.commercetools.com/http-api-projects-carts.html#get-cart-by-id
31
     * @param string $id
32
     * @return CartByIdGetRequest
33
     */
34 6
    public function getById($id)
35
    {
36 6
        $request = CartByIdGetRequest::ofId($id);
37 6
        return $request;
38
    }
39
40
    /**
41
     * @link https://docs.commercetools.com/http-api-projects-carts.html#create-cart
42
     * @param CartDraft $cartDraft
43
     * @return CartCreateRequest
44
     */
45 2
    public function create(CartDraft $cartDraft)
46
    {
47 2
        $request = CartCreateRequest::ofDraft($cartDraft);
48 2
        return $request;
49
    }
50
51
    /**
52
     * @link https://docs.commercetools.com/http-api-projects-carts.html#delete-cart
53
     * @param Cart $cart
54
     * @return CartDeleteRequest
55
     */
56 3
    public function delete(Cart $cart)
57
    {
58 3
        $request = CartDeleteRequest::ofIdAndVersion($cart->getId(), $cart->getVersion());
59 3
        return $request;
60
    }
61
62
    /**
63
     * @link https://docs.commercetools.com/http-api-projects-carts.html#query-carts
64
     *
65
     * @return CartQueryRequest
66
     */
67 5
    public function query()
68
    {
69 5
        $request = CartQueryRequest::of();
70 5
        return $request;
71
    }
72
73
    /**
74
     * @link https://docs.commercetools.com/http-api-projects-carts.html#replicate-existing-cart-or-order-to-a-new-cart
75
     * @param string $cartId
76
     * @return CartReplicateRequest
77
     */
78 1
    public function replicate($cartId)
79
    {
80 1
        $request = CartReplicateRequest::ofCartId($cartId);
81 1
        return $request;
82
    }
83
84
    /**
85
     * @link https://docs.commercetools.com/http-api-projects-carts.html#update-cart
86
     * @param Cart $cart
87
     * @return CartUpdateRequest
88
     */
89 84
    public function update(Cart $cart)
90
    {
91 84
        $request = CartUpdateRequest::ofIdAndVersion($cart->getId(), $cart->getVersion());
92 84
        return $request;
93
    }
94
95
    /**
96
     * @return CartRequestBuilder
97
     */
98
    public function of()
99
    {
100
        return new self();
101
    }
102
}
103