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

OrderRequestBuilder::replicate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 3
c 0
b 0
f 0
ccs 0
cts 2
cp 0
rs 10
cc 1
eloc 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\Orders\OrderByIdGetRequest;
6
use Commercetools\Core\Request\Orders\OrderByOrderNumberGetRequest;
7
use Commercetools\Core\Request\Orders\OrderCreateFromCartRequest;
8
use Commercetools\Core\Model\Cart\Cart;
9
use Commercetools\Core\Request\Orders\OrderDeleteByOrderNumberRequest;
10
use Commercetools\Core\Model\Order\Order;
11
use Commercetools\Core\Request\Orders\OrderDeleteRequest;
12
use Commercetools\Core\Request\Orders\OrderImportRequest;
13
use Commercetools\Core\Model\Order\ImportOrder;
14
use Commercetools\Core\Request\Orders\OrderQueryRequest;
15
use Commercetools\Core\Request\Orders\OrderUpdateByOrderNumberRequest;
16
use Commercetools\Core\Request\Orders\OrderUpdateRequest;
17
18
class OrderRequestBuilder
19
{
20
21
    /**
22
     * @link https://docs.commercetools.com/http-api-projects-orders.html#get-order-by-id
23
     * @param string $id
24
     * @return OrderByIdGetRequest
25
     */
26 1
    public function getById($id)
27
    {
28 1
        $request = OrderByIdGetRequest::ofId($id);
29 1
        return $request;
30
    }
31
32
    /**
33
     * @link https://docs.commercetools.com/http-api-projects-orders.html#get-order-by-ordernumber
34
     * @param string $orderNumber
35
     * @return OrderByOrderNumberGetRequest
36
     */
37
    public function getByOrderNumber($orderNumber)
38
    {
39
        $request = OrderByOrderNumberGetRequest::ofOrderNumber($orderNumber);
40
        return $request;
41
    }
42
43
    /**
44
     * @link https://docs.commercetools.com/http-api-projects-orders.html#create-order-from-cart
45
     * @param Cart $cart
46
     * @return OrderCreateFromCartRequest
47
     */
48
    public function createFromCart(Cart $cart)
49
    {
50
        $request = OrderCreateFromCartRequest::ofCartIdAndVersion($cart->getId(), $cart->getVersion());
51
        return $request;
52
    }
53
54
    /**
55
     * @link https://docs.commercetools.com/http-api-projects-orders.html#delete-order-by-ordernumber
56
     * @param Order $order
57
     * @return OrderDeleteByOrderNumberRequest
58
     */
59
    public function deleteByOrderNumber(Order $order)
60
    {
61
        $request = OrderDeleteByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
62
        return $request;
63
    }
64
65
    /**
66
     * @link https://docs.commercetools.com/http-api-projects-orders.html#delete-order
67
     * @param Order $order
68
     * @return OrderDeleteRequest
69
     */
70 1
    public function delete(Order $order)
71
    {
72 1
        $request = OrderDeleteRequest::ofIdAndVersion($order->getId(), $order->getVersion());
73 1
        return $request;
74
    }
75
76
    /**
77
     * @link https://docs.commercetools.com/http-api-projects-orders-import.html#create-an-order-by-import
78
     * @param ImportOrder $importOrder
79
     * @return OrderImportRequest
80
     */
81
    public function import(ImportOrder $importOrder)
82
    {
83
        $request = OrderImportRequest::ofImportOrder($importOrder);
84
        return $request;
85
    }
86
87
    /**
88
     * @link https://docs.commercetools.com/http-api-projects-orders.html#query-orders
89
     *
90
     * @return OrderQueryRequest
91
     */
92 1
    public function query()
93
    {
94 1
        $request = OrderQueryRequest::of();
95 1
        return $request;
96
    }
97
98
    /**
99
     * @link https://docs.commercetools.com/http-api-projects-orders.html#update-order-by-ordernumber
100
     * @param Order $order
101
     * @return OrderUpdateByOrderNumberRequest
102
     */
103
    public function updateByOrderNumber(Order $order)
104
    {
105
        $request = OrderUpdateByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
106
        return $request;
107
    }
108
109
    /**
110
     * @link https://docs.commercetools.com/http-api-projects-orders.html#update-order
111
     * @param Order $order
112
     * @return OrderUpdateRequest
113
     */
114 1
    public function update(Order $order)
115
    {
116 1
        $request = OrderUpdateRequest::ofIdAndVersion($order->getId(), $order->getVersion());
117 1
        return $request;
118
    }
119
120
    /**
121
     * @return OrderRequestBuilder
122
     */
123
    public function of()
124
    {
125
        return new self();
126
    }
127
}
128