provideBusinessLayerDependencies()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nc 1
nop 1
dl 0
loc 11
rs 10
c 0
b 0
f 0
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\AfterPay;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToCustomerFacadeBridge;
13
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToMoneyFacadeBridge;
14
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToPaymentFacadeBridge;
15
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToRefundFacadeBridge;
16
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToSalesFacadeBridge;
17
use SprykerEco\Zed\AfterPay\Dependency\Facade\AfterPayToStoreFacadeBridge;
18
use SprykerEco\Zed\AfterPay\Dependency\Service\AfterPayToUtilEncodingServiceBridge;
19
use SprykerEco\Zed\AfterPay\Dependency\Service\AfterPayToUtilTextServiceBridge;
20
21
/**
22
 * @method \SprykerEco\Zed\AfterPay\AfterPayConfig getConfig()
23
 */
24
class AfterPayDependencyProvider extends AbstractBundleDependencyProvider
25
{
26
    /**
27
     * @var string
28
     */
29
    public const FACADE_MONEY = 'FACADE_MONEY';
30
31
    /**
32
     * @var string
33
     */
34
    public const FACADE_SALES = 'FACADE_SALES';
35
36
    /**
37
     * @var string
38
     */
39
    public const FACADE_CUSTOMER = 'FACADE_CUSTOMER';
40
41
    /**
42
     * @var string
43
     */
44
    public const FACADE_PAYMENT = 'FACADE_PAYMENT';
45
46
    /**
47
     * @var string
48
     */
49
    public const FACADE_REFUND = 'FACADE_REFUND';
50
51
    /**
52
     * @var string
53
     */
54
    public const FACADE_STORE = 'FACADE_STORE';
55
56
    /**
57
     * @var string
58
     */
59
    public const SERVICE_UTIL_ENCODING = 'SERVICE_UTIL_ENCODING';
60
61
    /**
62
     * @var string
63
     */
64
    public const SERVICE_UTIL_TEXT = 'SERVICE_UTIL_TEXT';
65
66
    /**
67
     * @param \Spryker\Zed\Kernel\Container $container
68
     *
69
     * @return \Spryker\Zed\Kernel\Container
70
     */
71
    public function provideBusinessLayerDependencies(Container $container): Container
72
    {
73
        $container = parent::provideBusinessLayerDependencies($container);
74
        $container = $this->addMoneyFacade($container);
75
        $container = $this->addStoreFacade($container);
76
        $container = $this->addCustomerFacade($container);
77
        $container = $this->addPaymentFacade($container);
78
        $container = $this->addUtilEncodingService($container);
79
        $container = $this->addUtilTextService($container);
80
81
        return $container;
82
    }
83
84
    /**
85
     * @param \Spryker\Zed\Kernel\Container $container
86
     *
87
     * @return \Spryker\Zed\Kernel\Container
88
     */
89
    public function provideCommunicationLayerDependencies(Container $container): Container
90
    {
91
        $container = parent::provideCommunicationLayerDependencies($container);
92
        $container = $this->addSalesFacade($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 addMoneyFacade(Container $container): Container
104
    {
105
        $container->set(static::FACADE_MONEY, function (Container $container) {
106
            return new AfterPayToMoneyFacadeBridge($container->getLocator()->money()->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 AfterPayToSalesFacadeBridge($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 addStoreFacade(Container $container): Container
132
    {
133
        $container->set(static::FACADE_STORE, function (Container $container) {
134
            return new AfterPayToStoreFacadeBridge($container->getLocator()->store()->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 addCustomerFacade(Container $container): Container
146
    {
147
        $container->set(static::FACADE_CUSTOMER, function (Container $container) {
148
            return new AfterPayToCustomerFacadeBridge($container->getLocator()->customer()->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 addPaymentFacade(Container $container): Container
160
    {
161
        $container->set(static::FACADE_PAYMENT, function (Container $container) {
162
            return new AfterPayToPaymentFacadeBridge($container->getLocator()->payment()->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 AfterPayToRefundFacadeBridge($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 addUtilEncodingService(Container $container): Container
188
    {
189
        $container->set(static::SERVICE_UTIL_ENCODING, function (Container $container) {
190
            return new AfterPayToUtilEncodingServiceBridge($container->getLocator()->utilEncoding()->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 AfterPayToUtilTextServiceBridge($container->getLocator()->utilText()->service());
205
        });
206
207
        return $container;
208
    }
209
}
210