Passed
Push — develop ( ce160c...798982 )
by Barbara
18:04 queued 14s
created

OrderRequestBuilder::import()   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 0
Metric Value
eloc 2
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
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\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 4
    public function getById($id)
27
    {
28 4
        $request = OrderByIdGetRequest::ofId($id);
29 4
        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 2
    public function getByOrderNumber($orderNumber)
38
    {
39 2
        $request = OrderByOrderNumberGetRequest::ofOrderNumber($orderNumber);
40 2
        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 86
    public function createFromCart(Cart $cart)
49
    {
50 86
        $request = OrderCreateFromCartRequest::ofCartIdAndVersion($cart->getId(), $cart->getVersion());
51 86
        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 2
    public function deleteByOrderNumber(Order $order)
60
    {
61 2
        $request = OrderDeleteByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
62 2
        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 3
    public function delete(Order $order)
71
    {
72 3
        $request = OrderDeleteRequest::ofIdAndVersion($order->getId(), $order->getVersion());
73 3
        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 8
    public function import(ImportOrder $importOrder)
82
    {
83 8
        $request = OrderImportRequest::ofImportOrder($importOrder);
84 8
        return $request;
85
    }
86
87
    /**
88
     * @link https://docs.commercetools.com/http-api-projects-orders.html#query-orders
89
     *
90
     * @return OrderQueryRequest
91
     */
92 6
    public function query()
93
    {
94 6
        $request = OrderQueryRequest::of();
95 6
        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 2
    public function updateByOrderNumber(Order $order)
104
    {
105 2
        $request = OrderUpdateByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
106 2
        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 73
    public function update(Order $order)
115
    {
116 73
        $request = OrderUpdateRequest::ofIdAndVersion($order->getId(), $order->getVersion());
117 73
        return $request;
118
    }
119
120
    /**
121
     * @return OrderRequestBuilder
122
     */
123
    public function of()
124
    {
125
        return new self();
126
    }
127
}
128