FactFinderNgDependencyProvider   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 108
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
eloc 32
c 1
b 0
f 0
dl 0
loc 108
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A provideServiceLayerDependencies() 0 10 1
A addUtilEncodingService() 0 7 1
A addPriceProductStorage() 0 7 1
A addLocaleClient() 0 7 1
A addProductImageStorageClient() 0 7 1
A addStoreClient() 0 7 1
A addProductStorageClient() 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\Client\FactFinderNg;
9
10
use Spryker\Client\Kernel\AbstractDependencyProvider;
11
use Spryker\Client\Kernel\Container;
12
use SprykerEco\Client\FactFinderNg\Dependency\Client\FactFinderNgToLocaleClientBridge;
13
use SprykerEco\Client\FactFinderNg\Dependency\Client\FactFinderNgToPriceProductStorageClientBridge;
14
use SprykerEco\Client\FactFinderNg\Dependency\Client\FactFinderNgToProductImageStorageClientBridge;
15
use SprykerEco\Client\FactFinderNg\Dependency\Client\FactFinderNgToProductStorageClientBridge;
16
use SprykerEco\Client\FactFinderNg\Dependency\Client\FactFinderNgToStoreClientBridge;
17
use SprykerEco\Client\FactFinderNg\Dependency\Service\FactFinderNgToUtilEncodingServiceBridge;
18
19
class FactFinderNgDependencyProvider extends AbstractDependencyProvider
20
{
21
    public const SERVICE_UTIL_ENCODING = 'SERVICE_UTIL_ENCODING';
22
    public const CLIENT_PRODUCT_STORAGE = 'CLIENT_PRODUCT_STORAGE';
23
    public const CLIENT_PRODUCT_IMAGE_STORAGE = 'CLIENT_PRODUCT_IMAGE_STORAGE';
24
    public const CLIENT_PRICE_PRODUCT_STORAGE = 'CLIENT_PRICE_PRODUCT_STORAGE';
25
    public const CLIENT_LOCALE = 'CLIENT_LOCALE';
26
    public const CLIENT_STORE = 'CLIENT_STORE';
27
28
    /**
29
     * @param \Spryker\Client\Kernel\Container $container
30
     *
31
     * @return \Spryker\Client\Kernel\Container
32
     */
33
    public function provideServiceLayerDependencies(Container $container): Container
34
    {
35
        $container = $this->addUtilEncodingService($container);
36
        $container = $this->addProductStorageClient($container);
37
        $container = $this->addProductImageStorageClient($container);
38
        $container = $this->addPriceProductStorage($container);
39
        $container = $this->addLocaleClient($container);
40
        $container = $this->addStoreClient($container);
41
42
        return $container;
43
    }
44
45
    /**
46
     * @param \Spryker\Client\Kernel\Container $container
47
     *
48
     * @return \Spryker\Client\Kernel\Container
49
     */
50
    protected function addUtilEncodingService(Container $container): Container
51
    {
52
        $container->set(static::SERVICE_UTIL_ENCODING, function (Container $container) {
53
            return new FactFinderNgToUtilEncodingServiceBridge($container->getLocator()->utilEncoding()->service());
54
        });
55
56
        return $container;
57
    }
58
59
    /**
60
     * @param \Spryker\Client\Kernel\Container $container
61
     *
62
     * @return \Spryker\Client\Kernel\Container
63
     */
64
    protected function addProductStorageClient(Container $container): Container
65
    {
66
        $container->set(static::CLIENT_PRODUCT_STORAGE, function (Container $container) {
67
            return new FactFinderNgToProductStorageClientBridge($container->getLocator()->productStorage()->client());
68
        });
69
70
        return $container;
71
    }
72
73
    /**
74
     * @param \Spryker\Client\Kernel\Container $container
75
     *
76
     * @return \Spryker\Client\Kernel\Container
77
     */
78
    protected function addProductImageStorageClient(Container $container): Container
79
    {
80
        $container->set(static::CLIENT_PRODUCT_IMAGE_STORAGE, function (Container $container) {
81
            return new FactFinderNgToProductImageStorageClientBridge($container->getLocator()->productImageStorage()->client());
82
        });
83
84
        return $container;
85
    }
86
87
    /**
88
     * @param \Spryker\Client\Kernel\Container $container
89
     *
90
     * @return \Spryker\Client\Kernel\Container
91
     */
92
    protected function addPriceProductStorage(Container $container): Container
93
    {
94
        $container->set(static::CLIENT_PRICE_PRODUCT_STORAGE, function (Container $container) {
95
            return new FactFinderNgToPriceProductStorageClientBridge($container->getLocator()->priceProductStorage()->client());
96
        });
97
98
        return $container;
99
    }
100
101
    /**
102
     * @param \Spryker\Client\Kernel\Container $container
103
     *
104
     * @return \Spryker\Client\Kernel\Container
105
     */
106
    protected function addLocaleClient(Container $container): Container
107
    {
108
        $container->set(static::CLIENT_LOCALE, function (Container $container) {
109
            return new FactFinderNgToLocaleClientBridge($container->getLocator()->locale()->client());
110
        });
111
112
        return $container;
113
    }
114
115
    /**
116
     * @param \Spryker\Client\Kernel\Container $container
117
     *
118
     * @return \Spryker\Client\Kernel\Container
119
     */
120
    protected function addStoreClient(Container $container): Container
121
    {
122
        $container->set(static::CLIENT_STORE, function (Container $container) {
123
            return new FactFinderNgToStoreClientBridge($container->getLocator()->store()->client());
124
        });
125
126
        return $container;
127
    }
128
}
129