Passed
Pull Request — dev (#4)
by Mykyta
11:52 queued 07:39
created

TransactionParser   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
dl 0
loc 52
c 0
b 0
f 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getHeidelpayResponseTransfer() 0 8 1
A __construct() 0 6 1
A createApiResponse() 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\Zed\Heidelpay\Business\Adapter;
9
10
use Generated\Shared\Transfer\HeidelpayResponseTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfe...idelpayResponseTransfer 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...
11
use Generated\Shared\Transfer\HeidelpayTransactionLogTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfe...yTransactionLogTransfer 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...
12
use Heidelpay\PhpApi\Response;
13
use SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponseFromHeidelpayInterface;
14
use SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponsePayloadToApiResponseInterface;
15
16
class TransactionParser implements TransactionParserInterface
17
{
18
    /**
19
     * @var \SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponseFromHeidelpayInterface
20
     */
21
    protected $responseMapper;
22
23
    /**
24
     * @var \SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponsePayloadToApiResponseInterface
25
     */
26
    protected $payloadToApiResponseMapper;
27
28
    /**
29
     * @param \SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponseFromHeidelpayInterface $responseMapper
30
     * @param \SprykerEco\Zed\Heidelpay\Business\Adapter\Mapper\ResponsePayloadToApiResponseInterface $payloadToApiResponseMapper
31
     */
32
    public function __construct(
33
        ResponseFromHeidelpayInterface $responseMapper,
34
        ResponsePayloadToApiResponseInterface $payloadToApiResponseMapper
35
    ) {
36
        $this->responseMapper = $responseMapper;
37
        $this->payloadToApiResponseMapper = $payloadToApiResponseMapper;
38
    }
39
40
    /**
41
     * @param \Generated\Shared\Transfer\HeidelpayTransactionLogTransfer $transactionLogTransfer
42
     *
43
     * @return \Generated\Shared\Transfer\HeidelpayResponseTransfer
44
     */
45
    public function getHeidelpayResponseTransfer(HeidelpayTransactionLogTransfer $transactionLogTransfer)
46
    {
47
        $apiResponseObject = $this->createApiResponse($transactionLogTransfer);
48
49
        $responseTransfer = new HeidelpayResponseTransfer();
50
        $this->responseMapper->map($apiResponseObject, $responseTransfer);
51
52
        return $responseTransfer;
53
    }
54
55
    /**
56
     * @param \Generated\Shared\Transfer\HeidelpayTransactionLogTransfer $transactionLogTransfer
57
     *
58
     * @return \Heidelpay\PhpApi\Response
59
     */
60
    protected function createApiResponse(HeidelpayTransactionLogTransfer $transactionLogTransfer)
61
    {
62
        $responsePayload = $transactionLogTransfer->getResponsePayload();
63
        $apiResponseObject = new Response();
64
65
        $this->payloadToApiResponseMapper->map($responsePayload, $apiResponseObject);
66
67
        return $apiResponseObject;
68
    }
69
}
70