Passed
Pull Request — master (#45)
by
unknown
03:36
created

ExpressCheckoutController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 18
c 1
b 0
f 0
dl 0
loc 59
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A placeOrderPayPalExpressAction() 0 7 1
A preparePayPalExpressAction() 0 10 1
A completeOrderPayPalExpressAction() 0 8 1
1
<?php
2
3
/**
4
 * MIT License
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Yves\Computop\Controller;
9
10
use Spryker\Yves\Kernel\Controller\AbstractController;
11
use Symfony\Component\HttpFoundation\JsonResponse;
12
use Symfony\Component\HttpFoundation\RedirectResponse;
13
use Symfony\Component\HttpFoundation\Request;
14
15
/**
16
 * @method \SprykerEco\Yves\Computop\ComputopFactory getFactory()
17
 * @method \SprykerEco\Client\Computop\ComputopClientInterface getClient()
18
 */
19
class ExpressCheckoutController extends AbstractController
20
{
21
    /**
22
     * @uses \SprykerShop\Yves\CheckoutPage\Plugin\Router\CheckoutPageRouteProviderPlugin::ROUTE_NAME_CHECKOUT_PLACE_ORDER
23
     *
24
     * @var string
25
     */
26
    protected const ROUTE_NAME_CHECKOUT_PLACE_ORDER = 'checkout-place-order';
27
28
    /**
29
     * @uses \SprykerShop\Yves\CheckoutPage\Plugin\Router\CheckoutPageRouteProviderPlugin::ROUTE_NAME_CHECKOUT_SUCCESS
30
     *
31
     * @var string
32
     */
33
    protected const ROUTE_NAME_CHECKOUT_SUCCESS = 'checkout-success';
34
35
    /**
36
     * @return \Symfony\Component\HttpFoundation\JsonResponse
37
     */
38
    public function preparePayPalExpressAction(): JsonResponse
39
    {
40
        $quoteTransfer = $this->getFactory()->getQuoteClient()->getQuote();
41
        $computopPayPalExpressPrepareAggregator = $this->getFactory()->createComputopPayPalExpressPrepareAggregator();
42
        $computopApiPayPalExpressPrepareResponseTransfer = $computopPayPalExpressPrepareAggregator->aggregate($quoteTransfer);
43
44
        return new JsonResponse([
45
            'orderId' => $computopApiPayPalExpressPrepareResponseTransfer->getOrderId(),
46
            'merchantId' => $computopApiPayPalExpressPrepareResponseTransfer->getMid(),
47
            'payId' => $computopApiPayPalExpressPrepareResponseTransfer->getPayID(),
48
        ]);
49
    }
50
51
    /**
52
     * @param \Symfony\Component\HttpFoundation\Request $request
53
     *
54
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
55
     */
56
    public function placeOrderPayPalExpressAction(Request $request): RedirectResponse
57
    {
58
        $quoteTransfer = $this->getFactory()->getQuoteClient()->getQuote();
59
        $computopPayPalExpressInitAggregator = $this->getFactory()->createComputopPayPalExpressInitAggregator();
60
        $computopPayPalExpressInitAggregator->aggregate($quoteTransfer, $request->query->all());
61
62
        return $this->redirectResponseInternal(static::ROUTE_NAME_CHECKOUT_PLACE_ORDER);
63
    }
64
65
    /**
66
     * @param \Symfony\Component\HttpFoundation\Request $request
67
     *
68
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
69
     */
70
    public function completeOrderPayPalExpressAction(Request $request): RedirectResponse
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed. ( Ignorable by Annotation )

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

70
    public function completeOrderPayPalExpressAction(/** @scrutinizer ignore-unused */ Request $request): RedirectResponse

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
71
    {
72
        $quoteTransfer = $this->getFactory()->getQuoteClient()->getQuote();
73
        $computopPayPalExpressCompleteAggregator = $this->getFactory()->createComputopPayPalExpressCompleteAggregator();
74
75
        $computopPayPalExpressCompleteAggregator->aggregate($quoteTransfer);
76
77
        return $this->redirectResponseInternal(static::ROUTE_NAME_CHECKOUT_SUCCESS);
78
    }
79
}
80