getValidateHttpRequestPlugins()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 4
dl 0
loc 6
c 1
b 0
f 0
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\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin;
122
use Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursResourceRoutePlugin;
123
use Spryker\Glue\MerchantProductOffersRestApi\MerchantProductOffersRestApiConfig;
124
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ConcreteProductsProductOffersResourceRoutePlugin;
125
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersByProductConcreteSkuResourceRelationshipPlugin;
126
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersResourceRoutePlugin;
127
use Spryker\Glue\MerchantsRestApi\MerchantsRestApiConfig;
128
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressByMerchantReferenceResourceRelationshipPlugin;
129
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressesResourceRoutePlugin;
130
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantByMerchantReferenceResourceRelationshipPlugin;
131
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantsResourceRoutePlugin;
132
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthActivateResourcePlugin;
133
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthRestUserValidatorPlugin;
134
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTriggerResourcePlugin;
135
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeDeactivateResourcePlugin;
136
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypesResourcePlugin;
137
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeVerifyResourcePlugin;
138
use Spryker\Glue\NavigationsCategoryNodesResourceRelationship\Plugin\GlueApplication\CategoryNodeByResourceIdResourceRelationshipPlugin;
139
use Spryker\Glue\NavigationsRestApi\NavigationsRestApiConfig;
140
use Spryker\Glue\NavigationsRestApi\Plugin\ResourceRoute\NavigationsResourceRoutePlugin;
141
use Spryker\Glue\OrderAmendmentsRestApi\Plugin\GlueApplication\OrderAmendmentsByOrderResourceRelationshipPlugin;
142
use Spryker\Glue\OrderPaymentsRestApi\Plugin\OrderPaymentsResourceRoutePlugin;
143
use Spryker\Glue\OrdersRestApi\OrdersRestApiConfig;
144
use Spryker\Glue\OrdersRestApi\Plugin\CustomerOrdersResourceRoutePlugin;
145
use Spryker\Glue\OrdersRestApi\Plugin\OrderItemByResourceIdResourceRelationshipPlugin;
146
use Spryker\Glue\OrdersRestApi\Plugin\OrderRelationshipByOrderReferencePlugin;
147
use Spryker\Glue\OrdersRestApi\Plugin\OrdersResourceRoutePlugin;
148
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCancellationsResourceRoutePlugin;
149
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCustomersResourceRoutePlugin;
150
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentMethodsByCheckoutDataResourceRelationshipPlugin;
151
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentsResourceRoutePlugin;
152
use Spryker\Glue\ProductAttributesRestApi\Plugin\GlueApplication\ProductManagementAttributesResourceRoutePlugin;
153
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\AbstractProductAvailabilitiesRoutePlugin;
154
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\ConcreteProductAvailabilitiesRoutePlugin;
155
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
156
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
157
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundledItemByQuoteResourceRelationshipPlugin;
158
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundleItemByQuoteResourceRelationshipPlugin;
159
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\GuestBundleItemByQuoteResourceRelationshipPlugin;
160
use Spryker\Glue\ProductBundleCartsRestApi\ProductBundleCartsRestApiConfig;
161
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\BundledProductByProductConcreteSkuResourceRelationshipPlugin;
162
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\ConcreteProductsBundledProductsResourceRoutePlugin;
163
use Spryker\Glue\ProductBundlesRestApi\ProductBundlesRestApiConfig;
164
use Spryker\Glue\ProductConfigurationsRestApi\Plugin\GlueApplication\CartItemProductConfigurationRestRequestValidatorPlugin;
165
use Spryker\Glue\ProductImageSetsRestApi\Plugin\AbstractProductImageSetsRoutePlugin;
166
use Spryker\Glue\ProductImageSetsRestApi\Plugin\ConcreteProductImageSetsRoutePlugin;
167
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\AbstractProductsProductImageSetsResourceRelationshipPlugin;
168
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\ConcreteProductsProductImageSetsResourceRelationshipPlugin;
169
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelByProductConcreteSkuResourceRelationshipPlugin;
170
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsRelationshipByResourceIdPlugin;
171
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsResourceRoutePlugin;
172
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin;
173
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesResourceRoutePlugin;
174
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin;
175
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPricesResourceRoutePlugin;
176
use Spryker\Glue\ProductOfferServicePointAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferServicePointAvailabilitiesResourceRoutePlugin;
177
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductAbstractSkuResourceRelationshipPlugin;
178
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductConcreteSkuResourceRelationshipPlugin;
179
use Spryker\Glue\ProductPricesRestApi\Plugin\AbstractProductPricesRoutePlugin;
180
use Spryker\Glue\ProductPricesRestApi\Plugin\ConcreteProductPricesRoutePlugin;
181
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\AbstractProductPricesByResourceIdResourceRelationshipPlugin;
182
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\ConcreteProductPricesByResourceIdResourceRelationshipPlugin;
183
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\CurrencyParameterValidatorPlugin;
184
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\PriceModeParameterValidatorPlugin;
185
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetPriceModeBeforeActionPlugin;
186
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\AbstractProductsProductReviewsResourceRoutePlugin;
187
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductAbstractSkuPlugin;
188
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductConcreteSkuPlugin;
189
use Spryker\Glue\ProductsCategoriesResourceRelationship\Plugin\AbstractProductsCategoriesResourceRelationshipPlugin;
190
use Spryker\Glue\ProductsRestApi\Plugin\AbstractProductsResourceRoutePlugin;
191
use Spryker\Glue\ProductsRestApi\Plugin\ConcreteProductsResourceRoutePlugin;
192
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductBySkuResourceRelationshipPlugin;
193
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin;
194
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractByProductAbstractSkuResourceRelationshipPlugin;
195
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractBySkuResourceRelationshipPlugin;
196
use Spryker\Glue\ProductsRestApi\ProductsRestApiConfig;
197
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin;
198
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetsResourceRoutePlugin;
199
use Spryker\Glue\RelatedProductsRestApi\Plugin\GlueApplication\RelatedProductsResourceRoutePlugin;
200
use Spryker\Glue\RestRequestValidator\Plugin\ValidateRestRequestAttributesPlugin;
201
use Spryker\Glue\Router\Plugin\Application\RouterApplicationPlugin;
202
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnItemByReturnResourceRelationshipPlugin;
203
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnReasonsResourceRoutePlugin;
204
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnsResourceRoutePlugin;
205
use Spryker\Glue\SalesReturnsRestApi\SalesReturnsRestApiConfig;
206
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentControllerAfterActionPlugin;
207
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentRestRequestValidatorPlugin;
208
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerControllerAfterActionPlugin;
209
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerRestRequestValidatorPlugin;
210
use Spryker\Glue\ServicePointsRestApi\Plugin\GlueApplication\ServicePointAddressesByServicePointUuidResourceRelationshipPlugin;
211
use Spryker\Glue\ServicePointsRestApi\Plugin\GlueApplication\ServicePointAddressesResourceRoutePlugin;
212
use Spryker\Glue\ServicePointsRestApi\Plugin\GlueApplication\ServicePointsByCheckoutDataResourceRelationshipPlugin;
213
use Spryker\Glue\ServicePointsRestApi\Plugin\GlueApplication\ServicePointsResourceRoutePlugin;
214
use Spryker\Glue\ServicePointsRestApi\ServicePointsRestApiConfig;
215
use Spryker\Glue\Session\Plugin\Application\SessionApplicationPlugin;
216
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\OrderShipmentByOrderResourceRelationshipPlugin;
217
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentMethodsByShipmentResourceRelationshipPlugin;
218
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentsByCheckoutDataResourceRelationshipPlugin;
219
use Spryker\Glue\ShipmentsRestApi\ShipmentsRestApiConfig;
220
use Spryker\Glue\ShipmentTypeServicePointsRestApi\Plugin\GlueApplication\ServiceTypeByShipmentTypesResourceRelationshipPlugin;
221
use Spryker\Glue\ShipmentTypesRestApi\Plugin\GlueApplication\ShipmentTypesByShipmentMethodsResourceRelationshipPlugin;
222
use Spryker\Glue\ShipmentTypesRestApi\Plugin\GlueApplication\ShipmentTypesResourceRoutePlugin;
223
use Spryker\Glue\ShipmentTypesRestApi\ShipmentTypesRestApiConfig;
224
use Spryker\Glue\StoresApi\Plugin\GlueStorefrontApiApplication\StoreApplicationPlugin;
225
use Spryker\Glue\StoresRestApi\Plugin\StoresResourceRoutePlugin;
226
use Spryker\Glue\TaxAppRestApi\Plugin\TaxValidateIdResourceRoutePlugin;
227
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\CartUpSellingProductsResourceRoutePlugin;
228
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\GuestCartUpSellingProductsResourceRoutePlugin;
229
use Spryker\Glue\UrlsRestApi\Plugin\GlueApplication\UrlResolverResourceRoutePlugin;
230
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistItemsResourceRoutePlugin;
231
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistRelationshipByResourceIdPlugin;
232
use Spryker\Glue\WishlistsRestApi\Plugin\WishlistsResourceRoutePlugin;
233
use Spryker\Glue\WishlistsRestApi\WishlistsRestApiConfig;
234
235
/**
236
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
237
 */
238
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
239
{
240
    /**
241
     * {@inheritDoc}
242
     *
243
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
244
     */
245
    protected function getResourceRoutePlugins(): array
246
    {
247
        return [
248
            new ConcreteProductsResourceRoutePlugin(),
249
            new AccessTokensResourceRoutePlugin(),
250
            new RefreshTokensResourceRoutePlugin(),
251
            new CatalogSearchResourceRoutePlugin(),
252
            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

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