getResourcesProviderPlugins()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 0
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\Glue\GlueApplication;
11
12
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestRequestValidatorPlugin;
13
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestUserFinderPlugin;
14
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokensResourceRoutePlugin;
15
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerImpersonationAccessTokensResourceRoutePlugin;
16
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerSearchResourceRoutePlugin;
17
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentRestUserValidatorPlugin;
18
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\AbstractAlternativeProductsResourceRoutePlugin;
19
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\ConcreteAlternativeProductsResourceRoutePlugin;
20
use Spryker\Glue\AuthRestApi\Plugin\AccessTokensResourceRoutePlugin;
21
use Spryker\Glue\AuthRestApi\Plugin\FormatAuthenticationErrorResponseHeadersPlugin;
22
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\AccessTokenRestRequestValidatorPlugin;
23
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\FormattedControllerBeforeActionValidateAccessTokenPlugin;
24
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\SimultaneousAuthenticationRestRequestValidatorPlugin;
25
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\TokenResourceRoutePlugin;
26
use Spryker\Glue\AuthRestApi\Plugin\RefreshTokensResourceRoutePlugin;
27
use Spryker\Glue\AuthRestApi\Plugin\RestUserFinderByAccessTokenPlugin;
28
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\AvailabilityNotificationsResourceRoutePlugin;
29
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\CustomerAvailabilityNotificationsResourceRoutePlugin;
30
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\MyAvailabilityNotificationsResourceRoutePlugin;
31
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartCodesResourceRoutePlugin;
32
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartRuleByQuoteResourceRelationshipPlugin;
33
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartVouchersResourceRoutePlugin;
34
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\GuestCartCodesResourceRoutePlugin;
35
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\GuestCartVouchersResourceRoutePlugin;
36
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\VoucherByQuoteResourceRelationshipPlugin;
37
use Spryker\Glue\CartReorderRestApi\Plugin\GlueApplication\CartReorderResourceRoutePlugin;
38
use Spryker\Glue\CartsRestApi\CartsRestApiConfig;
39
use Spryker\Glue\CartsRestApi\Plugin\ControllerBeforeAction\SetAnonymousCustomerIdControllerBeforeActionPlugin;
40
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartByRestCheckoutDataResourceRelationshipPlugin;
41
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartItemsByQuoteResourceRelationshipPlugin;
42
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\GuestCartByRestCheckoutDataResourceRelationshipPlugin;
43
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\GuestCartItemsByQuoteResourceRelationshipPlugin;
44
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartItemsResourceRoutePlugin;
45
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartsResourceRoutePlugin;
46
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CustomerCartsResourceRoutePlugin;
47
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\GuestCartItemsResourceRoutePlugin;
48
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\GuestCartsResourceRoutePlugin;
49
use Spryker\Glue\CartsRestApi\Plugin\Validator\AnonymousCustomerUniqueIdValidatorPlugin;
50
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchAbstractProductsResourceRelationshipPlugin;
51
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin;
52
use Spryker\Glue\CatalogSearchRestApi\CatalogSearchRestApiConfig;
53
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin;
54
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchResourceRoutePlugin;
55
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchSuggestionsResourceRoutePlugin;
56
use Spryker\Glue\CategoriesRestApi\Plugin\CategoriesResourceRoutePlugin;
57
use Spryker\Glue\CategoriesRestApi\Plugin\CategoryResourceRoutePlugin;
58
use Spryker\Glue\CheckoutRestApi\CheckoutRestApiConfig;
59
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutDataResourcePlugin;
60
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutResourcePlugin;
61
use Spryker\Glue\CmsPagesContentBannersResourceRelationship\Plugin\GlueApplication\ContentBannerByCmsPageResourceRelationshipPlugin;
62
use Spryker\Glue\CmsPagesContentProductAbstractListsResourceRelationship\Plugin\GlueApplication\ContentProductAbstractListByCmsPageResourceRelationshipPlugin;
63
use Spryker\Glue\CmsPagesRestApi\CmsPagesRestApiConfig;
64
use Spryker\Glue\CmsPagesRestApi\Plugin\GlueApplication\CmsPagesResourceRoutePlugin;
65
use Spryker\Glue\ConfigurableBundleCartsRestApi\Plugin\GlueApplication\ConfiguredBundlesResourceRoutePlugin;
66
use Spryker\Glue\ConfigurableBundleCartsRestApi\Plugin\GlueApplication\GuestConfiguredBundlesResourceRoutePlugin;
67
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\ConfigurableBundlesProductsResourceRelationshipConfig;
68
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\Plugin\GlueApplication\ProductConcreteByConfigurableBundleTemplateSlotResourceRelationshipPlugin;
69
use Spryker\Glue\ConfigurableBundlesRestApi\ConfigurableBundlesRestApiConfig;
70
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin;
71
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin;
72
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplatesResourceRoutePlugin;
73
use Spryker\Glue\ContentBannersRestApi\Plugin\ContentBannerResourceRoutePlugin;
74
use Spryker\Glue\ContentProductAbstractListsRestApi\ContentProductAbstractListsRestApiConfig;
75
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\AbstractProductsResourceRoutePlugin as ContentProductAbstractListAbstractProductsResourceRoutePlugin;
76
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ContentProductAbstractListsResourceRoutePlugin;
77
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ProductAbstractByContentProductAbstractListResourceRelationshipPlugin;
78
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessFormatRequestPlugin;
79
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessResourceRoutePlugin;
80
use Spryker\Glue\CustomersRestApi\CustomersRestApiConfig;
81
use Spryker\Glue\CustomersRestApi\Plugin\AddressesResourceRoutePlugin;
82
use Spryker\Glue\CustomersRestApi\Plugin\CustomerForgottenPasswordResourceRoutePlugin;
83
use Spryker\Glue\CustomersRestApi\Plugin\CustomerPasswordResourceRoutePlugin;
84
use Spryker\Glue\CustomersRestApi\Plugin\CustomerRestorePasswordResourceRoutePlugin;
85
use Spryker\Glue\CustomersRestApi\Plugin\CustomersResourceRoutePlugin;
86
use Spryker\Glue\CustomersRestApi\Plugin\CustomersToAddressesRelationshipPlugin;
87
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\AddressByCheckoutDataResourceRelationshipPlugin;
88
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerConfirmationResourceRoutePlugin;
89
use Spryker\Glue\CustomersRestApi\Plugin\SetCustomerBeforeActionPlugin;
90
use Spryker\Glue\DiscountPromotionsRestApi\DiscountPromotionsRestApiConfig;
91
use Spryker\Glue\DiscountPromotionsRestApi\Plugin\GlueApplication\PromotionItemByQuoteTransferResourceRelationshipPlugin;
92
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagFormatResponseHeadersPlugin;
93
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagRestRequestValidatorPlugin;
94
use Spryker\Glue\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin;
95
use Spryker\Glue\GiftCardsRestApi\Plugin\GlueApplication\GiftCardByQuoteResourceRelationshipPlugin;
96
use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
97
use Spryker\Glue\GlueApplication\Plugin\Application\GlueApplicationApplicationPlugin;
98
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\CorsValidateHttpRequestPlugin;
99
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\FallbackStorefrontApiGlueApplicationBootstrapPlugin;
100
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\HeadersValidateHttpRequestPlugin;
101
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\PaginationParametersValidateHttpRequestPlugin;
102
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRestUserValidatorPlugin;
103
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRouterParameterExpanderPlugin;
104
use Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface;
105
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendApiGlueApplicationBootstrapPlugin;
106
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendRouterProviderPlugin;
107
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as BackendControllerConfigurationCacheCollectorPlugin;
108
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as BackendCustomRouteRoutesProviderPlugin;
109
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as BackendResourcesProviderPlugin;
110
use Spryker\Glue\GlueBackendApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as BackendIsProtectedTableColumnExpanderPlugin;
111
use Spryker\Glue\GlueJsonApiConvention\Plugin\GlueApplication\JsonApiConventionPlugin;
112
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as StorefrontControllerConfigurationCacheCollectorPlugin;
113
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as StorefrontCustomRouteRoutesProviderPlugin;
114
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as StorefrontResourcesProviderPlugin;
115
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontApiGlueApplicationBootstrapPlugin;
116
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontRouterProviderPlugin;
117
use Spryker\Glue\GlueStorefrontApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as StorefrontIsProtectedTableColumnExpanderPlugin;
118
use Spryker\Glue\HealthCheck\Plugin\HealthCheckResourceRoutePlugin;
119
use Spryker\Glue\Http\Plugin\Application\HttpApplicationPlugin;
120
use Spryker\Glue\Locale\Plugin\Application\LocaleApplicationPlugin;
121
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthActivateResourcePlugin;
122
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthRestUserValidatorPlugin;
123
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTriggerResourcePlugin;
124
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeDeactivateResourcePlugin;
125
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypesResourcePlugin;
126
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeVerifyResourcePlugin;
127
use Spryker\Glue\NavigationsCategoryNodesResourceRelationship\Plugin\GlueApplication\CategoryNodeByResourceIdResourceRelationshipPlugin;
128
use Spryker\Glue\NavigationsRestApi\NavigationsRestApiConfig;
129
use Spryker\Glue\NavigationsRestApi\Plugin\ResourceRoute\NavigationsResourceRoutePlugin;
130
use Spryker\Glue\OrderAmendmentsRestApi\Plugin\GlueApplication\OrderAmendmentsByOrderResourceRelationshipPlugin;
131
use Spryker\Glue\OrderPaymentsRestApi\Plugin\OrderPaymentsResourceRoutePlugin;
132
use Spryker\Glue\OrdersRestApi\OrdersRestApiConfig;
133
use Spryker\Glue\OrdersRestApi\Plugin\CustomerOrdersResourceRoutePlugin;
134
use Spryker\Glue\OrdersRestApi\Plugin\OrderItemByResourceIdResourceRelationshipPlugin;
135
use Spryker\Glue\OrdersRestApi\Plugin\OrderRelationshipByOrderReferencePlugin;
136
use Spryker\Glue\OrdersRestApi\Plugin\OrdersResourceRoutePlugin;
137
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCancellationsResourceRoutePlugin;
138
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCustomersResourceRoutePlugin;
139
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentMethodsByCheckoutDataResourceRelationshipPlugin;
140
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentsResourceRoutePlugin;
141
use Spryker\Glue\ProductAttributesRestApi\Plugin\GlueApplication\ProductManagementAttributesResourceRoutePlugin;
142
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\AbstractProductAvailabilitiesRoutePlugin;
143
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\ConcreteProductAvailabilitiesRoutePlugin;
144
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
145
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
146
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundledItemByQuoteResourceRelationshipPlugin;
147
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundleItemByQuoteResourceRelationshipPlugin;
148
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\GuestBundleItemByQuoteResourceRelationshipPlugin;
149
use Spryker\Glue\ProductBundleCartsRestApi\ProductBundleCartsRestApiConfig;
150
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\BundledProductByProductConcreteSkuResourceRelationshipPlugin;
151
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\ConcreteProductsBundledProductsResourceRoutePlugin;
152
use Spryker\Glue\ProductBundlesRestApi\ProductBundlesRestApiConfig;
153
use Spryker\Glue\ProductConfigurationsRestApi\Plugin\GlueApplication\CartItemProductConfigurationRestRequestValidatorPlugin;
154
use Spryker\Glue\ProductImageSetsRestApi\Plugin\AbstractProductImageSetsRoutePlugin;
155
use Spryker\Glue\ProductImageSetsRestApi\Plugin\ConcreteProductImageSetsRoutePlugin;
156
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\AbstractProductsProductImageSetsResourceRelationshipPlugin;
157
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\ConcreteProductsProductImageSetsResourceRelationshipPlugin;
158
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelByProductConcreteSkuResourceRelationshipPlugin;
159
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsRelationshipByResourceIdPlugin;
160
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsResourceRoutePlugin;
161
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductAbstractSkuResourceRelationshipPlugin;
162
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductConcreteSkuResourceRelationshipPlugin;
163
use Spryker\Glue\ProductPricesRestApi\Plugin\AbstractProductPricesRoutePlugin;
164
use Spryker\Glue\ProductPricesRestApi\Plugin\ConcreteProductPricesRoutePlugin;
165
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\AbstractProductPricesByResourceIdResourceRelationshipPlugin;
166
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\ConcreteProductPricesByResourceIdResourceRelationshipPlugin;
167
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\CurrencyParameterValidatorPlugin;
168
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\PriceModeParameterValidatorPlugin;
169
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetPriceModeBeforeActionPlugin;
170
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\AbstractProductsProductReviewsResourceRoutePlugin;
171
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductAbstractSkuPlugin;
172
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductConcreteSkuPlugin;
173
use Spryker\Glue\ProductsCategoriesResourceRelationship\Plugin\AbstractProductsCategoriesResourceRelationshipPlugin;
174
use Spryker\Glue\ProductsRestApi\Plugin\AbstractProductsResourceRoutePlugin;
175
use Spryker\Glue\ProductsRestApi\Plugin\ConcreteProductsResourceRoutePlugin;
176
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductBySkuResourceRelationshipPlugin;
177
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin;
178
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractByProductAbstractSkuResourceRelationshipPlugin;
179
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractBySkuResourceRelationshipPlugin;
180
use Spryker\Glue\ProductsRestApi\ProductsRestApiConfig;
181
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin;
182
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetsResourceRoutePlugin;
183
use Spryker\Glue\RelatedProductsRestApi\Plugin\GlueApplication\RelatedProductsResourceRoutePlugin;
184
use Spryker\Glue\RestRequestValidator\Plugin\ValidateRestRequestAttributesPlugin;
185
use Spryker\Glue\Router\Plugin\Application\RouterApplicationPlugin;
186
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnItemByReturnResourceRelationshipPlugin;
187
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnReasonsResourceRoutePlugin;
188
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnsResourceRoutePlugin;
189
use Spryker\Glue\SalesReturnsRestApi\SalesReturnsRestApiConfig;
190
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentControllerAfterActionPlugin;
191
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentRestRequestValidatorPlugin;
192
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerControllerAfterActionPlugin;
193
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerRestRequestValidatorPlugin;
194
use Spryker\Glue\Session\Plugin\Application\SessionApplicationPlugin;
195
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\OrderShipmentByOrderResourceRelationshipPlugin;
196
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentMethodsByShipmentResourceRelationshipPlugin;
197
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentsByCheckoutDataResourceRelationshipPlugin;
198
use Spryker\Glue\ShipmentsRestApi\ShipmentsRestApiConfig;
199
use Spryker\Glue\StoresApi\Plugin\GlueStorefrontApiApplication\StoreApplicationPlugin;
200
use Spryker\Glue\StoresRestApi\Plugin\StoresResourceRoutePlugin;
201
use Spryker\Glue\TaxAppRestApi\Plugin\TaxValidateIdResourceRoutePlugin;
202
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\CartUpSellingProductsResourceRoutePlugin;
203
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\GuestCartUpSellingProductsResourceRoutePlugin;
204
use Spryker\Glue\UrlsRestApi\Plugin\GlueApplication\UrlResolverResourceRoutePlugin;
205
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistItemsResourceRoutePlugin;
206
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistRelationshipByResourceIdPlugin;
207
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistsResourceRoutePlugin;
208
use Spryker\Glue\WishlistsRestApi\WishlistsRestApiConfig;
209
210
/**
211
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
212
 */
213
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
214
{
215
    /**
216
     * {@inheritDoc}
217
     *
218
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
219
     */
220
    protected function getResourceRoutePlugins(): array
221
    {
222
        return [
223
            new ConcreteProductsResourceRoutePlugin(),
224
            new AccessTokensResourceRoutePlugin(),
225
            new RefreshTokensResourceRoutePlugin(),
226
            new CatalogSearchResourceRoutePlugin(),
227
            new StoresResourceRoutePlugin(),
0 ignored issues
show
Deprecated Code introduced by
The class Spryker\Glue\StoresRestA...oresResourceRoutePlugin has been deprecated: Use {@link \Spryker\Glue\StoresApi\Plugin\GlueStorefrontApiApplication\StoresResource} instead. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

227
            /** @scrutinizer ignore-deprecated */ new StoresResourceRoutePlugin(),
Loading history...
228
            new CatalogSearchSuggestionsResourceRoutePlugin(),
229
            new ConcreteProductAvailabilitiesRoutePlugin(),
230
            new AbstractProductAvailabilitiesRoutePlugin(),
231
            new CategoriesResourceRoutePlugin(),
232
            new CategoryResourceRoutePlugin(),
233
            new CustomersResourceRoutePlugin(),
234
            new CustomerForgottenPasswordResourceRoutePlugin(),
235
            new CustomerRestorePasswordResourceRoutePlugin(),
236
            new AbstractProductsResourceRoutePlugin(),
237
            new AbstractProductPricesRoutePlugin(),
238
            new ConcreteProductPricesRoutePlugin(),
239
            new CartsResourceRoutePlugin(),
240
            new CartItemsResourceRoutePlugin(),
241
            new AbstractProductImageSetsRoutePlugin(),
242
            new ConcreteProductImageSetsRoutePlugin(),
243
            new OrdersResourceRoutePlugin(),
244
            new WishlistsResourceRoutePlugin(),
245
            new WishlistItemsResourceRoutePlugin(),
246
            new CustomerPasswordResourceRoutePlugin(),
247
            new AddressesResourceRoutePlugin(),
248
            new GuestCartsResourceRoutePlugin(),
249
            new GuestCartItemsResourceRoutePlugin(),
250
            new ProductLabelsResourceRoutePlugin(),
251
            new CheckoutDataResourcePlugin(),
252
            new CheckoutResourcePlugin(),
253
            new NavigationsResourceRoutePlugin(),
254
            new RelatedProductsResourceRoutePlugin(),
255
            new CartUpSellingProductsResourceRoutePlugin(),
256
            new GuestCartUpSellingProductsResourceRoutePlugin(),
257
            new ConcreteAlternativeProductsResourceRoutePlugin(),
258
            new AbstractAlternativeProductsResourceRoutePlugin(),
259
            new ProductTaxSetsResourceRoutePlugin(),
260
            new OrderPaymentsResourceRoutePlugin(),
261
            new ContentBannerResourceRoutePlugin(),
262
            new UrlResolverResourceRoutePlugin(),
263
            new CustomerAccessResourceRoutePlugin(),
264
            new AbstractProductsProductReviewsResourceRoutePlugin(),
265
            new HealthCheckResourceRoutePlugin(),
266
            new CartVouchersResourceRoutePlugin(),
267
            new GuestCartVouchersResourceRoutePlugin(),
268
            new ReturnReasonsResourceRoutePlugin(),
269
            new ReturnsResourceRoutePlugin(),
270
            new CartCodesResourceRoutePlugin(),
271
            new GuestCartCodesResourceRoutePlugin(),
272
            new CmsPagesResourceRoutePlugin(),
273
            new ContentProductAbstractListAbstractProductsResourceRoutePlugin(),
274
            new ContentProductAbstractListsResourceRoutePlugin(),
275
            new AgentAccessTokensResourceRoutePlugin(),
276
            new AgentCustomerImpersonationAccessTokensResourceRoutePlugin(),
277
            new AgentCustomerSearchResourceRoutePlugin(),
278
            new ConcreteProductsBundledProductsResourceRoutePlugin(),
279
            new ProductManagementAttributesResourceRoutePlugin(),
280
            new CustomerConfirmationResourceRoutePlugin(),
281
            new TokenResourceRoutePlugin(),
282
            new CustomerOrdersResourceRoutePlugin(),
283
            new CustomerCartsResourceRoutePlugin(),
284
            new AvailabilityNotificationsResourceRoutePlugin(),
285
            new CustomerAvailabilityNotificationsResourceRoutePlugin(),
286
            new ConfigurableBundleTemplatesResourceRoutePlugin(),
287
            new MyAvailabilityNotificationsResourceRoutePlugin(),
288
            new ConfiguredBundlesResourceRoutePlugin(),
289
            new GuestConfiguredBundlesResourceRoutePlugin(),
290
            new PaymentsResourceRoutePlugin(),
291
            new PaymentCancellationsResourceRoutePlugin(),
292
            new PaymentCustomersResourceRoutePlugin(),
293
            new TaxValidateIdResourceRoutePlugin(),
294
            new MultiFactorAuthTypesResourcePlugin(),
295
            new MultiFactorAuthTriggerResourcePlugin(),
296
            new MultiFactorAuthActivateResourcePlugin(),
297
            new MultiFactorAuthTypeVerifyResourcePlugin(),
298
            new MultiFactorAuthTypeDeactivateResourcePlugin(),
299
            new CartReorderResourceRoutePlugin(),
300
        ];
301
    }
302
303
    /**
304
     * {@inheritDoc}
305
     *
306
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ValidateHttpRequestPluginInterface>
307
     */
308
    protected function getValidateHttpRequestPlugins(): array
309
    {
310
        return [
311
            new CorsValidateHttpRequestPlugin(),
312
            new PaginationParametersValidateHttpRequestPlugin(),
313
            new HeadersValidateHttpRequestPlugin(),
314
        ];
315
    }
316
317
    /**
318
     * {@inheritDoc}
319
     *
320
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormattedControllerBeforeActionPluginInterface>
321
     */
322
    protected function getFormattedControllerBeforeActionTerminatePlugins(): array
323
    {
324
        return [
325
            new FormattedControllerBeforeActionValidateAccessTokenPlugin(),
326
        ];
327
    }
328
329
    /**
330
     * {@inheritDoc}
331
     *
332
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormatRequestPluginInterface>
333
     */
334
    protected function getFormatRequestPlugins(): array
335
    {
336
        return [
337
            new CustomerAccessFormatRequestPlugin(),
338
        ];
339
    }
340
341
    /**
342
     * {@inheritDoc}
343
     *
344
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ValidateRestRequestPluginInterface>
345
     */
346
    protected function getValidateRestRequestPlugins(): array
347
    {
348
        return [
349
            new AnonymousCustomerUniqueIdValidatorPlugin(),
350
        ];
351
    }
352
353
    /**
354
     * {@inheritDoc}
355
     *
356
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestUserValidatorPluginInterface>
357
     */
358
    protected function getRestUserValidatorPlugins(): array
359
    {
360
        return [
361
            new AgentRestUserValidatorPlugin(),
362
            new AuthorizationRestUserValidatorPlugin(),
363
            new MultiFactorAuthRestUserValidatorPlugin(),
364
        ];
365
    }
366
367
    /**
368
     * {@inheritDoc}
369
     *
370
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestRequestValidatorPluginInterface>
371
     */
372
    protected function getRestRequestValidatorPlugins(): array
373
    {
374
        return [
375
            new SecurityBlockerCustomerRestRequestValidatorPlugin(),
376
            new SecurityBlockerAgentRestRequestValidatorPlugin(),
377
            new AgentAccessTokenRestRequestValidatorPlugin(),
378
            new SimultaneousAuthenticationRestRequestValidatorPlugin(),
379
            new AccessTokenRestRequestValidatorPlugin(),
380
            new ValidateRestRequestAttributesPlugin(),
381
            new CurrencyParameterValidatorPlugin(),
382
            new PriceModeParameterValidatorPlugin(),
383
            new EntityTagRestRequestValidatorPlugin(),
384
            new CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin(),
385
            new CartItemProductConfigurationRestRequestValidatorPlugin(),
386
        ];
387
    }
388
389
    /**
390
     * {@inheritDoc}
391
     *
392
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormatResponseHeadersPluginInterface>
393
     */
394
    protected function getFormatResponseHeadersPlugins(): array
395
    {
396
        return [
397
            new FormatAuthenticationErrorResponseHeadersPlugin(),
398
            new EntityTagFormatResponseHeadersPlugin(),
399
        ];
400
    }
401
402
    /**
403
     * {@inheritDoc}
404
     *
405
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerBeforeActionPluginInterface>
406
     */
407
    protected function getControllerBeforeActionPlugins(): array
408
    {
409
        return [
410
            new SetAnonymousCustomerIdControllerBeforeActionPlugin(),
411
            new SetCustomerBeforeActionPlugin(),
412
            new SetPriceModeBeforeActionPlugin(),
413
        ];
414
    }
415
416
    /**
417
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerAfterActionPluginInterface>
418
     */
419
    protected function getControllerAfterActionPlugins(): array
420
    {
421
        return [
422
            new SecurityBlockerCustomerControllerAfterActionPlugin(),
423
            new SecurityBlockerAgentControllerAfterActionPlugin(),
424
        ];
425
    }
426
427
    /**
428
     * {@inheritDoc}
429
     *
430
     * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
431
     *
432
     * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
433
     */
434
    protected function getResourceRelationshipPlugins(
435
        ResourceRelationshipCollectionInterface $resourceRelationshipCollection,
436
    ): ResourceRelationshipCollectionInterface {
437
        $resourceRelationshipCollection->addRelationship(
438
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
439
            new AbstractProductsProductImageSetsResourceRelationshipPlugin(),
440
        );
441
        $resourceRelationshipCollection->addRelationship(
442
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
443
            new ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin(),
444
        );
445
        $resourceRelationshipCollection->addRelationship(
446
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
447
            new ConcreteProductsProductImageSetsResourceRelationshipPlugin(),
448
        );
449
        $resourceRelationshipCollection->addRelationship(
450
            WishlistsRestApiConfig::RESOURCE_WISHLIST_ITEMS,
451
            new ConcreteProductBySkuResourceRelationshipPlugin(),
452
        );
453
        $resourceRelationshipCollection->addRelationship(
454
            CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH,
455
            new CatalogSearchAbstractProductsResourceRelationshipPlugin(),
456
        );
457
        $resourceRelationshipCollection->addRelationship(
458
            CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH_SUGGESTIONS,
459
            new CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin(),
460
        );
461
        $resourceRelationshipCollection->addRelationship(
462
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
463
            new AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin(),
464
        );
465
        $resourceRelationshipCollection->addRelationship(
466
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
467
            new ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin(),
468
        );
469
        $resourceRelationshipCollection->addRelationship(
470
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
471
            new AbstractProductPricesByResourceIdResourceRelationshipPlugin(),
472
        );
473
        $resourceRelationshipCollection->addRelationship(
474
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
475
            new ConcreteProductPricesByResourceIdResourceRelationshipPlugin(),
476
        );
477
        $resourceRelationshipCollection->addRelationship(
478
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
479
            new AbstractProductsCategoriesResourceRelationshipPlugin(),
480
        );
481
        $resourceRelationshipCollection->addRelationship(
482
            CustomersRestApiConfig::RESOURCE_CUSTOMERS,
483
            new CustomersToAddressesRelationshipPlugin(),
484
        );
485
        $resourceRelationshipCollection->addRelationship(
486
            CustomersRestApiConfig::RESOURCE_CUSTOMERS,
487
            new WishlistRelationshipByResourceIdPlugin(),
488
        );
489
        $resourceRelationshipCollection->addRelationship(
490
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
491
            new ProductLabelsRelationshipByResourceIdPlugin(),
492
        );
493
        $resourceRelationshipCollection->addRelationship(
494
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
495
            new ProductLabelByProductConcreteSkuResourceRelationshipPlugin(),
496
        );
497
        $resourceRelationshipCollection->addRelationship(
498
            CheckoutRestApiConfig::RESOURCE_CHECKOUT,
499
            new OrderRelationshipByOrderReferencePlugin(),
500
        );
501
        $resourceRelationshipCollection->addRelationship(
502
            CartsRestApiConfig::RESOURCE_CART_ITEMS,
503
            new ConcreteProductBySkuResourceRelationshipPlugin(),
504
        );
505
        $resourceRelationshipCollection->addRelationship(
506
            CartsRestApiConfig::RESOURCE_GUEST_CARTS_ITEMS,
507
            new ConcreteProductBySkuResourceRelationshipPlugin(),
508
        );
509
        $resourceRelationshipCollection->addRelationship(
510
            NavigationsRestApiConfig::RESOURCE_NAVIGATIONS,
511
            new CategoryNodeByResourceIdResourceRelationshipPlugin(),
512
        );
513
        $resourceRelationshipCollection->addRelationship(
514
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
515
            new ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin(),
516
        );
517
        $resourceRelationshipCollection->addRelationship(
518
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
519
            new ProductReviewsRelationshipByProductAbstractSkuPlugin(),
520
        );
521
        $resourceRelationshipCollection->addRelationship(
522
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
523
            new ProductReviewsRelationshipByProductConcreteSkuPlugin(),
524
        );
525
        $resourceRelationshipCollection->addRelationship(
526
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
527
            new ProductOptionsByProductAbstractSkuResourceRelationshipPlugin(),
528
        );
529
        $resourceRelationshipCollection->addRelationship(
530
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
531
            new ProductOptionsByProductConcreteSkuResourceRelationshipPlugin(),
532
        );
533
        $resourceRelationshipCollection->addRelationship(
534
            CartsRestApiConfig::RESOURCE_CARTS,
535
            new VoucherByQuoteResourceRelationshipPlugin(),
536
        );
537
        $resourceRelationshipCollection->addRelationship(
538
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
539
            new VoucherByQuoteResourceRelationshipPlugin(),
540
        );
541
        $resourceRelationshipCollection->addRelationship(
542
            CartsRestApiConfig::RESOURCE_CARTS,
543
            new CartRuleByQuoteResourceRelationshipPlugin(),
544
        );
545
        $resourceRelationshipCollection->addRelationship(
546
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
547
            new CartRuleByQuoteResourceRelationshipPlugin(),
548
        );
549
        $resourceRelationshipCollection->addRelationship(
550
            CartsRestApiConfig::RESOURCE_CARTS,
551
            new CartItemsByQuoteResourceRelationshipPlugin(),
552
        );
553
        $resourceRelationshipCollection->addRelationship(
554
            CartsRestApiConfig::RESOURCE_CARTS,
555
            new PromotionItemByQuoteTransferResourceRelationshipPlugin(),
556
        );
557
        $resourceRelationshipCollection->addRelationship(
558
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
559
            new PromotionItemByQuoteTransferResourceRelationshipPlugin(),
560
        );
561
        $resourceRelationshipCollection->addRelationship(
562
            DiscountPromotionsRestApiConfig::RESOURCE_PROMOTIONAL_ITEMS,
563
            new ProductAbstractBySkuResourceRelationshipPlugin(),
564
        );
565
        $resourceRelationshipCollection->addRelationship(
566
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
567
            new ShipmentsByCheckoutDataResourceRelationshipPlugin(),
568
        );
569
        $resourceRelationshipCollection->addRelationship(
570
            ShipmentsRestApiConfig::RESOURCE_SHIPMENTS,
571
            new ShipmentMethodsByShipmentResourceRelationshipPlugin(),
572
        );
573
        $resourceRelationshipCollection->addRelationship(
574
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
575
            new PaymentMethodsByCheckoutDataResourceRelationshipPlugin(),
576
        );
577
        $resourceRelationshipCollection->addRelationship(
578
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
579
            new AddressByCheckoutDataResourceRelationshipPlugin(),
580
        );
581
        $resourceRelationshipCollection->addRelationship(
582
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
583
            new CartByRestCheckoutDataResourceRelationshipPlugin(),
584
        );
585
        $resourceRelationshipCollection->addRelationship(
586
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
587
            new GuestCartByRestCheckoutDataResourceRelationshipPlugin(),
588
        );
589
        $resourceRelationshipCollection->addRelationship(
590
            SalesReturnsRestApiConfig::RESOURCE_RETURNS,
591
            new ReturnItemByReturnResourceRelationshipPlugin(),
592
        );
593
        $resourceRelationshipCollection->addRelationship(
594
            OrdersRestApiConfig::RESOURCE_ORDERS,
595
            new OrderShipmentByOrderResourceRelationshipPlugin(),
596
        );
597
        $resourceRelationshipCollection->addRelationship(
598
            SalesReturnsRestApiConfig::RESOURCE_RETURN_ITEMS,
599
            new OrderItemByResourceIdResourceRelationshipPlugin(),
600
        );
601
        $resourceRelationshipCollection->addRelationship(
602
            CartsRestApiConfig::RESOURCE_CARTS,
603
            new GiftCardByQuoteResourceRelationshipPlugin(),
604
        );
605
        $resourceRelationshipCollection->addRelationship(
606
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
607
            new GiftCardByQuoteResourceRelationshipPlugin(),
608
        );
609
        $resourceRelationshipCollection->addRelationship(
610
            ProductBundlesRestApiConfig::RESOURCE_BUNDLED_PRODUCTS,
611
            new ConcreteProductBySkuResourceRelationshipPlugin(),
612
        );
613
        $resourceRelationshipCollection->addRelationship(
614
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
615
            new BundledProductByProductConcreteSkuResourceRelationshipPlugin(),
616
        );
617
        $resourceRelationshipCollection->addRelationship(
618
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
619
            new ProductAbstractByProductAbstractSkuResourceRelationshipPlugin(),
620
        );
621
        $resourceRelationshipCollection->addRelationship(
622
            CartsRestApiConfig::RESOURCE_CARTS,
623
            new BundleItemByQuoteResourceRelationshipPlugin(),
624
        );
625
        $resourceRelationshipCollection->addRelationship(
626
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
627
            new GuestBundleItemByQuoteResourceRelationshipPlugin(),
628
        );
629
        $resourceRelationshipCollection->addRelationship(
630
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLE_ITEMS,
631
            new BundledItemByQuoteResourceRelationshipPlugin(),
632
        );
633
        $resourceRelationshipCollection->addRelationship(
634
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLE_ITEMS,
635
            new ConcreteProductBySkuResourceRelationshipPlugin(),
636
        );
637
        $resourceRelationshipCollection->addRelationship(
638
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLED_ITEMS,
639
            new ConcreteProductBySkuResourceRelationshipPlugin(),
640
        );
641
        $resourceRelationshipCollection->addRelationship(
642
            CartsRestApiConfig::RESOURCE_GUEST_CARTS,
643
            new GuestCartItemsByQuoteResourceRelationshipPlugin(),
644
        );
645
        $resourceRelationshipCollection->addRelationship(
646
            ConfigurableBundlesRestApiConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATES,
647
            new ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin(),
648
        );
649
650
        $resourceRelationshipCollection->addRelationship(
651
            ConfigurableBundlesRestApiConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATES,
652
            new ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin(),
653
        );
654
655
        $resourceRelationshipCollection->addRelationship(
656
            ConfigurableBundlesProductsResourceRelationshipConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATE_SLOTS,
657
            new ProductConcreteByConfigurableBundleTemplateSlotResourceRelationshipPlugin(),
658
        );
659
        $resourceRelationshipCollection->addRelationship(
660
            CmsPagesRestApiConfig::RESOURCE_CMS_PAGES,
661
            new ContentBannerByCmsPageResourceRelationshipPlugin(),
662
        );
663
        $resourceRelationshipCollection->addRelationship(
664
            CmsPagesRestApiConfig::RESOURCE_CMS_PAGES,
665
            new ContentProductAbstractListByCmsPageResourceRelationshipPlugin(),
666
        );
667
        $resourceRelationshipCollection->addRelationship(
668
            ContentProductAbstractListsRestApiConfig::RESOURCE_CONTENT_PRODUCT_ABSTRACT_LISTS,
669
            new ProductAbstractByContentProductAbstractListResourceRelationshipPlugin(),
670
        );
671
        $resourceRelationshipCollection->addRelationship(
672
            OrdersRestApiConfig::RESOURCE_ORDERS,
673
            new OrderAmendmentsByOrderResourceRelationshipPlugin(),
674
        );
675
676
        return $resourceRelationshipCollection;
677
    }
678
679
    /**
680
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestUserFinderPluginInterface>
681
     */
682
    protected function getRestUserFinderPlugins(): array
683
    {
684
        return [
685
            new RestUserFinderByAccessTokenPlugin(),
686
            new AgentAccessTokenRestUserFinderPlugin(),
687
        ];
688
    }
689
690
    /**
691
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
692
     */
693
    protected function getApplicationPlugins(): array
694
    {
695
        return [
696
            new HttpApplicationPlugin(),
697
            new SessionApplicationPlugin(),
698
            new EventDispatcherApplicationPlugin(),
699
            new GlueApplicationApplicationPlugin(),
700
            new RouterApplicationPlugin(),
701
            new StoreApplicationPlugin(),
702
            new LocaleApplicationPlugin(),
703
        ];
704
    }
705
706
    /**
707
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RouterParameterExpanderPluginInterface>
708
     */
709
    protected function getRouterParameterExpanderPlugins(): array
710
    {
711
        return [
712
            new AuthorizationRouterParameterExpanderPlugin(),
713
        ];
714
    }
715
716
    /**
717
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\GlueApplicationBootstrapPluginInterface>
718
     */
719
    protected function getGlueApplicationBootstrapPlugins(): array
720
    {
721
        return [
722
            new StorefrontApiGlueApplicationBootstrapPlugin(),
723
            new BackendApiGlueApplicationBootstrapPlugin(),
724
            new FallbackStorefrontApiGlueApplicationBootstrapPlugin(),
725
        ];
726
    }
727
728
    /**
729
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ConventionPluginInterface>
730
     */
731
    protected function getConventionPlugins(): array
732
    {
733
        return [
734
            new JsonApiConventionPlugin(),
735
        ];
736
    }
737
738
    /**
739
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerConfigurationCacheCollectorPluginInterface>
740
     */
741
    protected function getControllerConfigurationCacheCollectorPlugins(): array
742
    {
743
        return [
744
            new StorefrontControllerConfigurationCacheCollectorPlugin(),
745
            new BackendControllerConfigurationCacheCollectorPlugin(),
746
        ];
747
    }
748
749
    /**
750
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ApiApplicationEndpointProviderPluginInterface>
751
     */
752
    protected function getGlueApplicationRouterProviderPlugins(): array
753
    {
754
        return [
755
            new BackendRouterProviderPlugin(),
756
            new StorefrontRouterProviderPlugin(),
757
        ];
758
    }
759
760
    /**
761
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RoutesProviderPluginInterface>
762
     */
763
    protected function getRoutesProviderPlugins(): array
764
    {
765
        return [
766
            new StorefrontCustomRouteRoutesProviderPlugin(),
767
            new BackendCustomRouteRoutesProviderPlugin(),
768
        ];
769
    }
770
771
    /**
772
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourcesProviderPluginInterface>
773
     */
774
    protected function getResourcesProviderPlugins(): array
775
    {
776
        return [
777
            new StorefrontResourcesProviderPlugin(),
778
            new BackendResourcesProviderPlugin(),
779
        ];
780
    }
781
782
    /**
783
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\TableColumnExpanderPluginInterface>
784
     */
785
    protected function getTableColumnExpanderPlugins(): array
786
    {
787
        return [
788
            new BackendIsProtectedTableColumnExpanderPlugin(),
789
            new StorefrontIsProtectedTableColumnExpanderPlugin(),
790
        ];
791
    }
792
}
793