NotificationProcessor   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A executeProcessNotificationTransaction() 0 3 1
A processNotification() 0 7 1
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Zed\FirstData\Business\Processor;
9
10
use Generated\Shared\Transfer\FirstDataNotificationTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...ataNotificationTransfer 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 Spryker\Zed\Kernel\Persistence\EntityManager\TransactionTrait;
12
use SprykerEco\Zed\FirstData\FirstDataConfig;
13
use SprykerEco\Zed\FirstData\Persistence\FirstDataEntityManagerInterface;
14
15
class NotificationProcessor implements NotificationProcessorInterface
16
{
17
    use TransactionTrait;
18
19
    protected const NOTIFICATION_STATUS_APPROVED = 'APPROVED';
20
21
    /**
22
     * @var \SprykerEco\Zed\FirstData\Persistence\FirstDataEntityManagerInterface
23
     */
24
    protected $firstDataEntityManager;
25
26
    /**
27
     * @var \SprykerEco\Zed\FirstData\FirstDataConfig
28
     */
29
    protected $firstDataConfig;
30
31
    /**
32
     * @param \SprykerEco\Zed\FirstData\Persistence\FirstDataEntityManagerInterface $firstDataEntityManager
33
     * @param \SprykerEco\Zed\FirstData\FirstDataConfig $firstDataConfig
34
     */
35
    public function __construct(
36
        FirstDataEntityManagerInterface $firstDataEntityManager,
37
        FirstDataConfig $firstDataConfig
38
    ) {
39
        $this->firstDataEntityManager = $firstDataEntityManager;
40
        $this->firstDataConfig = $firstDataConfig;
41
    }
42
43
    /**
44
     * @param \Generated\Shared\Transfer\FirstDataNotificationTransfer $firstDataNotificationTransfer
45
     *
46
     * @return \Generated\Shared\Transfer\FirstDataNotificationTransfer
47
     */
48
    public function processNotification(FirstDataNotificationTransfer $firstDataNotificationTransfer): FirstDataNotificationTransfer
49
    {
50
        $this->getTransactionHandler()->handleTransaction(function () use ($firstDataNotificationTransfer): void {
51
            $this->executeProcessNotificationTransaction($firstDataNotificationTransfer);
52
        });
53
54
        return $firstDataNotificationTransfer;
55
    }
56
57
    /**
58
     * @param \Generated\Shared\Transfer\FirstDataNotificationTransfer $firstDataNotificationTransfer
59
     *
60
     * @return void
61
     */
62
    protected function executeProcessNotificationTransaction(FirstDataNotificationTransfer $firstDataNotificationTransfer): void
63
    {
64
        $this->firstDataEntityManager->savePaymentFirstDataNotification($firstDataNotificationTransfer);
65
    }
66
}
67