Passed
Push — master ( 18b32f...fa2b73 )
by Jens
08:15
created

CartDiscountRequestBuilder   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 query() 0 4 1
A of() 0 3 1
A delete() 0 4 1
A update() 0 4 1
A getById() 0 4 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\CartDiscounts\CartDiscountByIdGetRequest;
6
use Commercetools\Core\Request\CartDiscounts\CartDiscountCreateRequest;
7
use Commercetools\Core\Model\CartDiscount\CartDiscountDraft;
8
use Commercetools\Core\Request\CartDiscounts\CartDiscountDeleteRequest;
9
use Commercetools\Core\Model\CartDiscount\CartDiscount;
10
use Commercetools\Core\Request\CartDiscounts\CartDiscountQueryRequest;
11
use Commercetools\Core\Request\CartDiscounts\CartDiscountUpdateRequest;
12
13
class CartDiscountRequestBuilder
14
{
15
16
    /**
17
     * @link https://docs.commercetools.com/http-api-projects-cartDiscounts.html#get-cartdiscount-by-id
18
     * @param string $id
19
     * @return CartDiscountByIdGetRequest
20
     */
21 1
    public function getById($id)
22
    {
23 1
        $request = CartDiscountByIdGetRequest::ofId($id);
24 1
        return $request;
25
    }
26
27
    /**
28
     * @link https://docs.commercetools.com/http-api-projects-cartDiscounts.html#create-a-cartdiscount
29
     * @param CartDiscountDraft $cartDiscountDraft
30
     * @return CartDiscountCreateRequest
31
     */
32 1
    public function create(CartDiscountDraft $cartDiscountDraft)
33
    {
34 1
        $request = CartDiscountCreateRequest::ofDraft($cartDiscountDraft);
35 1
        return $request;
36
    }
37
38
    /**
39
     * @link https://docs.commercetools.com/http-api-projects-cartDiscounts.html#delete-cartdiscount
40
     * @param CartDiscount $cartDiscount
41
     * @return CartDiscountDeleteRequest
42
     */
43 1
    public function delete(CartDiscount $cartDiscount)
44
    {
45 1
        $request = CartDiscountDeleteRequest::ofIdAndVersion($cartDiscount->getId(), $cartDiscount->getVersion());
46 1
        return $request;
47
    }
48
49
    /**
50
     * @link https://docs.commercetools.com/http-api-projects-cartDiscounts.html#query-cartdiscounts
51
     *
52
     * @return CartDiscountQueryRequest
53
     */
54 1
    public function query()
55
    {
56 1
        $request = CartDiscountQueryRequest::of();
57 1
        return $request;
58
    }
59
60
    /**
61
     * @link https://docs.commercetools.com/http-api-projects-cartDiscounts.html#update-cartdiscount
62
     * @param CartDiscount $cartDiscount
63
     * @return CartDiscountUpdateRequest
64
     */
65 1
    public function update(CartDiscount $cartDiscount)
66
    {
67 1
        $request = CartDiscountUpdateRequest::ofIdAndVersion($cartDiscount->getId(), $cartDiscount->getVersion());
68 1
        return $request;
69
    }
70
71
    /**
72
     * @return CartDiscountRequestBuilder
73
     */
74
    public function of()
75
    {
76
        return new self();
77
    }
78
}
79