Passed
Push — feature/ECO-808-scrutinizer ( 2323d6...94a2f0 )
by Andrey
02:58
created

AdapterFactory::createCancelPreOrderAdapter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Apache OSL-2
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\Amazonpay\Business\Api\Adapter;
9
10
use SprykerEco\Shared\Amazonpay\AmazonpayConfigInterface;
11
use SprykerEco\Zed\Amazonpay\Business\Api\Adapter\Sdk\AmazonpaySdkAdapterFactory;
12
use SprykerEco\Zed\Amazonpay\Business\Api\Converter\ConverterFactoryInterface;
13
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToMoneyInterface;
14
15
class AdapterFactory implements AdapterFactoryInterface
16
{
17
18
    /**
19
     * @var \SprykerEco\Shared\Amazonpay\AmazonpayConfigInterface
20
     */
21
    protected $config;
22
23
    /**
24
     * @var \SprykerEco\Zed\Amazonpay\Business\Api\Converter\ConverterFactoryInterface
25
     */
26
    protected $converterFactory;
27
28
    /**
29
     * @var \SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToMoneyInterface
30
     */
31
    protected $moneyFacade;
32
33
    /**
34
     * @param \SprykerEco\Shared\Amazonpay\AmazonpayConfigInterface $config
35
     * @param \SprykerEco\Zed\Amazonpay\Business\Api\Converter\ConverterFactoryInterface $converterFactory
36
     * @param \SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToMoneyInterface $moneyFacade
37
     */
38
    public function __construct(
39
        AmazonpayConfigInterface $config,
40
        ConverterFactoryInterface $converterFactory,
41
        AmazonpayToMoneyInterface $moneyFacade
42
    ) {
43
        $this->config = $config;
44
        $this->converterFactory = $converterFactory;
45
        $this->moneyFacade = $moneyFacade;
46
    }
47
48
    /**
49
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
50
     */
51
    public function createObtainProfileInformationAdapter()
52
    {
53
        return new ObtainProfileInformationAdapter(
54
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
55
            $this->converterFactory->createObtainProfileInformationConverter()
56
        );
57
    }
58
59
    /**
60
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
61
     */
62
    public function createSetOrderReferenceDetailsAmazonpayAdapter()
63
    {
64
        return new SetOrderReferenceDetailsAdapter(
65
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
66
            $this->converterFactory->createSetOrderReferenceDetailsConverter(),
67
            $this->moneyFacade
68
        );
69
    }
70
71
    /**
72
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
73
     */
74
    public function createConfirmOrderReferenceAmazonpayAdapter()
75
    {
76
        return new ConfirmQuoteReferenceAdapter(
77
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
78
            $this->converterFactory->createConfirmOrderReferenceConverter(),
79
            $this->moneyFacade
80
        );
81
    }
82
83
    /**
84
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
85
     */
86
    public function createGetOrderReferenceDetailsAmazonpayAdapter()
87
    {
88
        return new GetOrderReferenceDetailsAdapter(
89
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
90
            $this->converterFactory->createGetOrderReferenceDetailsConverter(),
91
            $this->moneyFacade
92
        );
93
    }
94
95
    /**
96
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
97
     */
98
    public function createAuthorizeAdapter()
99
    {
100
        return new AuthorizeAdapter(
101
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
102
            $this->converterFactory->createAuthorizeOrderConverter(),
103
            $this->moneyFacade,
104
            $this->config
105
        );
106
    }
107
108
    /**
109
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
110
     */
111
    public function createAuthorizeCaptureNowAdapter()
112
    {
113
        return new AuthorizeAdapter(
114
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
115
            $this->converterFactory->createAuthorizeOrderConverter(),
116
            $this->moneyFacade,
117
            $this->config,
118
            true
119
        );
120
    }
121
122
    /**
123
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
124
     */
125
    public function createCaptureOrderAdapter()
126
    {
127
        return new CaptureOrderAdapter(
128
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
129
            $this->converterFactory->createCaptureOrderConverter(),
130
            $this->moneyFacade,
131
            $this->config
0 ignored issues
show
Unused Code introduced by
The call to SprykerEco\Zed\Amazonpay...rAdapter::__construct() has too many arguments starting with $this->config. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

131
        return /** @scrutinizer ignore-call */ new CaptureOrderAdapter(

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
132
        );
133
    }
134
135
    /**
136
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
137
     */
138
    public function createCloseOrderAdapter()
139
    {
140
        return new CloseOrderAdapter(
141
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
142
            $this->converterFactory->createCloseOrderConverter(),
143
            $this->moneyFacade
144
        );
145
    }
146
147
    /**
148
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
149
     */
150
    public function createCancelOrderAdapter()
151
    {
152
        return new CancelOrderAdapter(
153
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
154
            $this->converterFactory->createCancelOrderConverter(),
155
            $this->moneyFacade
156
        );
157
    }
158
159
    /**
160
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
161
     */
162
    public function createRefundOrderAdapter()
163
    {
164
        return new RefundOrderAdapter(
165
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
166
            $this->converterFactory->createRefundOrderConverter(),
167
            $this->moneyFacade
168
        );
169
    }
170
171
    /**
172
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
173
     */
174
    public function createGetOrderAuthorizationDetailsAdapter()
175
    {
176
        return new GetOrderAuthorizationDetailsAdapter(
177
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
178
            $this->converterFactory->createGetAuthorizationDetailsOrderConverter(),
179
            $this->moneyFacade
180
        );
181
    }
182
183
    /**
184
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
185
     */
186
    public function createGetOrderCaptureDetailsAdapter()
187
    {
188
        return new GetOrderCaptureDetailsAdapter(
189
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
190
            $this->converterFactory->createGetCaptureOrderDetailsConverter(),
191
            $this->moneyFacade
192
        );
193
    }
194
195
    /**
196
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\CallAdapterInterface
197
     */
198
    public function createGetOrderRefundDetailsAdapter()
199
    {
200
        return new GetOrderRefundDetailsAdapter(
201
            $this->createSdkAdapterFactory()->createAmazonpayClient($this->config),
202
            $this->converterFactory->createGetRefundOrderConverter(),
203
            $this->moneyFacade
204
        );
205
    }
206
207
    /**
208
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\Sdk\AmazonpaySdkAdapterFactoryInterface
209
     */
210
    protected function createSdkAdapterFactory()
211
    {
212
        return new AmazonpaySdkAdapterFactory();
213
    }
214
215
    /**
216
     * @param array $headers
217
     * @param string $body
218
     *
219
     * @return \SprykerEco\Zed\Amazonpay\Business\Api\Adapter\IpnRequestAdapterInterface
220
     */
221
    public function createIpnRequestAdapter(array $headers, $body)
222
    {
223
        return new IpnRequestAdapter(
224
            $this->createSdkAdapterFactory()->createAmazonpayIpnHandler($headers, $body),
225
            $this->converterFactory->createIpnArrayConverter()
226
        );
227
    }
228
229
}
230