Passed
Pull Request — master (#16)
by Anton
12:10 queued 05:26
created

FactFinderSdkFactory::getSession()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
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\Client\FactFinderSdk;
9
10
use Spryker\Client\Kernel\AbstractFactory;
11
use SprykerEco\Client\FactFinderSdk\Business\Api\Converter\ConverterFactory;
12
use SprykerEco\Client\FactFinderSdk\Business\Api\FactFinderConnector;
13
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\ProductCampaignRequest;
14
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\RecommendationRequest;
15
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\SearchRequest;
16
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\ShoppingCartCampaignRequest;
17
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\SuggestRequest;
18
use SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\TrackingRequest;
19
20
/**
21
 * @method \SprykerEco\Client\FactFinderSdk\FactFinderSdkConfig getConfig()
22
 */
23
class FactFinderSdkFactory extends AbstractFactory
24
{
25
    /**
26
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\SearchRequestInterface
27
     */
28
    public function createSearchRequest()
29
    {
30
        return new SearchRequest(
31
            $this->createFactFinderConnector(),
32
            $this->createConverterFactory()
33
        );
34
    }
35
36
    /**
37
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\SuggestRequestInterface
38
     */
39
    public function createSuggestRequest()
40
    {
41
        return new SuggestRequest(
42
            $this->createFactFinderConnector(),
43
            $this->createConverterFactory()
44
        );
45
    }
46
47
    /**
48
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\TrackingRequestInterface
49
     */
50
    public function createTrackingRequest()
51
    {
52
        return new TrackingRequest(
53
            $this->createFactFinderConnector(),
54
            $this->createConverterFactory(),
55
            $this->getConfig()
56
        );
57
    }
58
59
    /**
60
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\RecommendationRequestInterface
61
     */
62
    public function createRecommendationsRequest()
63
    {
64
        return new RecommendationRequest(
65
            $this->createFactFinderConnector(),
66
            $this->createConverterFactory()
67
        );
68
    }
69
70
    /**
71
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\ProductCampaignRequestInterface
72
     */
73
    public function createProductCampaignRequest()
74
    {
75
        return new ProductCampaignRequest(
76
            $this->createFactFinderConnector(),
77
            $this->createConverterFactory()
78
        );
79
    }
80
81
    /**
82
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Handler\Request\ProductCampaignRequestInterface
83
     */
84
    public function createShoppingCartCampaignRequest()
85
    {
86
        return new ShoppingCartCampaignRequest(
87
            $this->createFactFinderConnector(),
88
            $this->createConverterFactory()
89
        );
90
    }
91
92
    /**
93
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\FactFinderConnectorInterface
94
     */
95
    public function createFactFinderConnector()
96
    {
97
        return new FactFinderConnector($this->getConfig());
98
    }
99
100
    /**
101
     * @SuppressWarnings(FactoryMethodReturnInterfaceRule)
102
     *
103
     * @return \SprykerEco\Client\FactFinderSdk\Business\Api\Converter\ConverterFactory
104
     */
105
    protected function createConverterFactory()
106
    {
107
        return new ConverterFactory($this->getConfig());
108
    }
109
}
110