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

ExtensionRequestBuilder::deleteByKey()   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 3
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\Extensions\ExtensionByIdGetRequest;
6
use Commercetools\Core\Request\Extensions\ExtensionByKeyGetRequest;
7
use Commercetools\Core\Request\Extensions\ExtensionCreateRequest;
8
use Commercetools\Core\Model\Extension\ExtensionDraft;
9
use Commercetools\Core\Request\Extensions\ExtensionDeleteByKeyRequest;
10
use Commercetools\Core\Model\Extension\Extension;
11
use Commercetools\Core\Request\Extensions\ExtensionDeleteRequest;
12
use Commercetools\Core\Request\Extensions\ExtensionQueryRequest;
13
use Commercetools\Core\Request\Extensions\ExtensionUpdateByKeyRequest;
14
use Commercetools\Core\Request\Extensions\ExtensionUpdateRequest;
15
16
class ExtensionRequestBuilder
17
{
18
19
    /**
20
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#get-an-extension-by-id
21
     * @param string $id
22
     * @return ExtensionByIdGetRequest
23
     */
24
    public function getById($id)
25
    {
26
        $request = ExtensionByIdGetRequest::ofId($id);
27
        return $request;
28
    }
29
30
    /**
31
     *
32
     * @param string $key
33
     * @return ExtensionByKeyGetRequest
34
     */
35
    public function getByKey($key)
36
    {
37
        $request = ExtensionByKeyGetRequest::ofKey($key);
38
        return $request;
39
    }
40
41
    /**
42
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#create-an-extension
43
     * @param ExtensionDraft $extension
44
     * @return ExtensionCreateRequest
45
     */
46
    public function create(ExtensionDraft $extension)
47
    {
48
        $request = ExtensionCreateRequest::ofDraft($extension);
49
        return $request;
50
    }
51
52
    /**
53
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#delete-extension-by-key
54
     * @param Extension $extension
55
     * @return ExtensionDeleteByKeyRequest
56
     */
57
    public function deleteByKey(Extension $extension)
58
    {
59
        $request = ExtensionDeleteByKeyRequest::ofKeyAndVersion($extension->getKey(), $extension->getVersion());
60
        return $request;
61
    }
62
63
    /**
64
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#delete-extension-by-id
65
     * @param Extension $extension
66
     * @return ExtensionDeleteRequest
67
     */
68
    public function delete(Extension $extension)
69
    {
70
        $request = ExtensionDeleteRequest::ofIdAndVersion($extension->getId(), $extension->getVersion());
71
        return $request;
72
    }
73
74
    /**
75
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#query-extensions
76
     *
77
     * @return ExtensionQueryRequest
78
     */
79
    public function query()
80
    {
81
        $request = ExtensionQueryRequest::of();
82
        return $request;
83
    }
84
85
    /**
86
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#update-extension-by-key
87
     * @param Extension $extension
88
     * @return ExtensionUpdateByKeyRequest
89
     */
90 1
    public function updateByKey(Extension $extension)
91
    {
92 1
        $request = ExtensionUpdateByKeyRequest::ofKeyAndVersion($extension->getKey(), $extension->getVersion());
93 1
        return $request;
94
    }
95
96
    /**
97
     * @link https://docs.commercetools.com/http-api-projects-api-extensions.html#update-extension-by-id
98
     * @param Extension $extension
99
     * @return ExtensionUpdateRequest
100
     */
101 3
    public function update(Extension $extension)
102
    {
103 3
        $request = ExtensionUpdateRequest::ofIdAndVersion($extension->getId(), $extension->getVersion());
104 3
        return $request;
105
    }
106
107
    /**
108
     * @return ExtensionRequestBuilder
109
     */
110
    public function of()
111
    {
112
        return new self();
113
    }
114
}
115