Passed
Push — feature/eco-2295/eco-2356-main... ( 3dab14...a279a0 )
by Aleksey
03:10
created

CrefoPayDependencyProvider   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 154
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 45
dl 0
loc 154
rs 10
c 0
b 0
f 0
wmc 10

10 Methods

Rating   Name   Duplication   Size   Complexity  
A addCalculationFacade() 0 7 1
A addSalesFacade() 0 7 1
A provideCommunicationLayerDependencies() 0 8 1
A provideBusinessLayerDependencies() 0 10 1
A addCrefoPayApiFacade() 0 7 1
A addCrefoPayService() 0 7 1
A addOmsFacade() 0 7 1
A addUtilTextService() 0 7 1
A addLocaleFacade() 0 7 1
A addRefundFacade() 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\CrefoPay;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToCalculationFacadeBridge;
13
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToCrefoPayApiFacadeBridge;
14
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToLocaleFacadeBridge;
15
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToOmsFacadeBridge;
16
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeBridge;
17
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToSalesFacadeBridge;
18
use SprykerEco\Zed\CrefoPay\Dependency\Service\CrefoPayToUtilTextServiceBridge;
19
20
class CrefoPayDependencyProvider extends AbstractBundleDependencyProvider
21
{
22
    public const FACADE_CREFO_APY_API = 'FACADE_CREFO_APY_API';
23
    public const FACADE_SALES = 'FACADE_SALES';
24
    public const FACADE_CALCULATION = 'FACADE_CALCULATION';
25
    public const FACADE_LOCALE = 'FACADE_LOCALE';
26
    public const FACADE_OMS = 'FACADE_OMS';
27
    public const FACADE_REFUND = 'FACADE_REFUND';
28
29
    public const SERVICE_CREFO_PAY = 'SERVICE_CREFO_PAY';
30
    public const SERVICE_UTIL_TEXT = 'SERVICE_UTIL_TEXT';
31
32
    /**
33
     * @param \Spryker\Zed\Kernel\Container $container
34
     *
35
     * @return \Spryker\Zed\Kernel\Container
36
     */
37
    public function provideBusinessLayerDependencies(Container $container): Container
38
    {
39
        $container = parent::provideBusinessLayerDependencies($container);
40
        $container = $this->addCrefoPayApiFacade($container);
41
        $container = $this->addLocaleFacade($container);
42
        $container = $this->addOmsFacade($container);
43
        $container = $this->addCrefoPayService($container);
44
        $container = $this->addUtilTextService($container);
45
46
        return $container;
47
    }
48
49
    /**
50
     * @param \Spryker\Zed\Kernel\Container $container
51
     *
52
     * @return \Spryker\Zed\Kernel\Container
53
     */
54
    public function provideCommunicationLayerDependencies(Container $container): Container
55
    {
56
        $container = parent::provideCommunicationLayerDependencies($container);
57
        $container = $this->addSalesFacade($container);
58
        $container = $this->addCalculationFacade($container);
59
        $container = $this->addRefundFacade($container);
60
61
        return $container;
62
    }
63
64
    /**
65
     * @param \Spryker\Zed\Kernel\Container $container
66
     *
67
     * @return \Spryker\Zed\Kernel\Container
68
     */
69
    protected function addCrefoPayApiFacade(Container $container): Container
70
    {
71
        $container[static::FACADE_CREFO_APY_API] = function (Container $container) {
72
            return new CrefoPayToCrefoPayApiFacadeBridge($container->getLocator()->crefoPayApi()->facade());
73
        };
74
75
        return $container;
76
    }
77
78
    /**
79
     * @param \Spryker\Zed\Kernel\Container $container
80
     *
81
     * @return \Spryker\Zed\Kernel\Container
82
     */
83
    protected function addSalesFacade(Container $container): Container
84
    {
85
        $container[static::FACADE_SALES] = function (Container $container) {
86
            return new CrefoPayToSalesFacadeBridge($container->getLocator()->sales()->facade());
87
        };
88
89
        return $container;
90
    }
91
92
    /**
93
     * @param \Spryker\Zed\Kernel\Container $container
94
     *
95
     * @return \Spryker\Zed\Kernel\Container
96
     */
97
    protected function addCalculationFacade(Container $container): Container
98
    {
99
        $container[static::FACADE_CALCULATION] = function (Container $container) {
100
            return new CrefoPayToCalculationFacadeBridge($container->getLocator()->calculation()->facade());
101
        };
102
103
        return $container;
104
    }
105
106
    /**
107
     * @param \Spryker\Zed\Kernel\Container $container
108
     *
109
     * @return \Spryker\Zed\Kernel\Container
110
     */
111
    protected function addLocaleFacade(Container $container): Container
112
    {
113
        $container[static::FACADE_LOCALE] = function (Container $container) {
114
            return new CrefoPayToLocaleFacadeBridge($container->getLocator()->locale()->facade());
115
        };
116
117
        return $container;
118
    }
119
120
    /**
121
     * @param \Spryker\Zed\Kernel\Container $container
122
     *
123
     * @return \Spryker\Zed\Kernel\Container
124
     */
125
    protected function addOmsFacade(Container $container): Container
126
    {
127
        $container[static::FACADE_OMS] = function (Container $container) {
128
            return new CrefoPayToOmsFacadeBridge($container->getLocator()->oms()->facade());
129
        };
130
131
        return $container;
132
    }
133
134
    /**
135
     * @param \Spryker\Zed\Kernel\Container $container
136
     *
137
     * @return \Spryker\Zed\Kernel\Container
138
     */
139
    protected function addRefundFacade(Container $container): Container
140
    {
141
        $container[static::FACADE_REFUND] = function (Container $container) {
142
            return new CrefoPayToRefundFacadeBridge($container->getLocator()->refund()->facade());
143
        };
144
145
        return $container;
146
    }
147
148
    /**
149
     * @param \Spryker\Zed\Kernel\Container $container
150
     *
151
     * @return \Spryker\Zed\Kernel\Container
152
     */
153
    protected function addCrefoPayService(Container $container): Container
154
    {
155
        $container[static::SERVICE_CREFO_PAY] = function (Container $container) {
156
            return $container->getLocator()->crefoPay()->service();
157
        };
158
159
        return $container;
160
    }
161
162
    /**
163
     * @param \Spryker\Zed\Kernel\Container $container
164
     *
165
     * @return \Spryker\Zed\Kernel\Container
166
     */
167
    protected function addUtilTextService(Container $container): Container
168
    {
169
        $container[static::SERVICE_UTIL_TEXT] = function (Container $container) {
170
            return new CrefoPayToUtilTextServiceBridge($container->getLocator()->utilText()->service());
171
        };
172
173
        return $container;
174
    }
175
}
176