getGlueApplicationRouterProviderPlugins()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Glue\GlueApplication;
11
12
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestRequestValidatorPlugin;
13
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokenRestUserFinderPlugin;
14
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentAccessTokensResourceRoutePlugin;
15
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerImpersonationAccessTokensResourceRoutePlugin;
16
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentCustomerSearchResourceRoutePlugin;
17
use Spryker\Glue\AgentAuthRestApi\Plugin\GlueApplication\AgentRestUserValidatorPlugin;
18
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\AbstractAlternativeProductsResourceRoutePlugin;
19
use Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication\ConcreteAlternativeProductsResourceRoutePlugin;
20
use Spryker\Glue\AuthRestApi\Plugin\AccessTokensResourceRoutePlugin;
21
use Spryker\Glue\AuthRestApi\Plugin\FormatAuthenticationErrorResponseHeadersPlugin;
22
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\AccessTokenRestRequestValidatorPlugin;
23
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\FormattedControllerBeforeActionValidateAccessTokenPlugin;
24
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\SimultaneousAuthenticationRestRequestValidatorPlugin;
25
use Spryker\Glue\AuthRestApi\Plugin\GlueApplication\TokenResourceRoutePlugin;
26
use Spryker\Glue\AuthRestApi\Plugin\RefreshTokensResourceRoutePlugin;
27
use Spryker\Glue\AuthRestApi\Plugin\RestUserFinderByAccessTokenPlugin;
28
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\AvailabilityNotificationsResourceRoutePlugin;
29
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\CustomerAvailabilityNotificationsResourceRoutePlugin;
30
use Spryker\Glue\AvailabilityNotificationsRestApi\Plugin\GlueApplication\MyAvailabilityNotificationsResourceRoutePlugin;
31
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartCodesResourceRoutePlugin;
32
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartRuleByQuoteResourceRelationshipPlugin;
33
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\CartVouchersResourceRoutePlugin;
34
use Spryker\Glue\CartCodesRestApi\Plugin\GlueApplication\VoucherByQuoteResourceRelationshipPlugin;
35
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupByQuoteResourceRelationshipPlugin;
36
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupByShareDetailResourceRelationshipPlugin;
37
use Spryker\Glue\CartPermissionGroupsRestApi\Plugin\GlueApplication\CartPermissionGroupsResourceRoutePlugin;
38
use Spryker\Glue\CartReorderRestApi\Plugin\GlueApplication\CartReorderResourceRoutePlugin;
39
use Spryker\Glue\CartsRestApi\CartsRestApiConfig;
40
use Spryker\Glue\CartsRestApi\Plugin\ControllerBeforeAction\SetAnonymousCustomerIdControllerBeforeActionPlugin;
41
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartByRestCheckoutDataResourceRelationshipPlugin;
42
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\CartItemsByQuoteResourceRelationshipPlugin;
43
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\GuestCartByRestCheckoutDataResourceRelationshipPlugin;
44
use Spryker\Glue\CartsRestApi\Plugin\GlueApplication\GuestCartItemsByQuoteResourceRelationshipPlugin;
45
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartItemsResourceRoutePlugin;
46
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartsResourceRoutePlugin;
47
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CustomerCartsResourceRoutePlugin;
48
use Spryker\Glue\CartsRestApi\Plugin\Validator\AnonymousCustomerUniqueIdValidatorPlugin;
49
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchAbstractProductsResourceRelationshipPlugin;
50
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin;
51
use Spryker\Glue\CatalogSearchRestApi\CatalogSearchRestApiConfig;
52
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin;
53
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchResourceRoutePlugin;
54
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchSuggestionsResourceRoutePlugin;
55
use Spryker\Glue\CategoriesRestApi\Plugin\CategoriesResourceRoutePlugin;
56
use Spryker\Glue\CategoriesRestApi\Plugin\CategoryResourceRoutePlugin;
57
use Spryker\Glue\CheckoutRestApi\CheckoutRestApiConfig;
58
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutDataResourcePlugin;
59
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutResourcePlugin;
60
use Spryker\Glue\CmsPagesContentBannersResourceRelationship\Plugin\GlueApplication\ContentBannerByCmsPageResourceRelationshipPlugin;
61
use Spryker\Glue\CmsPagesContentProductAbstractListsResourceRelationship\Plugin\GlueApplication\ContentProductAbstractListByCmsPageResourceRelationshipPlugin;
62
use Spryker\Glue\CmsPagesRestApi\CmsPagesRestApiConfig;
63
use Spryker\Glue\CmsPagesRestApi\Plugin\GlueApplication\CmsPagesResourceRoutePlugin;
64
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompaniesResourcePlugin;
65
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyBusinessUnitResourceRelationshipPlugin;
66
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyRoleResourceRelationshipPlugin;
67
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyUserResourceRelationshipPlugin;
68
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressByCheckoutDataResourceRelationshipPlugin;
69
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesByCompanyBusinessUnitResourceRelationshipPlugin;
70
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesResourcePlugin;
71
use Spryker\Glue\CompanyBusinessUnitsRestApi\CompanyBusinessUnitsRestApiConfig;
72
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitByCompanyUserResourceRelationshipPlugin;
73
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitsResourcePlugin;
74
use Spryker\Glue\CompanyRolesRestApi\CompanyRolesRestApiConfig;
75
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRoleByCompanyUserResourceRelationshipPlugin;
76
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRolesResourcePlugin;
77
use Spryker\Glue\CompanyUserAuthRestApi\Plugin\GlueApplication\CompanyUserAccessTokensResourceRoutePlugin;
78
use Spryker\Glue\CompanyUsersRestApi\CompanyUsersRestApiConfig;
79
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserByShareDetailResourceRelationshipPlugin;
80
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserRestUserValidatorPlugin;
81
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUsersResourceRoutePlugin;
82
use Spryker\Glue\ConfigurableBundleCartsRestApi\Plugin\GlueApplication\ConfiguredBundlesResourceRoutePlugin;
83
use Spryker\Glue\ConfigurableBundlesRestApi\ConfigurableBundlesRestApiConfig;
84
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin;
85
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin;
86
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplatesResourceRoutePlugin;
87
use Spryker\Glue\ContentBannersRestApi\Plugin\ContentBannerResourceRoutePlugin;
88
use Spryker\Glue\ContentProductAbstractListsRestApi\ContentProductAbstractListsRestApiConfig;
89
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\AbstractProductsResourceRoutePlugin as ContentProductAbstractListAbstractProductsResourceRoutePlugin;
90
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ContentProductAbstractListsResourceRoutePlugin;
91
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ProductAbstractByContentProductAbstractListResourceRelationshipPlugin;
92
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessFormatRequestPlugin;
93
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessResourceRoutePlugin;
94
use Spryker\Glue\CustomersRestApi\CustomersRestApiConfig;
95
use Spryker\Glue\CustomersRestApi\Plugin\AddressesResourceRoutePlugin;
96
use Spryker\Glue\CustomersRestApi\Plugin\CustomerForgottenPasswordResourceRoutePlugin;
97
use Spryker\Glue\CustomersRestApi\Plugin\CustomerPasswordResourceRoutePlugin;
98
use Spryker\Glue\CustomersRestApi\Plugin\CustomerRestorePasswordResourceRoutePlugin;
99
use Spryker\Glue\CustomersRestApi\Plugin\CustomersResourceRoutePlugin;
100
use Spryker\Glue\CustomersRestApi\Plugin\CustomersToAddressesRelationshipPlugin;
101
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\AddressByCheckoutDataResourceRelationshipPlugin;
102
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerByCompanyUserResourceRelationshipPlugin;
103
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerConfirmationResourceRoutePlugin;
104
use Spryker\Glue\CustomersRestApi\Plugin\SetCustomerBeforeActionPlugin;
105
use Spryker\Glue\DiscountPromotionsRestApi\DiscountPromotionsRestApiConfig;
106
use Spryker\Glue\DiscountPromotionsRestApi\Plugin\GlueApplication\PromotionItemByQuoteTransferResourceRelationshipPlugin;
107
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagFormatResponseHeadersPlugin;
108
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagRestRequestValidatorPlugin;
109
use Spryker\Glue\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin;
110
use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
111
use Spryker\Glue\GlueApplication\Plugin\Application\GlueApplicationApplicationPlugin;
112
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\CorsValidateHttpRequestPlugin;
113
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\FallbackStorefrontApiGlueApplicationBootstrapPlugin;
114
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\HeadersValidateHttpRequestPlugin;
115
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\PaginationParametersValidateHttpRequestPlugin;
116
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRestUserValidatorPlugin;
117
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRouterParameterExpanderPlugin;
118
use Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface;
119
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendApiGlueApplicationBootstrapPlugin;
120
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendRouterProviderPlugin;
121
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as BackendControllerConfigurationCacheCollectorPlugin;
122
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as BackendCustomRouteRoutesProviderPlugin;
123
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as BackendResourcesProviderPlugin;
124
use Spryker\Glue\GlueBackendApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as BackendIsProtectedTableColumnExpanderPlugin;
125
use Spryker\Glue\GlueJsonApiConvention\Plugin\GlueApplication\JsonApiConventionPlugin;
126
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as StorefrontControllerConfigurationCacheCollectorPlugin;
127
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as StorefrontCustomRouteRoutesProviderPlugin;
128
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as StorefrontResourcesProviderPlugin;
129
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontApiGlueApplicationBootstrapPlugin;
130
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontRouterProviderPlugin;
131
use Spryker\Glue\GlueStorefrontApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as StorefrontIsProtectedTableColumnExpanderPlugin;
132
use Spryker\Glue\HealthCheck\Plugin\HealthCheckResourceRoutePlugin;
133
use Spryker\Glue\Http\Plugin\Application\HttpApplicationPlugin;
134
use Spryker\Glue\Locale\Plugin\Application\LocaleApplicationPlugin;
135
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthActivateResourcePlugin;
136
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthRestUserValidatorPlugin;
137
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTriggerResourcePlugin;
138
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeDeactivateResourcePlugin;
139
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypesResourcePlugin;
140
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeVerifyResourcePlugin;
141
use Spryker\Glue\NavigationsCategoryNodesResourceRelationship\Plugin\GlueApplication\CategoryNodeByResourceIdResourceRelationshipPlugin;
142
use Spryker\Glue\NavigationsRestApi\NavigationsRestApiConfig;
143
use Spryker\Glue\NavigationsRestApi\Plugin\ResourceRoute\NavigationsResourceRoutePlugin;
144
use Spryker\Glue\OrderAmendmentsRestApi\Plugin\GlueApplication\OrderAmendmentsByOrderResourceRelationshipPlugin;
145
use Spryker\Glue\OrderPaymentsRestApi\Plugin\OrderPaymentsResourceRoutePlugin;
146
use Spryker\Glue\OrdersRestApi\OrdersRestApiConfig;
147
use Spryker\Glue\OrdersRestApi\Plugin\CustomerOrdersResourceRoutePlugin;
148
use Spryker\Glue\OrdersRestApi\Plugin\OrderItemByResourceIdResourceRelationshipPlugin;
149
use Spryker\Glue\OrdersRestApi\Plugin\OrderRelationshipByOrderReferencePlugin;
150
use Spryker\Glue\OrdersRestApi\Plugin\OrdersResourceRoutePlugin;
151
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCancellationsResourceRoutePlugin;
152
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCustomersResourceRoutePlugin;
153
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentMethodsByCheckoutDataResourceRelationshipPlugin;
154
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentsResourceRoutePlugin;
155
use Spryker\Glue\ProductAttributesRestApi\Plugin\GlueApplication\ProductManagementAttributesResourceRoutePlugin;
156
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\AbstractProductAvailabilitiesRoutePlugin;
157
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\ConcreteProductAvailabilitiesRoutePlugin;
158
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
159
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
160
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundledItemByQuoteResourceRelationshipPlugin;
161
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundleItemByQuoteResourceRelationshipPlugin;
162
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\GuestBundleItemByQuoteResourceRelationshipPlugin;
163
use Spryker\Glue\ProductBundleCartsRestApi\ProductBundleCartsRestApiConfig;
164
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\BundledProductByProductConcreteSkuResourceRelationshipPlugin;
165
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\ConcreteProductsBundledProductsResourceRoutePlugin;
166
use Spryker\Glue\ProductBundlesRestApi\ProductBundlesRestApiConfig;
167
use Spryker\Glue\ProductConfigurationsRestApi\Plugin\GlueApplication\CartItemProductConfigurationRestRequestValidatorPlugin;
168
use Spryker\Glue\ProductImageSetsRestApi\Plugin\AbstractProductImageSetsRoutePlugin;
169
use Spryker\Glue\ProductImageSetsRestApi\Plugin\ConcreteProductImageSetsRoutePlugin;
170
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\AbstractProductsProductImageSetsResourceRelationshipPlugin;
171
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\ConcreteProductsProductImageSetsResourceRelationshipPlugin;
172
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelByProductConcreteSkuResourceRelationshipPlugin;
173
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsRelationshipByResourceIdPlugin;
174
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsResourceRoutePlugin;
175
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsByProductConcreteResourceRelationshipPlugin;
176
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsBySalesUnitResourceRelationshipPlugin;
177
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsResourceRoutePlugin;
178
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByCartItemResourceRelationshipPlugin;
179
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByProductConcreteResourceRelationshipPlugin;
180
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsResourceRoutePlugin;
181
use Spryker\Glue\ProductMeasurementUnitsRestApi\ProductMeasurementUnitsRestApiConfig;
182
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductAbstractSkuResourceRelationshipPlugin;
183
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductConcreteSkuResourceRelationshipPlugin;
184
use Spryker\Glue\ProductPricesRestApi\Plugin\AbstractProductPricesRoutePlugin;
185
use Spryker\Glue\ProductPricesRestApi\Plugin\ConcreteProductPricesRoutePlugin;
186
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\AbstractProductPricesByResourceIdResourceRelationshipPlugin;
187
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\ConcreteProductPricesByResourceIdResourceRelationshipPlugin;
188
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\CurrencyParameterValidatorPlugin;
189
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\PriceModeParameterValidatorPlugin;
190
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetPriceModeBeforeActionPlugin;
191
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\AbstractProductsProductReviewsResourceRoutePlugin;
192
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductAbstractSkuPlugin;
193
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductConcreteSkuPlugin;
194
use Spryker\Glue\ProductsCategoriesResourceRelationship\Plugin\AbstractProductsCategoriesResourceRelationshipPlugin;
195
use Spryker\Glue\ProductsRestApi\Plugin\AbstractProductsResourceRoutePlugin;
196
use Spryker\Glue\ProductsRestApi\Plugin\ConcreteProductsResourceRoutePlugin;
197
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductBySkuResourceRelationshipPlugin;
198
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin;
199
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractByProductAbstractSkuResourceRelationshipPlugin;
200
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractBySkuResourceRelationshipPlugin;
201
use Spryker\Glue\ProductsRestApi\ProductsRestApiConfig;
202
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin;
203
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetsResourceRoutePlugin;
204
use Spryker\Glue\RelatedProductsRestApi\Plugin\GlueApplication\RelatedProductsResourceRoutePlugin;
205
use Spryker\Glue\RestRequestValidator\Plugin\ValidateRestRequestAttributesPlugin;
206
use Spryker\Glue\Router\Plugin\Application\RouterApplicationPlugin;
207
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnItemByReturnResourceRelationshipPlugin;
208
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnReasonsResourceRoutePlugin;
209
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnsResourceRoutePlugin;
210
use Spryker\Glue\SalesReturnsRestApi\SalesReturnsRestApiConfig;
211
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentControllerAfterActionPlugin;
212
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentRestRequestValidatorPlugin;
213
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerControllerAfterActionPlugin;
214
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerRestRequestValidatorPlugin;
215
use Spryker\Glue\Session\Plugin\Application\SessionApplicationPlugin;
216
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartByCartIdResourceRelationshipPlugin;
217
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartsResourceRoutePlugin;
218
use Spryker\Glue\SharedCartsRestApi\SharedCartsRestApiConfig;
219
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\OrderShipmentByOrderResourceRelationshipPlugin;
220
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentMethodsByShipmentResourceRelationshipPlugin;
221
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentsByCheckoutDataResourceRelationshipPlugin;
222
use Spryker\Glue\ShipmentsRestApi\ShipmentsRestApiConfig;
223
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemByShoppingListResourceRelationshipPlugin;
224
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemsResourcePlugin;
225
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListsResourcePlugin;
226
use Spryker\Glue\ShoppingListsRestApi\ShoppingListsRestApiConfig;
227
use Spryker\Glue\StoresApi\Plugin\GlueStorefrontApiApplication\StoreApplicationPlugin;
228
use Spryker\Glue\StoresRestApi\Plugin\StoresResourceRoutePlugin;
229
use Spryker\Glue\TaxAppRestApi\Plugin\TaxValidateIdResourceRoutePlugin;
230
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\CartUpSellingProductsResourceRoutePlugin;
231
use Spryker\Glue\UrlsRestApi\Plugin\GlueApplication\UrlResolverResourceRoutePlugin;
232
233
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
234
{
235
    /**
236
     * {@inheritDoc}
237
     *
238
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
239
     */
240
    protected function getResourceRoutePlugins(): array
241
    {
242
        return [
243
            new ConcreteProductsResourceRoutePlugin(),
244
            new AccessTokensResourceRoutePlugin(),
245
            new RefreshTokensResourceRoutePlugin(),
246
            new CompanyUsersResourceRoutePlugin(),
247
            new CompanyUserAccessTokensResourceRoutePlugin(),
248
            new CustomersResourceRoutePlugin(),
249
            new AddressesResourceRoutePlugin(),
250
            new CustomerForgottenPasswordResourceRoutePlugin(),
251
            new CustomerRestorePasswordResourceRoutePlugin(),
252
            new CustomerPasswordResourceRoutePlugin(),
253
            new CompaniesResourcePlugin(),
254
            new AbstractProductPricesRoutePlugin(),
255
            new ConcreteProductPricesRoutePlugin(),
256
            new AbstractProductsResourceRoutePlugin(),
257
            new AbstractProductAvailabilitiesRoutePlugin(),
258
            new ConcreteProductAvailabilitiesRoutePlugin(),
259
            new RelatedProductsResourceRoutePlugin(),
260
            new CartUpSellingProductsResourceRoutePlugin(),
261
            new CartsResourceRoutePlugin(),
262
            new AbstractProductImageSetsRoutePlugin(),
263
            new ConcreteProductImageSetsRoutePlugin(),
264
            new CartItemsResourceRoutePlugin(),
265
            new CatalogSearchResourceRoutePlugin(),
266
            new CatalogSearchSuggestionsResourceRoutePlugin(),
267
            new AbstractAlternativeProductsResourceRoutePlugin(),
268
            new ConcreteAlternativeProductsResourceRoutePlugin(),
269
            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

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