RouterDependencyProvider   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 94
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 63
dl 0
loc 94
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getRouteProvider() 0 53 1
A getRouterPlugins() 0 7 1
A getPostAddRouteManipulator() 0 6 1
A getRouterEnhancerPlugins() 0 5 1
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Yves\Router;
11
12
use Pyz\Yves\ExampleProductSalePage\Plugin\Router\ExampleProductSaleRouteProviderPlugin;
13
use Spryker\Yves\CustomerDataChangeRequest\Plugin\Router\CustomerDataChangeRequestRouteProviderPlugin;
14
use Spryker\Yves\HealthCheck\Plugin\Router\HealthCheckRouteProviderPlugin;
15
use Spryker\Yves\MultiFactorAuth\Plugin\Router\Agent\MultiFactorAuthAgentRouteProviderPlugin;
16
use Spryker\Yves\MultiFactorAuth\Plugin\Router\Customer\MultiFactorAuthCustomerRouteProviderPlugin;
17
use Spryker\Yves\Router\Plugin\RouteManipulator\LanguageDefaultPostAddRouteManipulatorPlugin;
18
use Spryker\Yves\Router\Plugin\RouteManipulator\SslPostAddRouteManipulatorPlugin;
19
use Spryker\Yves\Router\Plugin\RouteManipulator\StoreDefaultPostAddRouteManipulatorPlugin;
20
use Spryker\Yves\Router\Plugin\Router\YvesDevelopmentRouterPlugin;
21
use Spryker\Yves\Router\Plugin\Router\YvesRouterPlugin;
22
use Spryker\Yves\Router\Plugin\RouterEnhancer\LanguagePrefixRouterEnhancerPlugin;
23
use Spryker\Yves\Router\Plugin\RouterEnhancer\StorePrefixRouterEnhancerPlugin;
24
use Spryker\Yves\Router\RouterDependencyProvider as SprykerRouterDependencyProvider;
25
use Spryker\Yves\Sitemap\Plugin\Router\SitemapRouteProviderPlugin;
26
use SprykerShop\Yves\AgentPage\Plugin\Router\AgentPageRouteProviderPlugin;
27
use SprykerShop\Yves\AgentWidget\Plugin\Router\AgentWidgetRouteProviderPlugin;
28
use SprykerShop\Yves\AvailabilityNotificationPage\Plugin\Router\AvailabilityNotificationPageRouteProviderPlugin;
29
use SprykerShop\Yves\AvailabilityNotificationWidget\Plugin\Router\AvailabilityNotificationWidgetRouteProviderPlugin;
30
use SprykerShop\Yves\CalculationPage\Plugin\Router\CalculationPageRouteProviderPlugin;
31
use SprykerShop\Yves\CartCodeWidget\Plugin\Router\CartCodeAsyncWidgetRouteProviderPlugin;
32
use SprykerShop\Yves\CartCodeWidget\Plugin\Router\CartCodeWidgetRouteProviderPlugin;
33
use SprykerShop\Yves\CartNoteWidget\Plugin\Router\CartNoteWidgetAsyncRouteProviderPlugin;
34
use SprykerShop\Yves\CartNoteWidget\Plugin\Router\CartNoteWidgetRouteProviderPlugin;
35
use SprykerShop\Yves\CartPage\Plugin\Router\CartPageAsyncRouteProviderPlugin;
36
use SprykerShop\Yves\CartPage\Plugin\Router\CartPageRouteProviderPlugin;
37
use SprykerShop\Yves\CartReorderPage\Plugin\Router\CartReorderPageRouteProviderPlugin;
38
use SprykerShop\Yves\CatalogPage\Plugin\Router\CatalogPageRouteProviderPlugin;
39
use SprykerShop\Yves\CheckoutPage\Plugin\Router\CheckoutPageRouteProviderPlugin;
40
use SprykerShop\Yves\CmsPage\Plugin\Router\CmsPageRouteProviderPlugin;
41
use SprykerShop\Yves\CmsSearchPage\Plugin\Router\CmsSearchPageRouteProviderPlugin;
42
use SprykerShop\Yves\ConfigurableBundleNoteWidget\Plugin\Router\ConfigurableBundleNoteWidgetAsyncRouteProviderPlugin;
43
use SprykerShop\Yves\ConfigurableBundleNoteWidget\Plugin\Router\ConfigurableBundleNoteWidgetRouteProviderPlugin;
44
use SprykerShop\Yves\ConfigurableBundlePage\Plugin\Router\ConfigurableBundlePageRouteProviderPlugin;
45
use SprykerShop\Yves\ConfigurableBundleWidget\Plugin\Router\ConfigurableBundleWidgetAsyncRouteProviderPlugin;
46
use SprykerShop\Yves\ConfigurableBundleWidget\Plugin\Router\ConfigurableBundleWidgetRouteProviderPlugin;
47
use SprykerShop\Yves\CurrencyWidget\Plugin\Router\CurrencyWidgetRouteProviderPlugin;
48
use SprykerShop\Yves\CustomerPage\Plugin\Router\CustomerPageRouteProviderPlugin;
49
use SprykerShop\Yves\DiscountWidget\Plugin\Router\DiscountWidgetRouteProviderPlugin;
50
use SprykerShop\Yves\ErrorPage\Plugin\Router\ErrorPageRouteProviderPlugin;
51
use SprykerShop\Yves\FileManagerWidget\Plugin\Router\FileManagerWidgetRouteProviderPlugin;
52
use SprykerShop\Yves\HomePage\Plugin\Router\HomePageRouteProviderPlugin;
53
use SprykerShop\Yves\NewsletterPage\Plugin\Router\NewsletterPageRouteProviderPlugin;
54
use SprykerShop\Yves\NewsletterWidget\Plugin\Router\NewsletterWidgetRouteProviderPlugin;
55
use SprykerShop\Yves\OrderCancelWidget\Plugin\Router\OrderCancelWidgetRouteProviderPlugin;
56
use SprykerShop\Yves\OrderCustomReferenceWidget\Plugin\Router\OrderCustomReferenceWidgetAsyncRouteProviderPlugin;
57
use SprykerShop\Yves\OrderCustomReferenceWidget\Plugin\Router\OrderCustomReferenceWidgetRouteProviderPlugin;
58
use SprykerShop\Yves\PaymentAppWidget\Plugin\Router\PaymentAppWidgetRouteProviderPlugin;
59
use SprykerShop\Yves\PaymentPage\Plugin\Router\PaymentPageRouteProviderPlugin;
60
use SprykerShop\Yves\PriceWidget\Plugin\Router\PriceWidgetRouteProviderPlugin;
61
use SprykerShop\Yves\ProductConfiguratorGatewayPage\Plugin\Router\ProductConfiguratorGatewayPageRouteProviderPlugin;
62
use SprykerShop\Yves\ProductNewPage\Plugin\Router\ProductNewPageRouteProviderPlugin;
63
use SprykerShop\Yves\ProductReviewWidget\Plugin\Router\ProductReviewWidgetRouteProviderPlugin;
64
use SprykerShop\Yves\ProductSearchWidget\Plugin\Router\ProductSearchWidgetRouteProviderPlugin;
65
use SprykerShop\Yves\ProductSetListPage\Plugin\Router\ProductSetListPageRouteProviderPlugin;
66
use SprykerShop\Yves\SalesOrderAmendmentWidget\Plugin\Router\SalesOrderAmendmentWidgetRouteProviderPlugin;
67
use SprykerShop\Yves\SalesReturnPage\Plugin\Router\SalesReturnPageRouteProviderPlugin;
68
use SprykerShop\Yves\ServicePointWidget\Plugin\Router\ServicePointWidgetRouteProviderPlugin;
69
use SprykerShop\Yves\StorageRouter\Plugin\Router\StorageRouterPlugin;
70
use SprykerShop\Yves\WishlistPage\Plugin\Router\WishlistPageRouteProviderPlugin;
71
72
class RouterDependencyProvider extends SprykerRouterDependencyProvider
73
{
74
    /**
75
     * @return array<\Spryker\Yves\RouterExtension\Dependency\Plugin\RouterPluginInterface>
76
     */
77
    protected function getRouterPlugins(): array
78
    {
79
        return [
80
            new YvesRouterPlugin(),
81
            new StorageRouterPlugin(),
82
            // This router will only be hit, when no other router was able to match/generate.
83
            new YvesDevelopmentRouterPlugin(),
84
        ];
85
    }
86
87
    /**
88
     * @return array<\Spryker\Yves\RouterExtension\Dependency\Plugin\RouteProviderPluginInterface>
89
     */
90
    protected function getRouteProvider(): array
91
    {
92
        return [
93
            new ErrorPageRouteProviderPlugin(),
94
            new HomePageRouteProviderPlugin(),
95
            new CheckoutPageRouteProviderPlugin(),
96
            new CustomerPageRouteProviderPlugin(),
97
            new NewsletterPageRouteProviderPlugin(),
98
            new CartPageRouteProviderPlugin(),
99
            new WishlistPageRouteProviderPlugin(),
100
            new HealthCheckRouteProviderPlugin(),
101
            new NewsletterWidgetRouteProviderPlugin(),
102
            new CatalogPageRouteProviderPlugin(),
103
            new CalculationPageRouteProviderPlugin(),
104
            new ProductSetListPageRouteProviderPlugin(),
105
            new ExampleProductSaleRouteProviderPlugin(),
106
            new CmsPageRouteProviderPlugin(),
107
            new CurrencyWidgetRouteProviderPlugin(),
108
            new ProductNewPageRouteProviderPlugin(),
109
            new ProductReviewWidgetRouteProviderPlugin(),
110
            new DiscountWidgetRouteProviderPlugin(),
111
            new PriceWidgetRouteProviderPlugin(),
112
            new CartCodeWidgetRouteProviderPlugin(),
113
            new CartNoteWidgetRouteProviderPlugin(), #CartNoteFeature
114
            new AgentPageRouteProviderPlugin(), #AgentFeature
115
            new AgentWidgetRouteProviderPlugin(), #AgentFeature
116
            new FileManagerWidgetRouteProviderPlugin(),
117
            new CmsSearchPageRouteProviderPlugin(), #CmsSearchPageFeature
118
            new ProductSearchWidgetRouteProviderPlugin(),
119
            new AvailabilityNotificationWidgetRouteProviderPlugin(),
120
            new AvailabilityNotificationPageRouteProviderPlugin(),
121
            new ConfigurableBundleWidgetRouteProviderPlugin(),
122
            new ConfigurableBundleNoteWidgetRouteProviderPlugin(),
123
            new ConfigurableBundlePageRouteProviderPlugin(),
124
            new OrderCustomReferenceWidgetRouteProviderPlugin(),
125
            new SalesReturnPageRouteProviderPlugin(),
126
            new OrderCancelWidgetRouteProviderPlugin(),
127
            new PaymentPageRouteProviderPlugin(),
128
            new ProductConfiguratorGatewayPageRouteProviderPlugin(),
129
            new ServicePointWidgetRouteProviderPlugin(),
130
            new CartCodeAsyncWidgetRouteProviderPlugin(),
131
            new CartNoteWidgetAsyncRouteProviderPlugin(),
132
            new CartPageAsyncRouteProviderPlugin(),
133
            new ConfigurableBundleNoteWidgetAsyncRouteProviderPlugin(),
134
            new ConfigurableBundleWidgetAsyncRouteProviderPlugin(),
135
            new OrderCustomReferenceWidgetAsyncRouteProviderPlugin(),
136
            new PaymentAppWidgetRouteProviderPlugin(),
137
            new CustomerDataChangeRequestRouteProviderPlugin(),
138
            new MultiFactorAuthCustomerRouteProviderPlugin(),
139
            new MultiFactorAuthAgentRouteProviderPlugin(),
140
            new SitemapRouteProviderPlugin(),
141
            new CartReorderPageRouteProviderPlugin(),
142
            new SalesOrderAmendmentWidgetRouteProviderPlugin(),
143
        ];
144
    }
145
146
    /**
147
     * @return array<\Spryker\Yves\RouterExtension\Dependency\Plugin\PostAddRouteManipulatorPluginInterface>
148
     */
149
    protected function getPostAddRouteManipulator(): array
150
    {
151
        return [
152
            new LanguageDefaultPostAddRouteManipulatorPlugin(),
153
            new StoreDefaultPostAddRouteManipulatorPlugin(),
154
            new SslPostAddRouteManipulatorPlugin(),
155
        ];
156
    }
157
158
    /**
159
     * @return array<\Spryker\Yves\RouterExtension\Dependency\Plugin\RouterEnhancerPluginInterface>
160
     */
161
    protected function getRouterEnhancerPlugins(): array
162
    {
163
        return [
164
            new StorePrefixRouterEnhancerPlugin(),
165
            new LanguagePrefixRouterEnhancerPlugin(),
166
        ];
167
    }
168
}
169