Passed
Pull Request — master (#104)
by Anton
13:25
created

getConventionPlugins()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
c 0
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
namespace Pyz\Glue\GlueApplication;
9
10
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestRequestValidatorPlugin;
11
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestUserFinderPlugin;
12
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokensResourceRoutePlugin;
13
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerImpersonationAccessTokensResourceRoutePlugin;
14
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerSearchResourceRoutePlugin;
15
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentRestUserValidatorPlugin;
16
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\AbstractAlternativeProductsResourceRoutePlugin;
17
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\ConcreteAlternativeProductsResourceRoutePlugin;
18
use Spryker\Glue\AuthRestApi\Plugin\AccessTokensResourceRoutePlugin;
19
use Spryker\Glue\AuthRestApi\Plugin\FormatAuthenticationErrorResponseHeadersPlugin;
20
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\AccessTokenRestRequestValidatorPlugin;
21
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\FormattedControllerBeforeActionValidateAccessTokenPlugin;
22
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\SimultaneousAuthenticationRestRequestValidatorPlugin;
23
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\TokenResourceRoutePlugin;
24
use Spryker\Glue\AuthRestApi\Plugin\RefreshTokensResourceRoutePlugin;
25
use Spryker\Glue\AuthRestApi\Plugin\RestUserFinderByAccessTokenPlugin;
26
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\AvailabilityNotificationsResourceRoutePlugin;
27
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\CustomerAvailabilityNotificationsResourceRoutePlugin;
28
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\MyAvailabilityNotificationsResourceRoutePlugin;
29
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartCodesResourceRoutePlugin;
30
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartRuleByQuoteResourceRelationshipPlugin;
31
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartVouchersResourceRoutePlugin;
32
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\VoucherByQuoteResourceRelationshipPlugin;
33
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupByQuoteResourceRelationshipPlugin;
34
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupByShareDetailResourceRelationshipPlugin;
35
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupsResourceRoutePlugin;
36
use Spryker\Glue\CartsRestApi\CartsRestApiConfig;
37
use Spryker\Glue\CartsRestApi\Plugin\ControllerBeforeAction\SetAnonymousCustomerIdControllerBeforeActionPlugin;
38
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartByRestCheckoutDataResourceRelationshipPlugin;
39
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartItemsByQuoteResourceRelationshipPlugin;
40
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\GuestCartByRestCheckoutDataResourceRelationshipPlugin;
41
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartItemsResourceRoutePlugin;
42
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartsResourceRoutePlugin;
43
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CustomerCartsResourceRoutePlugin;
44
use Spryker\Glue\CartsRestApi\Plugin\Validator\AnonymousCustomerUniqueIdValidatorPlugin;
45
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchAbstractProductsResourceRelationshipPlugin;
46
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin;
47
use Spryker\Glue\CatalogSearchRestApi\CatalogSearchRestApiConfig;
48
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin;
49
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchResourceRoutePlugin;
50
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchSuggestionsResourceRoutePlugin;
51
use Spryker\Glue\CategoriesRestApi\Plugin\CategoriesResourceRoutePlugin;
52
use Spryker\Glue\CategoriesRestApi\Plugin\CategoryResourceRoutePlugin;
53
use Spryker\Glue\CheckoutRestApi\CheckoutRestApiConfig;
54
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutDataResourcePlugin;
55
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutResourcePlugin;
56
use Spryker\Glue\CmsPagesContentBannersResourceRelationship\Plugin\GlueApplication\ContentBannerByCmsPageResourceRelationshipPlugin;
57
use Spryker\Glue\CmsPagesContentProductAbstractListsResourceRelationship\Plugin\GlueApplication\ContentProductAbstractListByCmsPageResourceRelationshipPlugin;
58
use Spryker\Glue\CmsPagesRestApi\CmsPagesRestApiConfig;
59
use Spryker\Glue\CmsPagesRestApi\Plugin\GlueApplication\CmsPagesResourceRoutePlugin;
60
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompaniesResourcePlugin;
61
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyBusinessUnitResourceRelationshipPlugin;
62
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyRoleResourceRelationshipPlugin;
63
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyUserResourceRelationshipPlugin;
64
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressByCheckoutDataResourceRelationshipPlugin;
65
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesByCompanyBusinessUnitResourceRelationshipPlugin;
66
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesResourcePlugin;
67
use Spryker\Glue\CompanyBusinessUnitsRestApi\CompanyBusinessUnitsRestApiConfig;
68
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitByCompanyUserResourceRelationshipPlugin;
69
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitsResourcePlugin;
70
use Spryker\Glue\CompanyRolesRestApi\CompanyRolesRestApiConfig;
71
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRoleByCompanyUserResourceRelationshipPlugin;
72
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRolesResourcePlugin;
73
use Spryker\Glue\CompanyUserAuthRestApi\Plugin\GlueApplication\CompanyUserAccessTokensResourceRoutePlugin;
74
use Spryker\Glue\CompanyUsersRestApi\CompanyUsersRestApiConfig;
75
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserByShareDetailResourceRelationshipPlugin;
76
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserRestUserValidatorPlugin;
77
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUsersResourceRoutePlugin;
78
use Spryker\Glue\ConfigurableBundleCartsRestApi\Plugin\GlueApplication\ConfiguredBundlesResourceRoutePlugin;
79
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\ConfigurableBundlesProductsResourceRelationshipConfig;
80
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\Plugin\GlueApplication\ProductConcreteByConfigurableBundleTemplateSlotResourceRelationshipPlugin;
81
use Spryker\Glue\ConfigurableBundlesRestApi\ConfigurableBundlesRestApiConfig;
82
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin;
83
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin;
84
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplatesResourceRoutePlugin;
85
use Spryker\Glue\ContentBannersRestApi\Plugin\ContentBannerResourceRoutePlugin;
86
use Spryker\Glue\ContentProductAbstractListsRestApi\ContentProductAbstractListsRestApiConfig;
87
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\AbstractProductsResourceRoutePlugin as ContentProductAbstractListAbstractProductsResourceRoutePlugin;
88
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ContentProductAbstractListsResourceRoutePlugin;
89
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ProductAbstractByContentProductAbstractListResourceRelationshipPlugin;
90
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessFormatRequestPlugin;
91
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessResourceRoutePlugin;
92
use Spryker\Glue\CustomersRestApi\CustomersRestApiConfig;
93
use Spryker\Glue\CustomersRestApi\Plugin\AddressesResourceRoutePlugin;
94
use Spryker\Glue\CustomersRestApi\Plugin\CustomerForgottenPasswordResourceRoutePlugin;
95
use Spryker\Glue\CustomersRestApi\Plugin\CustomerPasswordResourceRoutePlugin;
96
use Spryker\Glue\CustomersRestApi\Plugin\CustomerRestorePasswordResourceRoutePlugin;
97
use Spryker\Glue\CustomersRestApi\Plugin\CustomersResourceRoutePlugin;
98
use Spryker\Glue\CustomersRestApi\Plugin\CustomersToAddressesRelationshipPlugin;
99
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\AddressByCheckoutDataResourceRelationshipPlugin;
100
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerByCompanyUserResourceRelationshipPlugin;
101
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerConfirmationResourceRoutePlugin;
102
use Spryker\Glue\CustomersRestApi\Plugin\SetCustomerBeforeActionPlugin;
103
use Spryker\Glue\DiscountPromotionsRestApi\DiscountPromotionsRestApiConfig;
104
use Spryker\Glue\DiscountPromotionsRestApi\Plugin\GlueApplication\PromotionItemByQuoteTransferResourceRelationshipPlugin;
105
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagFormatResponseHeadersPlugin;
106
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagRestRequestValidatorPlugin;
107
use Spryker\Glue\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin;
108
use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
109
use Spryker\Glue\GlueApplication\Plugin\Application\GlueApplicationApplicationPlugin;
110
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\CorsValidateHttpRequestPlugin;
111
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\FallbackStorefrontApiGlueApplicationBootstrapPlugin;
112
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\HeadersValidateHttpRequestPlugin;
113
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\PaginationParametersValidateHttpRequestPlugin;
114
use Spryker\Glue\GlueApplication\Plugin\Rest\SetStoreCurrentLocaleBeforeActionPlugin;
115
use Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface;
116
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendApiGlueApplicationBootstrapPlugin;
117
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendRouterProviderPlugin;
118
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ControllerCacheCollectorPlugin as BackendControllerCacheCollectorPlugin;
119
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as BackendCustomRouteRoutesProviderPlugin;
120
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as BackendResourcesProviderPlugin;
121
use Spryker\Glue\GlueBackendApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as BackendIsProtectedTableColumnExpanderPlugin;
122
use Spryker\Glue\GlueJsonApiConvention\Plugin\GlueApplication\JsonApiConventionPlugin;
123
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ControllerCacheCollectorPlugin as StorefrontControllerCacheCollectorPlugin;
124
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as StorefrontCustomRouteRoutesProviderPlugin;
125
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as StorefrontResourcesProviderPlugin;
126
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontApiGlueApplicationBootstrapPlugin;
127
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontRouterProviderPlugin;
128
use Spryker\Glue\GlueStorefrontApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as StorefrontIsProtectedTableColumnExpanderPlugin;
129
use Spryker\Glue\HealthCheck\Plugin\HealthCheckResourceRoutePlugin;
130
use Spryker\Glue\Http\Plugin\Application\HttpApplicationPlugin;
131
use Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin;
132
use Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursResourceRoutePlugin;
133
use Spryker\Glue\MerchantProductOffersRestApi\MerchantProductOffersRestApiConfig;
134
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ConcreteProductsProductOffersResourceRoutePlugin;
135
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersByProductConcreteSkuResourceRelationshipPlugin;
136
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersResourceRoutePlugin;
137
use Spryker\Glue\MerchantsRestApi\MerchantsRestApiConfig;
138
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressByMerchantReferenceResourceRelationshipPlugin;
139
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressesResourceRoutePlugin;
140
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantByMerchantReferenceResourceRelationshipPlugin;
141
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantsByOrderResourceRelationshipPlugin;
142
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantsResourceRoutePlugin;
143
use Spryker\Glue\NavigationsCategoryNodesResourceRelationship\Plugin\GlueApplication\CategoryNodeByResourceIdResourceRelationshipPlugin;
144
use Spryker\Glue\NavigationsRestApi\NavigationsRestApiConfig;
145
use Spryker\Glue\NavigationsRestApi\Plugin\ResourceRoute\NavigationsResourceRoutePlugin;
146
use Spryker\Glue\OrderPaymentsRestApi\Plugin\OrderPaymentsResourceRoutePlugin;
147
use Spryker\Glue\OrdersRestApi\OrdersRestApiConfig;
148
use Spryker\Glue\OrdersRestApi\Plugin\CustomerOrdersResourceRoutePlugin;
149
use Spryker\Glue\OrdersRestApi\Plugin\OrderItemByResourceIdResourceRelationshipPlugin;
150
use Spryker\Glue\OrdersRestApi\Plugin\OrderRelationshipByOrderReferencePlugin;
151
use Spryker\Glue\OrdersRestApi\Plugin\OrdersResourceRoutePlugin;
152
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentMethodsByCheckoutDataResourceRelationshipPlugin;
153
use Spryker\Glue\ProductAttributesRestApi\Plugin\GlueApplication\ProductManagementAttributesResourceRoutePlugin;
154
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\AbstractProductAvailabilitiesRoutePlugin;
155
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\ConcreteProductAvailabilitiesRoutePlugin;
156
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
157
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
158
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundledItemByQuoteResourceRelationshipPlugin;
159
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundleItemByQuoteResourceRelationshipPlugin;
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\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsByProductConcreteResourceRelationshipPlugin;
173
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsBySalesUnitResourceRelationshipPlugin;
174
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsResourceRoutePlugin;
175
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByCartItemResourceRelationshipPlugin;
176
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByProductConcreteResourceRelationshipPlugin;
177
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsResourceRoutePlugin;
178
use Spryker\Glue\ProductMeasurementUnitsRestApi\ProductMeasurementUnitsRestApiConfig;
179
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin;
180
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesResourceRoutePlugin;
181
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin;
182
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPricesResourceRoutePlugin;
183
use Spryker\Glue\ProductOffersRestApi\Plugin\GlueApplication\ProductOffersByProductOfferReferenceResourceRelationshipPlugin;
184
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductAbstractSkuResourceRelationshipPlugin;
185
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductConcreteSkuResourceRelationshipPlugin;
186
use Spryker\Glue\ProductPricesRestApi\Plugin\AbstractProductPricesRoutePlugin;
187
use Spryker\Glue\ProductPricesRestApi\Plugin\ConcreteProductPricesRoutePlugin;
188
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\AbstractProductPricesByResourceIdResourceRelationshipPlugin;
189
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\ConcreteProductPricesByResourceIdResourceRelationshipPlugin;
190
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\CurrencyParameterValidatorPlugin;
191
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\PriceModeParameterValidatorPlugin;
192
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetCurrencyBeforeActionPlugin;
193
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetPriceModeBeforeActionPlugin;
194
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\AbstractProductsProductReviewsResourceRoutePlugin;
195
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductAbstractSkuPlugin;
196
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductConcreteSkuPlugin;
197
use Spryker\Glue\ProductsCategoriesResourceRelationship\Plugin\AbstractProductsCategoriesResourceRelationshipPlugin;
198
use Spryker\Glue\ProductsRestApi\Plugin\AbstractProductsResourceRoutePlugin;
199
use Spryker\Glue\ProductsRestApi\Plugin\ConcreteProductsResourceRoutePlugin;
200
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductBySkuResourceRelationshipPlugin;
201
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin;
202
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractByProductAbstractSkuResourceRelationshipPlugin;
203
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractBySkuResourceRelationshipPlugin;
204
use Spryker\Glue\ProductsRestApi\ProductsRestApiConfig;
205
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin;
206
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetsResourceRoutePlugin;
207
use Spryker\Glue\RelatedProductsRestApi\Plugin\GlueApplication\RelatedProductsResourceRoutePlugin;
208
use Spryker\Glue\RestRequestValidator\Plugin\ValidateRestRequestAttributesPlugin;
209
use Spryker\Glue\Router\Plugin\Application\RouterApplicationPlugin;
210
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnItemByReturnResourceRelationshipPlugin;
211
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnReasonsResourceRoutePlugin;
212
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnsResourceRoutePlugin;
213
use Spryker\Glue\SalesReturnsRestApi\SalesReturnsRestApiConfig;
214
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentControllerAfterActionPlugin;
215
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentRestRequestValidatorPlugin;
216
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerControllerAfterActionPlugin;
217
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerRestRequestValidatorPlugin;
218
use Spryker\Glue\Session\Plugin\Application\SessionApplicationPlugin;
219
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartByCartIdResourceRelationshipPlugin;
220
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartsResourceRoutePlugin;
221
use Spryker\Glue\SharedCartsRestApi\SharedCartsRestApiConfig;
222
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\OrderShipmentByOrderResourceRelationshipPlugin;
223
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentMethodsByShipmentResourceRelationshipPlugin;
224
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentsByCheckoutDataResourceRelationshipPlugin;
225
use Spryker\Glue\ShipmentsRestApi\ShipmentsRestApiConfig;
226
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemByShoppingListResourceRelationshipPlugin;
227
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemsResourcePlugin;
228
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListsResourcePlugin;
229
use Spryker\Glue\ShoppingListsRestApi\ShoppingListsRestApiConfig;
230
use Spryker\Glue\StoresRestApi\Plugin\StoresResourceRoutePlugin;
231
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\CartUpSellingProductsResourceRoutePlugin;
232
use Spryker\Glue\UrlsRestApi\Plugin\GlueApplication\UrlResolverResourceRoutePlugin;
233
234
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
235
{
236
    /**
237
     * {@inheritDoc}
238
     *
239
     * @deprecated Will be removed without replacement.
240
     *
241
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
242
     */
243
    protected function getResourceRoutePlugins(): array
244
    {
245
        return [
246
            new ConcreteProductsResourceRoutePlugin(),
247
            new AccessTokensResourceRoutePlugin(),
248
            new RefreshTokensResourceRoutePlugin(),
249
            new CompanyUsersResourceRoutePlugin(),
250
            new CompanyUserAccessTokensResourceRoutePlugin(),
251
            new CustomersResourceRoutePlugin(),
252
            new AddressesResourceRoutePlugin(),
253
            new CustomerForgottenPasswordResourceRoutePlugin(),
254
            new CustomerRestorePasswordResourceRoutePlugin(),
255
            new CustomerPasswordResourceRoutePlugin(),
256
            new CompaniesResourcePlugin(),
257
            new AbstractProductPricesRoutePlugin(),
258
            new ConcreteProductPricesRoutePlugin(),
259
            new AbstractProductsResourceRoutePlugin(),
260
            new AbstractProductAvailabilitiesRoutePlugin(),
261
            new ConcreteProductAvailabilitiesRoutePlugin(),
262
            new RelatedProductsResourceRoutePlugin(),
263
            new CartUpSellingProductsResourceRoutePlugin(),
264
            new CartsResourceRoutePlugin(),
265
            new AbstractProductImageSetsRoutePlugin(),
266
            new ConcreteProductImageSetsRoutePlugin(),
267
            new CartItemsResourceRoutePlugin(),
268
            new CatalogSearchResourceRoutePlugin(),
269
            new CatalogSearchSuggestionsResourceRoutePlugin(),
270
            new AbstractAlternativeProductsResourceRoutePlugin(),
271
            new ConcreteAlternativeProductsResourceRoutePlugin(),
272
            new StoresResourceRoutePlugin(),
273
            new CategoriesResourceRoutePlugin(),
274
            new CategoryResourceRoutePlugin(),
275
            new ProductLabelsResourceRoutePlugin(),
276
            new OrdersResourceRoutePlugin(),
277
            new CheckoutDataResourcePlugin(),
278
            new CheckoutResourcePlugin(),
279
            new NavigationsResourceRoutePlugin(),
280
            new CompanyBusinessUnitsResourcePlugin(),
281
            new CompanyBusinessUnitAddressesResourcePlugin(),
282
            new CompanyRolesResourcePlugin(),
283
            new ProductTaxSetsResourceRoutePlugin(),
284
            new CartPermissionGroupsResourceRoutePlugin(),
285
            new ContentProductAbstractListAbstractProductsResourceRoutePlugin(),
286
            new OrderPaymentsResourceRoutePlugin(),
287
            new SharedCartsResourceRoutePlugin(),
288
            new ContentBannerResourceRoutePlugin(),
289
            new UrlResolverResourceRoutePlugin(),
290
            new CartVouchersResourceRoutePlugin(),
291
            new CustomerAccessResourceRoutePlugin(),
292
            new AbstractProductsProductReviewsResourceRoutePlugin(),
293
            new HealthCheckResourceRoutePlugin(),
294
            new ShoppingListsResourcePlugin(),
295
            new ShoppingListItemsResourcePlugin(),
296
            new ProductMeasurementUnitsResourceRoutePlugin(),
297
            new SalesUnitsResourceRoutePlugin(),
298
            new ReturnReasonsResourceRoutePlugin(),
299
            new ReturnsResourceRoutePlugin(),
300
            new CmsPagesResourceRoutePlugin(),
301
            new ContentProductAbstractListsResourceRoutePlugin(),
302
            new AgentAccessTokensResourceRoutePlugin(),
303
            new AgentCustomerImpersonationAccessTokensResourceRoutePlugin(),
304
            new AgentCustomerSearchResourceRoutePlugin(),
305
            new ConcreteProductsBundledProductsResourceRoutePlugin(),
306
            new ProductManagementAttributesResourceRoutePlugin(),
307
            new CustomerConfirmationResourceRoutePlugin(),
308
            new TokenResourceRoutePlugin(),
309
            new CustomerCartsResourceRoutePlugin(),
310
            new CustomerOrdersResourceRoutePlugin(),
311
            new AvailabilityNotificationsResourceRoutePlugin(),
312
            new CustomerAvailabilityNotificationsResourceRoutePlugin(),
313
            new MyAvailabilityNotificationsResourceRoutePlugin(),
314
            new ConfigurableBundleTemplatesResourceRoutePlugin(),
315
            new ConfiguredBundlesResourceRoutePlugin(),
316
            new CartCodesResourceRoutePlugin(),
317
            new MerchantsResourceRoutePlugin(),
318
            new MerchantAddressesResourceRoutePlugin(),
319
            new ProductOffersResourceRoutePlugin(),
320
            new ConcreteProductsProductOffersResourceRoutePlugin(),
321
            new ProductOfferAvailabilitiesResourceRoutePlugin(),
322
            new ProductOfferPricesResourceRoutePlugin(),
323
            new MerchantOpeningHoursResourceRoutePlugin(),
324
        ];
325
    }
326
327
    /**
328
     * {@inheritDoc}
329
     *
330
     * @deprecated Will be removed without replacement.
331
     *
332
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestUserValidatorPluginInterface>
333
     */
334
    protected function getRestUserValidatorPlugins(): array
335
    {
336
        return [
337
            new CompanyUserRestUserValidatorPlugin(),
338
            new AgentRestUserValidatorPlugin(),
339
        ];
340
    }
341
342
    /**
343
     * {@inheritDoc}
344
     *
345
     * @deprecated Will be removed without replacement.
346
     *
347
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ValidateHttpRequestPluginInterface>
348
     */
349
    protected function getValidateHttpRequestPlugins(): array
350
    {
351
        return [
352
            new CorsValidateHttpRequestPlugin(),
353
            new PaginationParametersValidateHttpRequestPlugin(),
354
            new HeadersValidateHttpRequestPlugin(),
355
        ];
356
    }
357
358
    /**
359
     * {@inheritDoc}
360
     *
361
     * @deprecated Will be removed without replacement.
362
     *
363
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormattedControllerBeforeActionPluginInterface>
364
     */
365
    protected function getFormattedControllerBeforeActionTerminatePlugins(): array
366
    {
367
        return [
368
            new FormattedControllerBeforeActionValidateAccessTokenPlugin(),
369
        ];
370
    }
371
372
    /**
373
     * {@inheritDoc}
374
     *
375
     * @deprecated Will be removed without replacement.
376
     *
377
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormatRequestPluginInterface>
378
     */
379
    protected function getFormatRequestPlugins(): array
380
    {
381
        return [
382
            new CustomerAccessFormatRequestPlugin(),
383
        ];
384
    }
385
386
    /**
387
     * {@inheritDoc}
388
     *
389
     * @deprecated Will be removed without replacement.
390
     *
391
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestRequestValidatorPluginInterface>
392
     */
393
    protected function getRestRequestValidatorPlugins(): array
394
    {
395
        return [
396
            new SecurityBlockerCustomerRestRequestValidatorPlugin(),
397
            new SecurityBlockerAgentRestRequestValidatorPlugin(),
398
            new AccessTokenRestRequestValidatorPlugin(),
399
            new AgentAccessTokenRestRequestValidatorPlugin(),
400
            new SimultaneousAuthenticationRestRequestValidatorPlugin(),
401
            new CurrencyParameterValidatorPlugin(),
402
            new PriceModeParameterValidatorPlugin(),
403
            new ValidateRestRequestAttributesPlugin(),
404
            new EntityTagRestRequestValidatorPlugin(),
405
            new CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin(),
406
            new AccessTokenRestRequestValidatorPlugin(),
407
            new CartItemProductConfigurationRestRequestValidatorPlugin(),
408
        ];
409
    }
410
411
    /**
412
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerAfterActionPluginInterface>
413
     */
414
    protected function getControllerAfterActionPlugins(): array
415
    {
416
        return [
417
            new SecurityBlockerCustomerControllerAfterActionPlugin(),
418
            new SecurityBlockerAgentControllerAfterActionPlugin(),
419
        ];
420
    }
421
422
    /**
423
     * {@inheritDoc}
424
     *
425
     * @deprecated Will be removed without replacement.
426
     *
427
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ValidateRestRequestPluginInterface>
428
     */
429
    protected function getValidateRestRequestPlugins(): array
430
    {
431
        return [
432
            new AnonymousCustomerUniqueIdValidatorPlugin(),
433
        ];
434
    }
435
436
    /**
437
     * {@inheritDoc}
438
     *
439
     * @deprecated Will be removed without replacement.
440
     *
441
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\FormatResponseHeadersPluginInterface>
442
     */
443
    protected function getFormatResponseHeadersPlugins(): array
444
    {
445
        return [
446
            new FormatAuthenticationErrorResponseHeadersPlugin(),
447
            new EntityTagFormatResponseHeadersPlugin(),
448
        ];
449
    }
450
451
    /**
452
     * {@inheritDoc}
453
     *
454
     * @deprecated Will be removed without replacement.
455
     *
456
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerBeforeActionPluginInterface>
457
     */
458
    protected function getControllerBeforeActionPlugins(): array
459
    {
460
        return [
461
            new SetStoreCurrentLocaleBeforeActionPlugin(),
462
            new SetCustomerBeforeActionPlugin(),
463
            new SetAnonymousCustomerIdControllerBeforeActionPlugin(),
464
            new SetCurrencyBeforeActionPlugin(),
465
            new SetPriceModeBeforeActionPlugin(),
466
        ];
467
    }
468
469
    /**
470
     * {@inheritDoc}
471
     *
472
     * @deprecated Will be removed without replacement.
473
     *
474
     * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
475
     *
476
     * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
477
     */
478
    protected function getResourceRelationshipPlugins(
479
        ResourceRelationshipCollectionInterface $resourceRelationshipCollection,
480
    ): ResourceRelationshipCollectionInterface {
481
        $resourceRelationshipCollection->addRelationship(
482
            CustomersRestApiConfig::RESOURCE_CUSTOMERS,
483
            new CustomersToAddressesRelationshipPlugin(),
484
        );
485
        $resourceRelationshipCollection->addRelationship(
486
            CompanyUsersRestApiConfig::RESOURCE_COMPANY_USERS,
487
            new CompanyByCompanyUserResourceRelationshipPlugin(),
488
        );
489
490
        $resourceRelationshipCollection->addRelationship(
491
            CompanyUsersRestApiConfig::RESOURCE_COMPANY_USERS,
492
            new CompanyBusinessUnitByCompanyUserResourceRelationshipPlugin(),
493
        );
494
495
        $resourceRelationshipCollection->addRelationship(
496
            CompanyUsersRestApiConfig::RESOURCE_COMPANY_USERS,
497
            new CompanyRoleByCompanyUserResourceRelationshipPlugin(),
498
        );
499
500
        $resourceRelationshipCollection->addRelationship(
501
            CompanyUsersRestApiConfig::RESOURCE_COMPANY_USERS,
502
            new CustomerByCompanyUserResourceRelationshipPlugin(),
503
        );
504
505
        $resourceRelationshipCollection->addRelationship(
506
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
507
            new AbstractProductPricesByResourceIdResourceRelationshipPlugin(),
508
        );
509
        $resourceRelationshipCollection->addRelationship(
510
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
511
            new ConcreteProductPricesByResourceIdResourceRelationshipPlugin(),
512
        );
513
        $resourceRelationshipCollection->addRelationship(
514
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
515
            new AbstractProductsProductImageSetsResourceRelationshipPlugin(),
516
        );
517
        $resourceRelationshipCollection->addRelationship(
518
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
519
            new ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin(),
520
        );
521
        $resourceRelationshipCollection->addRelationship(
522
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
523
            new ConcreteProductsProductImageSetsResourceRelationshipPlugin(),
524
        );
525
        $resourceRelationshipCollection->addRelationship(
526
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
527
            new AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin(),
528
        );
529
        $resourceRelationshipCollection->addRelationship(
530
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
531
            new ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin(),
532
        );
533
        $resourceRelationshipCollection->addRelationship(
534
            CartsRestApiConfig::RESOURCE_CART_ITEMS,
535
            new ConcreteProductBySkuResourceRelationshipPlugin(),
536
        );
537
        $resourceRelationshipCollection->addRelationship(
538
            CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH,
539
            new CatalogSearchAbstractProductsResourceRelationshipPlugin(),
540
        );
541
        $resourceRelationshipCollection->addRelationship(
542
            CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH_SUGGESTIONS,
543
            new CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin(),
544
        );
545
        $resourceRelationshipCollection->addRelationship(
546
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
547
            new ProductLabelsRelationshipByResourceIdPlugin(),
548
        );
549
        $resourceRelationshipCollection->addRelationship(
550
            NavigationsRestApiConfig::RESOURCE_NAVIGATIONS,
551
            new CategoryNodeByResourceIdResourceRelationshipPlugin(),
552
        );
553
        $resourceRelationshipCollection->addRelationship(
554
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
555
            new ProductLabelByProductConcreteSkuResourceRelationshipPlugin(),
556
        );
557
        $resourceRelationshipCollection->addRelationship(
558
            CheckoutRestApiConfig::RESOURCE_CHECKOUT,
559
            new OrderRelationshipByOrderReferencePlugin(),
560
        );
561
        $resourceRelationshipCollection->addRelationship(
562
            CompanyRolesRestApiConfig::RESOURCE_COMPANY_ROLES,
563
            new CompanyByCompanyRoleResourceRelationshipPlugin(),
564
        );
565
        $resourceRelationshipCollection->addRelationship(
566
            CompanyBusinessUnitsRestApiConfig::RESOURCE_COMPANY_BUSINESS_UNITS,
567
            new CompanyByCompanyBusinessUnitResourceRelationshipPlugin(),
568
        );
569
        $resourceRelationshipCollection->addRelationship(
570
            CompanyBusinessUnitsRestApiConfig::RESOURCE_COMPANY_BUSINESS_UNITS,
571
            new CompanyBusinessUnitAddressesByCompanyBusinessUnitResourceRelationshipPlugin(),
572
        );
573
        $resourceRelationshipCollection->addRelationship(
574
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
575
            new ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin(),
576
        );
577
        $resourceRelationshipCollection->addRelationship(
578
            CartsRestApiConfig::RESOURCE_CARTS,
579
            new CartPermissionGroupByQuoteResourceRelationshipPlugin(),
580
        );
581
        $resourceRelationshipCollection->addRelationship(
582
            CartsRestApiConfig::RESOURCE_CARTS,
583
            new SharedCartByCartIdResourceRelationshipPlugin(),
584
        );
585
        $resourceRelationshipCollection->addRelationship(
586
            SharedCartsRestApiConfig::RESOURCE_SHARED_CARTS,
587
            new CartPermissionGroupByShareDetailResourceRelationshipPlugin(),
588
        );
589
        $resourceRelationshipCollection->addRelationship(
590
            SharedCartsRestApiConfig::RESOURCE_SHARED_CARTS,
591
            new CompanyUserByShareDetailResourceRelationshipPlugin(),
592
        );
593
        $resourceRelationshipCollection->addRelationship(
594
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
595
            new ProductOptionsByProductAbstractSkuResourceRelationshipPlugin(),
596
        );
597
        $resourceRelationshipCollection->addRelationship(
598
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
599
            new ProductOptionsByProductConcreteSkuResourceRelationshipPlugin(),
600
        );
601
        $resourceRelationshipCollection->addRelationship(
602
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
603
            new ProductReviewsRelationshipByProductAbstractSkuPlugin(),
604
        );
605
        $resourceRelationshipCollection->addRelationship(
606
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
607
            new ProductReviewsRelationshipByProductConcreteSkuPlugin(),
608
        );
609
        $resourceRelationshipCollection->addRelationship(
610
            CartsRestApiConfig::RESOURCE_CARTS,
611
            new VoucherByQuoteResourceRelationshipPlugin(),
612
        );
613
        $resourceRelationshipCollection->addRelationship(
614
            CartsRestApiConfig::RESOURCE_CARTS,
615
            new CartRuleByQuoteResourceRelationshipPlugin(),
616
        );
617
        $resourceRelationshipCollection->addRelationship(
618
            CartsRestApiConfig::RESOURCE_CARTS,
619
            new CartItemsByQuoteResourceRelationshipPlugin(),
620
        );
621
        $resourceRelationshipCollection->addRelationship(
622
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LIST_ITEMS,
623
            new ConcreteProductBySkuResourceRelationshipPlugin(),
624
        );
625
        $resourceRelationshipCollection->addRelationship(
626
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LISTS,
627
            new ShoppingListItemByShoppingListResourceRelationshipPlugin(),
628
        );
629
        $resourceRelationshipCollection->addRelationship(
630
            CartsRestApiConfig::RESOURCE_CARTS,
631
            new PromotionItemByQuoteTransferResourceRelationshipPlugin(),
632
        );
633
        $resourceRelationshipCollection->addRelationship(
634
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
635
            new ShipmentsByCheckoutDataResourceRelationshipPlugin(),
636
        );
637
        $resourceRelationshipCollection->addRelationship(
638
            ShipmentsRestApiConfig::RESOURCE_SHIPMENTS,
639
            new ShipmentMethodsByShipmentResourceRelationshipPlugin(),
640
        );
641
        $resourceRelationshipCollection->addRelationship(
642
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
643
            new PaymentMethodsByCheckoutDataResourceRelationshipPlugin(),
644
        );
645
        $resourceRelationshipCollection->addRelationship(
646
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
647
            new CompanyBusinessUnitAddressByCheckoutDataResourceRelationshipPlugin(),
648
        );
649
        $resourceRelationshipCollection->addRelationship(
650
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
651
            new AddressByCheckoutDataResourceRelationshipPlugin(),
652
        );
653
        $resourceRelationshipCollection->addRelationship(
654
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
655
            new CartByRestCheckoutDataResourceRelationshipPlugin(),
656
        );
657
        $resourceRelationshipCollection->addRelationship(
658
            CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA,
659
            new GuestCartByRestCheckoutDataResourceRelationshipPlugin(),
660
        );
661
        $resourceRelationshipCollection->addRelationship(
662
            OrdersRestApiConfig::RESOURCE_ORDERS,
663
            new OrderShipmentByOrderResourceRelationshipPlugin(),
664
        );
665
        $resourceRelationshipCollection->addRelationship(
666
            DiscountPromotionsRestApiConfig::RESOURCE_PROMOTIONAL_ITEMS,
667
            new ProductAbstractBySkuResourceRelationshipPlugin(),
668
        );
669
        $resourceRelationshipCollection->addRelationship(
670
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
671
            new ProductMeasurementUnitsByProductConcreteResourceRelationshipPlugin(),
672
        );
673
        $resourceRelationshipCollection->addRelationship(
674
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
675
            new SalesUnitsByProductConcreteResourceRelationshipPlugin(),
676
        );
677
        $resourceRelationshipCollection->addRelationship(
678
            ProductMeasurementUnitsRestApiConfig::RESOURCE_SALES_UNITS,
679
            new ProductMeasurementUnitsBySalesUnitResourceRelationshipPlugin(),
680
        );
681
        $resourceRelationshipCollection->addRelationship(
682
            CartsRestApiConfig::RESOURCE_CART_ITEMS,
683
            new SalesUnitsByCartItemResourceRelationshipPlugin(),
684
        );
685
        $resourceRelationshipCollection->addRelationship(
686
            SalesReturnsRestApiConfig::RESOURCE_RETURNS,
687
            new ReturnItemByReturnResourceRelationshipPlugin(),
688
        );
689
        $resourceRelationshipCollection->addRelationship(
690
            SalesReturnsRestApiConfig::RESOURCE_RETURN_ITEMS,
691
            new OrderItemByResourceIdResourceRelationshipPlugin(),
692
        );
693
        $resourceRelationshipCollection->addRelationship(
694
            CmsPagesRestApiConfig::RESOURCE_CMS_PAGES,
695
            new ContentBannerByCmsPageResourceRelationshipPlugin(),
696
        );
697
        $resourceRelationshipCollection->addRelationship(
698
            CmsPagesRestApiConfig::RESOURCE_CMS_PAGES,
699
            new ContentProductAbstractListByCmsPageResourceRelationshipPlugin(),
700
        );
701
        $resourceRelationshipCollection->addRelationship(
702
            ContentProductAbstractListsRestApiConfig::RESOURCE_CONTENT_PRODUCT_ABSTRACT_LISTS,
703
            new ProductAbstractByContentProductAbstractListResourceRelationshipPlugin(),
704
        );
705
        $resourceRelationshipCollection->addRelationship(
706
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
707
            new ProductAbstractByProductAbstractSkuResourceRelationshipPlugin(),
708
        );
709
        $resourceRelationshipCollection->addRelationship(
710
            ProductBundlesRestApiConfig::RESOURCE_BUNDLED_PRODUCTS,
711
            new ConcreteProductBySkuResourceRelationshipPlugin(),
712
        );
713
        $resourceRelationshipCollection->addRelationship(
714
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
715
            new BundledProductByProductConcreteSkuResourceRelationshipPlugin(),
716
        );
717
        $resourceRelationshipCollection->addRelationship(
718
            CartsRestApiConfig::RESOURCE_CARTS,
719
            new BundleItemByQuoteResourceRelationshipPlugin(),
720
        );
721
        $resourceRelationshipCollection->addRelationship(
722
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLE_ITEMS,
723
            new BundledItemByQuoteResourceRelationshipPlugin(),
724
        );
725
        $resourceRelationshipCollection->addRelationship(
726
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLE_ITEMS,
727
            new ConcreteProductBySkuResourceRelationshipPlugin(),
728
        );
729
        $resourceRelationshipCollection->addRelationship(
730
            ProductBundleCartsRestApiConfig::RESOURCE_BUNDLED_ITEMS,
731
            new ConcreteProductBySkuResourceRelationshipPlugin(),
732
        );
733
        $resourceRelationshipCollection->addRelationship(
734
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
735
            new AbstractProductsCategoriesResourceRelationshipPlugin(),
736
        );
737
        $resourceRelationshipCollection->addRelationship(
738
            MerchantsRestApiConfig::RESOURCE_MERCHANTS,
739
            new MerchantAddressByMerchantReferenceResourceRelationshipPlugin(),
740
        );
741
        $resourceRelationshipCollection->addRelationship(
742
            OrdersRestApiConfig::RESOURCE_ORDERS,
743
            new MerchantsByOrderResourceRelationshipPlugin(),
744
        );
745
        $resourceRelationshipCollection->addRelationship(
746
            ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
747
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
748
        );
749
        $resourceRelationshipCollection->addRelationship(
750
            CartsRestApiConfig::RESOURCE_CART_ITEMS,
751
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
752
        );
753
        $resourceRelationshipCollection->addRelationship(
754
            CartsRestApiConfig::RESOURCE_GUEST_CARTS_ITEMS,
755
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
756
        );
757
        $resourceRelationshipCollection->addRelationship(
758
            ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
759
            new ProductOffersByProductConcreteSkuResourceRelationshipPlugin(),
760
        );
761
        $resourceRelationshipCollection->addRelationship(
762
            MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
763
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
764
        );
765
        $resourceRelationshipCollection->addRelationship(
766
            MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
767
            new ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin(),
768
        );
769
770
        $resourceRelationshipCollection->addRelationship(
771
            MerchantsRestApiConfig::RESOURCE_MERCHANTS,
772
            new MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin(),
773
        );
774
775
        $resourceRelationshipCollection->addRelationship(
776
            SalesReturnsRestApiConfig::RESOURCE_RETURNS,
777
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
778
        );
779
780
        $resourceRelationshipCollection->addRelationship(
781
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LIST_ITEMS,
782
            new MerchantByMerchantReferenceResourceRelationshipPlugin(),
783
        );
784
785
        $resourceRelationshipCollection->addRelationship(
786
            MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
787
            new ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin(),
788
        );
789
790
        $resourceRelationshipCollection->addRelationship(
791
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LIST_ITEMS,
792
            new ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin(),
793
        );
794
795
        $resourceRelationshipCollection->addRelationship(
796
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LIST_ITEMS,
797
            new ProductOffersByProductOfferReferenceResourceRelationshipPlugin(),
798
        );
799
800
        $resourceRelationshipCollection->addRelationship(
801
            ShoppingListsRestApiConfig::RESOURCE_SHOPPING_LIST_ITEMS,
802
            new ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin(),
803
        );
804
805
        $resourceRelationshipCollection->addRelationship(
806
            ConfigurableBundlesRestApiConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATES,
807
            new ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin(),
808
        );
809
810
        $resourceRelationshipCollection->addRelationship(
811
            ConfigurableBundlesRestApiConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATES,
812
            new ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin(),
813
        );
814
815
        $resourceRelationshipCollection->addRelationship(
816
            ConfigurableBundlesProductsResourceRelationshipConfig::RESOURCE_CONFIGURABLE_BUNDLE_TEMPLATE_SLOTS,
817
            new ProductConcreteByConfigurableBundleTemplateSlotResourceRelationshipPlugin(),
818
        );
819
820
        return $resourceRelationshipCollection;
821
    }
822
823
    /**
824
     * {@inheritDoc}
825
     *
826
     * @deprecated Will be removed without replacement.
827
     *
828
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RestUserFinderPluginInterface>
829
     */
830
    protected function getRestUserFinderPlugins(): array
831
    {
832
        return [
833
            new RestUserFinderByAccessTokenPlugin(),
834
            new AgentAccessTokenRestUserFinderPlugin(),
835
        ];
836
    }
837
838
    /**
839
     * {@inheritDoc}
840
     *
841
     * @deprecated Will be removed without replacement.
842
     *
843
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
844
     */
845
    protected function getApplicationPlugins(): array
846
    {
847
        return [
848
            new HttpApplicationPlugin(),
849
            new SessionApplicationPlugin(),
850
            new EventDispatcherApplicationPlugin(),
851
            new GlueApplicationApplicationPlugin(),
852
            new RouterApplicationPlugin(),
853
        ];
854
    }
855
856
    /**
857
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\GlueApplicationBootstrapPluginInterface>
858
     */
859
    protected function getGlueApplicationBootstrapPlugins(): array
860
    {
861
        return [
862
            new StorefrontApiGlueApplicationBootstrapPlugin(),
863
            new BackendApiGlueApplicationBootstrapPlugin(),
864
            new FallbackStorefrontApiGlueApplicationBootstrapPlugin(),
865
        ];
866
    }
867
868
    /**
869
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ConventionPluginInterface>
870
     */
871
    protected function getConventionPlugins(): array
872
    {
873
        return [
874
            new JsonApiConventionPlugin(),
875
        ];
876
    }
877
878
    /**
879
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ControllerCacheCollectorPluginInterface>
880
     */
881
    protected function getControllerCacheCollectorPlugins(): array
882
    {
883
        return [
884
            new StorefrontControllerCacheCollectorPlugin(),
885
            new BackendControllerCacheCollectorPlugin(),
886
        ];
887
    }
888
889
    /**
890
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ApiApplicationEndpointProviderPluginInterface>
891
     */
892
    protected function getGlueApplicationRouterProviderPlugins(): array
893
    {
894
        return [
895
            new BackendRouterProviderPlugin(),
896
            new StorefrontRouterProviderPlugin(),
897
        ];
898
    }
899
900
    /**
901
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\RoutesProviderPluginInterface>
902
     */
903
    protected function getRoutesProviderPlugins(): array
904
    {
905
        return [
906
            new StorefrontCustomRouteRoutesProviderPlugin(),
907
            new BackendCustomRouteRoutesProviderPlugin(),
908
        ];
909
    }
910
911
    /**
912
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourcesProviderPluginInterface>
913
     */
914
    protected function getResourcesProviderPlugins(): array
915
    {
916
        return [
917
            new StorefrontResourcesProviderPlugin(),
918
            new BackendResourcesProviderPlugin(),
919
        ];
920
    }
921
922
    /**
923
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\TableColumnExpanderPluginInterface>
924
     */
925
    protected function getTableColumnExpanderPlugins(): array
926
    {
927
        return [
928
            new BackendIsProtectedTableColumnExpanderPlugin(),
929
            new StorefrontIsProtectedTableColumnExpanderPlugin(),
930
        ];
931
    }
932
}
933