CrefoPayDependencyProvider   A
last analyzed

Complexity

Total Complexity 10

Size/Duplication

Total Lines 185
Duplicated Lines 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
wmc 10
eloc 46
c 4
b 0
f 0
dl 0
loc 185
rs 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 11 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
/**
21
 * @method \SprykerEco\Zed\CrefoPay\CrefoPayConfig getConfig()
22
 */
23
class CrefoPayDependencyProvider extends AbstractBundleDependencyProvider
24
{
25
    /**
26
     * @var string
27
     */
28
    public const FACADE_CREFO_APY_API = 'FACADE_CREFO_APY_API';
29
30
    /**
31
     * @var string
32
     */
33
    public const FACADE_SALES = 'FACADE_SALES';
34
35
    /**
36
     * @var string
37
     */
38
    public const FACADE_CALCULATION = 'FACADE_CALCULATION';
39
40
    /**
41
     * @var string
42
     */
43
    public const FACADE_LOCALE = 'FACADE_LOCALE';
44
45
    /**
46
     * @var string
47
     */
48
    public const FACADE_OMS = 'FACADE_OMS';
49
50
    /**
51
     * @var string
52
     */
53
    public const FACADE_REFUND = 'FACADE_REFUND';
54
55
    /**
56
     * @var string
57
     */
58
    public const SERVICE_CREFO_PAY = 'SERVICE_CREFO_PAY';
59
60
    /**
61
     * @var string
62
     */
63
    public const SERVICE_UTIL_TEXT = 'SERVICE_UTIL_TEXT';
64
65
    /**
66
     * @param \Spryker\Zed\Kernel\Container $container
67
     *
68
     * @return \Spryker\Zed\Kernel\Container
69
     */
70
    public function provideBusinessLayerDependencies(Container $container): Container
71
    {
72
        $container = parent::provideBusinessLayerDependencies($container);
73
        $container = $this->addCrefoPayApiFacade($container);
74
        $container = $this->addLocaleFacade($container);
75
        $container = $this->addOmsFacade($container);
76
        $container = $this->addCrefoPayService($container);
77
        $container = $this->addUtilTextService($container);
78
        $container = $this->addRefundFacade($container);
79
80
        return $container;
81
    }
82
83
    /**
84
     * @param \Spryker\Zed\Kernel\Container $container
85
     *
86
     * @return \Spryker\Zed\Kernel\Container
87
     */
88
    public function provideCommunicationLayerDependencies(Container $container): Container
89
    {
90
        $container = parent::provideCommunicationLayerDependencies($container);
91
        $container = $this->addSalesFacade($container);
92
        $container = $this->addCalculationFacade($container);
93
        $container = $this->addRefundFacade($container);
94
95
        return $container;
96
    }
97
98
    /**
99
     * @param \Spryker\Zed\Kernel\Container $container
100
     *
101
     * @return \Spryker\Zed\Kernel\Container
102
     */
103
    protected function addCrefoPayApiFacade(Container $container): Container
104
    {
105
        $container->set(static::FACADE_CREFO_APY_API, function (Container $container) {
106
            return new CrefoPayToCrefoPayApiFacadeBridge($container->getLocator()->crefoPayApi()->facade());
107
        });
108
109
        return $container;
110
    }
111
112
    /**
113
     * @param \Spryker\Zed\Kernel\Container $container
114
     *
115
     * @return \Spryker\Zed\Kernel\Container
116
     */
117
    protected function addSalesFacade(Container $container): Container
118
    {
119
        $container->set(static::FACADE_SALES, function (Container $container) {
120
            return new CrefoPayToSalesFacadeBridge($container->getLocator()->sales()->facade());
121
        });
122
123
        return $container;
124
    }
125
126
    /**
127
     * @param \Spryker\Zed\Kernel\Container $container
128
     *
129
     * @return \Spryker\Zed\Kernel\Container
130
     */
131
    protected function addCalculationFacade(Container $container): Container
132
    {
133
        $container->set(static::FACADE_CALCULATION, function (Container $container) {
134
            return new CrefoPayToCalculationFacadeBridge($container->getLocator()->calculation()->facade());
135
        });
136
137
        return $container;
138
    }
139
140
    /**
141
     * @param \Spryker\Zed\Kernel\Container $container
142
     *
143
     * @return \Spryker\Zed\Kernel\Container
144
     */
145
    protected function addLocaleFacade(Container $container): Container
146
    {
147
        $container->set(static::FACADE_LOCALE, function (Container $container) {
148
            return new CrefoPayToLocaleFacadeBridge($container->getLocator()->locale()->facade());
149
        });
150
151
        return $container;
152
    }
153
154
    /**
155
     * @param \Spryker\Zed\Kernel\Container $container
156
     *
157
     * @return \Spryker\Zed\Kernel\Container
158
     */
159
    protected function addOmsFacade(Container $container): Container
160
    {
161
        $container->set(static::FACADE_OMS, function (Container $container) {
162
            return new CrefoPayToOmsFacadeBridge($container->getLocator()->oms()->facade());
163
        });
164
165
        return $container;
166
    }
167
168
    /**
169
     * @param \Spryker\Zed\Kernel\Container $container
170
     *
171
     * @return \Spryker\Zed\Kernel\Container
172
     */
173
    protected function addRefundFacade(Container $container): Container
174
    {
175
        $container->set(static::FACADE_REFUND, function (Container $container) {
176
            return new CrefoPayToRefundFacadeBridge($container->getLocator()->refund()->facade());
177
        });
178
179
        return $container;
180
    }
181
182
    /**
183
     * @param \Spryker\Zed\Kernel\Container $container
184
     *
185
     * @return \Spryker\Zed\Kernel\Container
186
     */
187
    protected function addCrefoPayService(Container $container): Container
188
    {
189
        $container->set(static::SERVICE_CREFO_PAY, function (Container $container) {
190
            return $container->getLocator()->crefoPay()->service();
191
        });
192
193
        return $container;
194
    }
195
196
    /**
197
     * @param \Spryker\Zed\Kernel\Container $container
198
     *
199
     * @return \Spryker\Zed\Kernel\Container
200
     */
201
    protected function addUtilTextService(Container $container): Container
202
    {
203
        $container->set(static::SERVICE_UTIL_TEXT, function (Container $container) {
204
            return new CrefoPayToUtilTextServiceBridge($container->getLocator()->utilText()->service());
205
        });
206
207
        return $container;
208
    }
209
}
210