Passed
Branch development (62ef01)
by Theodoros
06:18
created

EcondaDependencyProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 44
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B provideBusinessLayerDependencies() 0 30 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\Econda;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\Econda\Communication\Plugin\CategoryPlugin;
13
use SprykerEco\Zed\Econda\Communication\Plugin\ProductsPlugin;
14
use SprykerEco\Zed\Econda\Dependency\Facade\EcondaToLocaleBridge;
15
use SprykerEco\Zed\Econda\Dependency\Facade\EcondaToPriceBridge;
16
use SprykerEco\Zed\Econda\Dependency\Facade\EcondaToPropelBridge;
17
18
class EcondaDependencyProvider extends AbstractBundleDependencyProvider
19
{
20
    const FACADE_LOCALE = 'facade_locale';
21
    const FACADE_PROPEL = 'facade_propel';
22
    const FACADE_PRICE = 'facade_price';
23
    const QUERY_CONTAINER_PRODUCT_IMAGE = 'query_container_product_image';
24
    const QUERY_CONTAINER_PRODUCT_CATEGORY = 'QUERY_CONTAINER_PRODUCT_CATEGORY';
25
    const FILE_PLUGINS = 'file plugins';
26
27
    /**
28
     * @param \Spryker\Zed\Kernel\Container $container
29
     *
30
     * @return \Spryker\Zed\Kernel\Container
31
     */
32
    public function provideBusinessLayerDependencies(Container $container)
33
    {
34
        $container[static::FACADE_LOCALE] = function (Container $container) {
35
            return new EcondaToLocaleBridge($container->getLocator()->locale()->facade());
36
        };
37
38
        $container[self::FACADE_PROPEL] = function (Container $container) {
39
            return new EcondaToPropelBridge($container->getLocator()->propel()->facade());
40
        };
41
42
        $container[self::FACADE_PRICE] = function (Container $container) {
43
            return new EcondaToPriceBridge($container->getLocator()->price()->facade());
44
        };
45
46
        $container[self::QUERY_CONTAINER_PRODUCT_IMAGE] = function (Container $container) {
47
            return $container->getLocator()->productImage()->queryContainer();
48
        };
49
50
        $container[self::QUERY_CONTAINER_PRODUCT_CATEGORY] = function (Container $container) {
51
            return $container->getLocator()->productCategory()->queryContainer();
52
        };
53
54
        $container[self::FILE_PLUGINS] = function () {
55
            return [
56
                'products' => new ProductsPlugin(),
57
                'categories' => new CategoryPlugin(),
58
            ];
59
        };
60
61
        return $container;
62
    }
63
}
64