Passed
Pull Request — feature/ECO-948-renaming-and-r... (#7)
by Andrey
04:36 queued 01:50
created

AmazonPayEntityToTransferConverter   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 82
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getAmazonpayRefundDetailsTransfer() 0 9 1
A mapEntityToTransfer() 0 14 1
A getAuthorizationDetailsTransfer() 0 9 1
A getCaptureDetailsTransfer() 0 9 1
A getStatusTransfer() 0 6 1
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\Converter;
9
10
use Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer;
11
use Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer;
12
use Generated\Shared\Transfer\AmazonpayPaymentTransfer;
13
use Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer;
14
use Generated\Shared\Transfer\AmazonpayResponseHeaderTransfer;
15
use Generated\Shared\Transfer\AmazonpayStatusTransfer;
16
use Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay;
1 ignored issue
show
Bug introduced by
The type Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
17
18
class AmazonPayEntityToTransferConverter implements AmazonPayEntityToTransferConverterInterface
19
{
20
    /**
21
     * @param \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay $entity
22
     *
23
     * @return \Generated\Shared\Transfer\AmazonpayPaymentTransfer
24
     */
25
    public function mapEntityToTransfer(SpyPaymentAmazonpay $entity)
26
    {
27
        $responseHeaderTransfer = new AmazonpayResponseHeaderTransfer();
28
        $responseHeaderTransfer->setIsSuccess(true);
29
30
        $paymentTransfer = new AmazonpayPaymentTransfer();
31
        $paymentTransfer->fromArray($entity->toArray(), true);
32
        $paymentTransfer->setResponseHeader($responseHeaderTransfer);
33
        $paymentTransfer->setOrderReferenceStatus(new AmazonpayStatusTransfer());
34
        $paymentTransfer->setAuthorizationDetails($this->getAuthorizationDetailsTransfer($entity));
35
        $paymentTransfer->setCaptureDetails($this->getCaptureDetailsTransfer($entity));
36
        $paymentTransfer->setRefundDetails($this->getAmazonpayRefundDetailsTransfer($entity));
37
38
        return $paymentTransfer;
39
    }
40
41
    /**
42
     * @param \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay $entity
43
     *
44
     * @return \Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer
45
     */
46
    protected function getAuthorizationDetailsTransfer(SpyPaymentAmazonpay $entity)
47
    {
48
        $authDetailsTransfer = new AmazonpayAuthorizationDetailsTransfer();
49
        $authDetailsTransfer->fromArray($entity->toArray(), true);
50
        $authDetailsTransfer->setAuthorizationStatus(
51
            $this->getStatusTransfer($entity->getStatus())
52
        );
53
54
        return $authDetailsTransfer;
55
    }
56
57
    /**
58
     * @param \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay $entity
59
     *
60
     * @return \Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer
61
     */
62
    protected function getAmazonpayRefundDetailsTransfer(SpyPaymentAmazonpay $entity)
63
    {
64
        $refundDetailsTransfer = new AmazonpayRefundDetailsTransfer();
65
        $refundDetailsTransfer->fromArray($entity->toArray(), true);
66
        $refundDetailsTransfer->setRefundStatus(
67
            $this->getStatusTransfer($entity->getStatus())
68
        );
69
70
        return $refundDetailsTransfer;
71
    }
72
73
    /**
74
     * @param \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay $entity
75
     *
76
     * @return \Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer
77
     */
78
    protected function getCaptureDetailsTransfer(SpyPaymentAmazonpay $entity)
79
    {
80
        $captureDetailsTransfer = new AmazonpayCaptureDetailsTransfer();
81
        $captureDetailsTransfer->fromArray($entity->toArray(), true);
82
        $captureDetailsTransfer->setCaptureStatus(
83
            $this->getStatusTransfer($entity->getStatus())
84
        );
85
86
        return $captureDetailsTransfer;
87
    }
88
89
    /**
90
     * @param string $statusName
91
     *
92
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
93
     */
94
    protected function getStatusTransfer($statusName)
95
    {
96
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
97
        $amazonpayStatusTransfer->setState($statusName);
98
99
        return $amazonpayStatusTransfer;
100
    }
101
}
102