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

MeRequestBuilder   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 110
Duplicated Lines 0 %

Test Coverage

Coverage 6.9%

Importance

Changes 0
Metric Value
wmc 11
eloc 19
c 0
b 0
f 0
dl 0
loc 110
ccs 2
cts 29
cp 0.069
rs 10

11 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 3 1
A orders() 0 3 1
A carts() 0 3 1
A confirmEmail() 0 3 1
A delete() 0 3 1
A signUp() 0 3 1
A update() 0 3 1
A login() 0 7 1
A changePassword() 0 6 1
A resetPassword() 0 3 1
A shoppingLists() 0 3 1
1
<?php
2
/**
3
 * @author @jenschude <[email protected]>
4
 */
5
6
namespace Commercetools\Core\Builder\Request;
7
8
use Commercetools\Core\Model\Customer\Customer;
9
use Commercetools\Core\Model\Customer\MyCustomerDraft;
10
use Commercetools\Core\Request\Me\MeDeleteRequest;
11
use Commercetools\Core\Request\Me\MeEmailConfirmRequest;
12
use Commercetools\Core\Request\Me\MeGetRequest;
13
use Commercetools\Core\Request\Me\MeLoginRequest;
14
use Commercetools\Core\Request\Me\MePasswordChangeRequest;
15
use Commercetools\Core\Request\Me\MePasswordResetRequest;
16
use Commercetools\Core\Request\Me\MeSignupRequest;
17
use Commercetools\Core\Request\Me\MeUpdateRequest;
18
19
class MeRequestBuilder
20
{
21
    /**
22
     * @return MeGetRequest
23
     */
24
    public function get()
25
    {
26
        return MeGetRequest::of();
27
    }
28
29
    /**
30
     * @param Customer $customer
31
     * @return MeDeleteRequest
32
     */
33
    public function delete(Customer $customer)
34
    {
35
        return MeDeleteRequest::ofVersion($customer->getVersion());
36
    }
37
38
    /**
39
     * @param Customer $customer
40
     * @return MeUpdateRequest
41
     */
42
    public function update(Customer $customer)
43
    {
44
        return MeUpdateRequest::ofVersion($customer->getVersion());
45
    }
46
47
    /**
48
     * @param MyCustomerDraft $myCustomerDraft
49
     * @return MeSignupRequest
50
     */
51
    public function signUp(MyCustomerDraft $myCustomerDraft)
52
    {
53
        return MeSignupRequest::ofCustomer($myCustomerDraft);
54
    }
55
56
    /**
57
     * @param $email
58
     * @param $password
59
     * @param bool $updateProductData
60
     * @param string $anonymousCartId
61
     * @return MeLoginRequest
62
     */
63
    public function login($email, $password, $updateProductData = false, $anonymousCartId = null)
64
    {
65
        return MeLoginRequest::ofEmailPasswordAndUpdateProductData(
66
            $email,
67
            $password,
68
            $updateProductData,
69
            $anonymousCartId
70
        );
71
    }
72
73
    /**
74
     * @param string $tokenValue
75
     * @return MeEmailConfirmRequest
76
     */
77
    public function confirmEmail($tokenValue)
78
    {
79
        return MeEmailConfirmRequest::ofToken($tokenValue);
80
    }
81
82
    /**
83
     * @return MeCartRequestBuilder
84
     */
85
    public function carts()
86
    {
87
        return new MeCartRequestBuilder();
88
    }
89
90
    /**
91
     * @return MeOrderRequestBuilder
92
     */
93
    public function orders()
94
    {
95
        return new MeOrderRequestBuilder();
96
    }
97
98
    /**
99
     * @return MeShoppingListRequestBuilder
100
     */
101 3
    public function shoppingLists()
102
    {
103 3
        return new MeShoppingListRequestBuilder();
104
    }
105
106
    /**
107
     * @param Customer $customer
108
     * @param string $currentPassword
109
     * @param string $newPassword
110
     * @return MePasswordChangeRequest
111
     */
112
    public function changePassword(Customer $customer, $currentPassword, $newPassword)
113
    {
114
        return MePasswordChangeRequest::ofVersionAndPasswords(
115
            $customer->getVersion(),
116
            $currentPassword,
117
            $newPassword
118
        );
119
    }
120
121
    /**
122
     * @param string $tokenValue
123
     * @param string $newPassword
124
     * @return MePasswordResetRequest
125
     */
126
    public function resetPassword($tokenValue, $newPassword)
127
    {
128
        return MePasswordResetRequest::ofTokenAndPassword($tokenValue, $newPassword);
129
    }
130
}
131