getConventionPlugins()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 4
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\ResourceRoute\CartItemsResourceRoutePlugin;
45
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CartsResourceRoutePlugin;
46
use Spryker\Glue\CartsRestApi\Plugin\ResourceRoute\CustomerCartsResourceRoutePlugin;
47
use Spryker\Glue\CartsRestApi\Plugin\Validator\AnonymousCustomerUniqueIdValidatorPlugin;
48
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchAbstractProductsResourceRelationshipPlugin;
49
use Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin\CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin;
50
use Spryker\Glue\CatalogSearchRestApi\CatalogSearchRestApiConfig;
51
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchRequestParametersIntegerRestRequestValidatorPlugin;
52
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchResourceRoutePlugin;
53
use Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchSuggestionsResourceRoutePlugin;
54
use Spryker\Glue\CategoriesRestApi\Plugin\CategoriesResourceRoutePlugin;
55
use Spryker\Glue\CategoriesRestApi\Plugin\CategoryResourceRoutePlugin;
56
use Spryker\Glue\CheckoutRestApi\CheckoutRestApiConfig;
57
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutDataResourcePlugin;
58
use Spryker\Glue\CheckoutRestApi\Plugin\GlueApplication\CheckoutResourcePlugin;
59
use Spryker\Glue\CmsPagesContentBannersResourceRelationship\Plugin\GlueApplication\ContentBannerByCmsPageResourceRelationshipPlugin;
60
use Spryker\Glue\CmsPagesContentProductAbstractListsResourceRelationship\Plugin\GlueApplication\ContentProductAbstractListByCmsPageResourceRelationshipPlugin;
61
use Spryker\Glue\CmsPagesRestApi\CmsPagesRestApiConfig;
62
use Spryker\Glue\CmsPagesRestApi\Plugin\GlueApplication\CmsPagesResourceRoutePlugin;
63
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompaniesResourcePlugin;
64
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyBusinessUnitResourceRelationshipPlugin;
65
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyRoleResourceRelationshipPlugin;
66
use Spryker\Glue\CompaniesRestApi\Plugin\GlueApplication\CompanyByCompanyUserResourceRelationshipPlugin;
67
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressByCheckoutDataResourceRelationshipPlugin;
68
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesByCompanyBusinessUnitResourceRelationshipPlugin;
69
use Spryker\Glue\CompanyBusinessUnitAddressesRestApi\Plugin\GlueApplication\CompanyBusinessUnitAddressesResourcePlugin;
70
use Spryker\Glue\CompanyBusinessUnitsRestApi\CompanyBusinessUnitsRestApiConfig;
71
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitByCompanyUserResourceRelationshipPlugin;
72
use Spryker\Glue\CompanyBusinessUnitsRestApi\Plugin\GlueApplication\CompanyBusinessUnitsResourcePlugin;
73
use Spryker\Glue\CompanyRolesRestApi\CompanyRolesRestApiConfig;
74
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRoleByCompanyUserResourceRelationshipPlugin;
75
use Spryker\Glue\CompanyRolesRestApi\Plugin\GlueApplication\CompanyRolesResourcePlugin;
76
use Spryker\Glue\CompanyUserAuthRestApi\Plugin\GlueApplication\CompanyUserAccessTokensResourceRoutePlugin;
77
use Spryker\Glue\CompanyUsersRestApi\CompanyUsersRestApiConfig;
78
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserByShareDetailResourceRelationshipPlugin;
79
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUserRestUserValidatorPlugin;
80
use Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUsersResourceRoutePlugin;
81
use Spryker\Glue\ConfigurableBundleCartsRestApi\Plugin\GlueApplication\ConfiguredBundlesResourceRoutePlugin;
82
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\ConfigurableBundlesProductsResourceRelationshipConfig;
83
use Spryker\Glue\ConfigurableBundlesProductsResourceRelationship\Plugin\GlueApplication\ProductConcreteByConfigurableBundleTemplateSlotResourceRelationshipPlugin;
84
use Spryker\Glue\ConfigurableBundlesRestApi\ConfigurableBundlesRestApiConfig;
85
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateImageSetByConfigurableBundleTemplateResourceRelationshipPlugin;
86
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplateSlotByConfigurableBundleTemplateResourceRelationshipPlugin;
87
use Spryker\Glue\ConfigurableBundlesRestApi\Plugin\GlueApplication\ConfigurableBundleTemplatesResourceRoutePlugin;
88
use Spryker\Glue\ContentBannersRestApi\Plugin\ContentBannerResourceRoutePlugin;
89
use Spryker\Glue\ContentProductAbstractListsRestApi\ContentProductAbstractListsRestApiConfig;
90
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\AbstractProductsResourceRoutePlugin as ContentProductAbstractListAbstractProductsResourceRoutePlugin;
91
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ContentProductAbstractListsResourceRoutePlugin;
92
use Spryker\Glue\ContentProductAbstractListsRestApi\Plugin\GlueApplication\ProductAbstractByContentProductAbstractListResourceRelationshipPlugin;
93
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessFormatRequestPlugin;
94
use Spryker\Glue\CustomerAccessRestApi\Plugin\GlueApplication\CustomerAccessResourceRoutePlugin;
95
use Spryker\Glue\CustomersRestApi\CustomersRestApiConfig;
96
use Spryker\Glue\CustomersRestApi\Plugin\AddressesResourceRoutePlugin;
97
use Spryker\Glue\CustomersRestApi\Plugin\CustomerForgottenPasswordResourceRoutePlugin;
98
use Spryker\Glue\CustomersRestApi\Plugin\CustomerPasswordResourceRoutePlugin;
99
use Spryker\Glue\CustomersRestApi\Plugin\CustomerRestorePasswordResourceRoutePlugin;
100
use Spryker\Glue\CustomersRestApi\Plugin\CustomersResourceRoutePlugin;
101
use Spryker\Glue\CustomersRestApi\Plugin\CustomersToAddressesRelationshipPlugin;
102
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\AddressByCheckoutDataResourceRelationshipPlugin;
103
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerByCompanyUserResourceRelationshipPlugin;
104
use Spryker\Glue\CustomersRestApi\Plugin\GlueApplication\CustomerConfirmationResourceRoutePlugin;
105
use Spryker\Glue\CustomersRestApi\Plugin\SetCustomerBeforeActionPlugin;
106
use Spryker\Glue\DiscountPromotionsRestApi\DiscountPromotionsRestApiConfig;
107
use Spryker\Glue\DiscountPromotionsRestApi\Plugin\GlueApplication\PromotionItemByQuoteTransferResourceRelationshipPlugin;
108
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagFormatResponseHeadersPlugin;
109
use Spryker\Glue\EntityTagsRestApi\Plugin\GlueApplication\EntityTagRestRequestValidatorPlugin;
110
use Spryker\Glue\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin;
111
use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
112
use Spryker\Glue\GlueApplication\Plugin\Application\GlueApplicationApplicationPlugin;
113
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\CorsValidateHttpRequestPlugin;
114
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\FallbackStorefrontApiGlueApplicationBootstrapPlugin;
115
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\HeadersValidateHttpRequestPlugin;
116
use Spryker\Glue\GlueApplication\Plugin\GlueApplication\PaginationParametersValidateHttpRequestPlugin;
117
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRestUserValidatorPlugin;
118
use Spryker\Glue\GlueApplicationAuthorizationConnector\Plugin\GlueApplication\AuthorizationRouterParameterExpanderPlugin;
119
use Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface;
120
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendApiGlueApplicationBootstrapPlugin;
121
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\BackendRouterProviderPlugin;
122
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as BackendControllerConfigurationCacheCollectorPlugin;
123
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as BackendCustomRouteRoutesProviderPlugin;
124
use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as BackendResourcesProviderPlugin;
125
use Spryker\Glue\GlueBackendApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as BackendIsProtectedTableColumnExpanderPlugin;
126
use Spryker\Glue\GlueJsonApiConvention\Plugin\GlueApplication\JsonApiConventionPlugin;
127
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ControllerConfigurationCacheCollectorPlugin as StorefrontControllerConfigurationCacheCollectorPlugin;
128
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\CustomRouteRoutesProviderPlugin as StorefrontCustomRouteRoutesProviderPlugin;
129
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\ResourcesProviderPlugin as StorefrontResourcesProviderPlugin;
130
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontApiGlueApplicationBootstrapPlugin;
131
use Spryker\Glue\GlueStorefrontApiApplication\Plugin\GlueApplication\StorefrontRouterProviderPlugin;
132
use Spryker\Glue\GlueStorefrontApiApplicationAuthorizationConnector\Plugin\GlueApplication\IsProtectedTableColumnExpanderPlugin as StorefrontIsProtectedTableColumnExpanderPlugin;
133
use Spryker\Glue\HealthCheck\Plugin\HealthCheckResourceRoutePlugin;
134
use Spryker\Glue\Http\Plugin\Application\HttpApplicationPlugin;
135
use Spryker\Glue\Locale\Plugin\Application\LocaleApplicationPlugin;
136
use Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin;
137
use Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication\MerchantOpeningHoursResourceRoutePlugin;
138
use Spryker\Glue\MerchantProductOffersRestApi\MerchantProductOffersRestApiConfig;
139
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ConcreteProductsProductOffersResourceRoutePlugin;
140
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersByProductConcreteSkuResourceRelationshipPlugin;
141
use Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication\ProductOffersResourceRoutePlugin;
142
use Spryker\Glue\MerchantsRestApi\MerchantsRestApiConfig;
143
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressByMerchantReferenceResourceRelationshipPlugin;
144
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantAddressesResourceRoutePlugin;
145
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantByMerchantReferenceResourceRelationshipPlugin;
146
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantsByOrderResourceRelationshipPlugin;
147
use Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication\MerchantsResourceRoutePlugin;
148
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthActivateResourcePlugin;
149
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthRestUserValidatorPlugin;
150
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTriggerResourcePlugin;
151
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeDeactivateResourcePlugin;
152
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypesResourcePlugin;
153
use Spryker\Glue\MultiFactorAuth\Plugin\GlueApplication\RestApi\MultiFactorAuthTypeVerifyResourcePlugin;
154
use Spryker\Glue\NavigationsCategoryNodesResourceRelationship\Plugin\GlueApplication\CategoryNodeByResourceIdResourceRelationshipPlugin;
155
use Spryker\Glue\NavigationsRestApi\NavigationsRestApiConfig;
156
use Spryker\Glue\NavigationsRestApi\Plugin\ResourceRoute\NavigationsResourceRoutePlugin;
157
use Spryker\Glue\OrderAmendmentsRestApi\Plugin\GlueApplication\OrderAmendmentsByOrderResourceRelationshipPlugin;
158
use Spryker\Glue\OrderPaymentsRestApi\Plugin\OrderPaymentsResourceRoutePlugin;
159
use Spryker\Glue\OrdersRestApi\OrdersRestApiConfig;
160
use Spryker\Glue\OrdersRestApi\Plugin\CustomerOrdersResourceRoutePlugin;
161
use Spryker\Glue\OrdersRestApi\Plugin\OrderItemByResourceIdResourceRelationshipPlugin;
162
use Spryker\Glue\OrdersRestApi\Plugin\OrderRelationshipByOrderReferencePlugin;
163
use Spryker\Glue\OrdersRestApi\Plugin\OrdersResourceRoutePlugin;
164
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCancellationsResourceRoutePlugin;
165
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentCustomersResourceRoutePlugin;
166
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentMethodsByCheckoutDataResourceRelationshipPlugin;
167
use Spryker\Glue\PaymentsRestApi\Plugin\GlueApplication\PaymentsResourceRoutePlugin;
168
use Spryker\Glue\ProductAttributesRestApi\Plugin\GlueApplication\ProductManagementAttributesResourceRoutePlugin;
169
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\AbstractProductAvailabilitiesRoutePlugin;
170
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\ConcreteProductAvailabilitiesRoutePlugin;
171
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\AbstractProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
172
use Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\GlueApplication\ConcreteProductAvailabilitiesByResourceIdResourceRelationshipPlugin;
173
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundledItemByQuoteResourceRelationshipPlugin;
174
use Spryker\Glue\ProductBundleCartsRestApi\Plugin\GlueApplication\BundleItemByQuoteResourceRelationshipPlugin;
175
use Spryker\Glue\ProductBundleCartsRestApi\ProductBundleCartsRestApiConfig;
176
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\BundledProductByProductConcreteSkuResourceRelationshipPlugin;
177
use Spryker\Glue\ProductBundlesRestApi\Plugin\GlueApplication\ConcreteProductsBundledProductsResourceRoutePlugin;
178
use Spryker\Glue\ProductBundlesRestApi\ProductBundlesRestApiConfig;
179
use Spryker\Glue\ProductConfigurationsRestApi\Plugin\GlueApplication\CartItemProductConfigurationRestRequestValidatorPlugin;
180
use Spryker\Glue\ProductImageSetsRestApi\Plugin\AbstractProductImageSetsRoutePlugin;
181
use Spryker\Glue\ProductImageSetsRestApi\Plugin\ConcreteProductImageSetsRoutePlugin;
182
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\AbstractProductsProductImageSetsResourceRelationshipPlugin;
183
use Spryker\Glue\ProductImageSetsRestApi\Plugin\Relationship\ConcreteProductsProductImageSetsResourceRelationshipPlugin;
184
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelByProductConcreteSkuResourceRelationshipPlugin;
185
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsRelationshipByResourceIdPlugin;
186
use Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsResourceRoutePlugin;
187
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsByProductConcreteResourceRelationshipPlugin;
188
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsBySalesUnitResourceRelationshipPlugin;
189
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsResourceRoutePlugin;
190
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByCartItemResourceRelationshipPlugin;
191
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsByProductConcreteResourceRelationshipPlugin;
192
use Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsResourceRoutePlugin;
193
use Spryker\Glue\ProductMeasurementUnitsRestApi\ProductMeasurementUnitsRestApiConfig;
194
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin;
195
use Spryker\Glue\ProductOfferAvailabilitiesRestApi\Plugin\GlueApplication\ProductOfferAvailabilitiesResourceRoutePlugin;
196
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin;
197
use Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication\ProductOfferPricesResourceRoutePlugin;
198
use Spryker\Glue\ProductOffersRestApi\Plugin\GlueApplication\ProductOffersByProductOfferReferenceResourceRelationshipPlugin;
199
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductAbstractSkuResourceRelationshipPlugin;
200
use Spryker\Glue\ProductOptionsRestApi\Plugin\GlueApplication\ProductOptionsByProductConcreteSkuResourceRelationshipPlugin;
201
use Spryker\Glue\ProductPricesRestApi\Plugin\AbstractProductPricesRoutePlugin;
202
use Spryker\Glue\ProductPricesRestApi\Plugin\ConcreteProductPricesRoutePlugin;
203
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\AbstractProductPricesByResourceIdResourceRelationshipPlugin;
204
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\ConcreteProductPricesByResourceIdResourceRelationshipPlugin;
205
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\CurrencyParameterValidatorPlugin;
206
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\PriceModeParameterValidatorPlugin;
207
use Spryker\Glue\ProductPricesRestApi\Plugin\GlueApplication\SetPriceModeBeforeActionPlugin;
208
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\AbstractProductsProductReviewsResourceRoutePlugin;
209
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductAbstractSkuPlugin;
210
use Spryker\Glue\ProductReviewsRestApi\Plugin\GlueApplication\ProductReviewsRelationshipByProductConcreteSkuPlugin;
211
use Spryker\Glue\ProductsCategoriesResourceRelationship\Plugin\AbstractProductsCategoriesResourceRelationshipPlugin;
212
use Spryker\Glue\ProductsRestApi\Plugin\AbstractProductsResourceRoutePlugin;
213
use Spryker\Glue\ProductsRestApi\Plugin\ConcreteProductsResourceRoutePlugin;
214
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductBySkuResourceRelationshipPlugin;
215
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ConcreteProductsByProductConcreteIdsResourceRelationshipPlugin;
216
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractByProductAbstractSkuResourceRelationshipPlugin;
217
use Spryker\Glue\ProductsRestApi\Plugin\GlueApplication\ProductAbstractBySkuResourceRelationshipPlugin;
218
use Spryker\Glue\ProductsRestApi\ProductsRestApiConfig;
219
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetByProductAbstractSkuResourceRelationshipPlugin;
220
use Spryker\Glue\ProductTaxSetsRestApi\Plugin\GlueApplication\ProductTaxSetsResourceRoutePlugin;
221
use Spryker\Glue\RelatedProductsRestApi\Plugin\GlueApplication\RelatedProductsResourceRoutePlugin;
222
use Spryker\Glue\RestRequestValidator\Plugin\ValidateRestRequestAttributesPlugin;
223
use Spryker\Glue\Router\Plugin\Application\RouterApplicationPlugin;
224
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnItemByReturnResourceRelationshipPlugin;
225
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnReasonsResourceRoutePlugin;
226
use Spryker\Glue\SalesReturnsRestApi\Plugin\ReturnsResourceRoutePlugin;
227
use Spryker\Glue\SalesReturnsRestApi\SalesReturnsRestApiConfig;
228
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentControllerAfterActionPlugin;
229
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerAgentRestRequestValidatorPlugin;
230
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerControllerAfterActionPlugin;
231
use Spryker\Glue\SecurityBlockerRestApi\Plugin\GlueApplication\SecurityBlockerCustomerRestRequestValidatorPlugin;
232
use Spryker\Glue\Session\Plugin\Application\SessionApplicationPlugin;
233
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartByCartIdResourceRelationshipPlugin;
234
use Spryker\Glue\SharedCartsRestApi\Plugin\GlueApplication\SharedCartsResourceRoutePlugin;
235
use Spryker\Glue\SharedCartsRestApi\SharedCartsRestApiConfig;
236
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\OrderShipmentByOrderResourceRelationshipPlugin;
237
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentMethodsByShipmentResourceRelationshipPlugin;
238
use Spryker\Glue\ShipmentsRestApi\Plugin\GlueApplication\ShipmentsByCheckoutDataResourceRelationshipPlugin;
239
use Spryker\Glue\ShipmentsRestApi\ShipmentsRestApiConfig;
240
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemByShoppingListResourceRelationshipPlugin;
241
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListItemsResourcePlugin;
242
use Spryker\Glue\ShoppingListsRestApi\Plugin\GlueApplication\ShoppingListsResourcePlugin;
243
use Spryker\Glue\ShoppingListsRestApi\ShoppingListsRestApiConfig;
244
use Spryker\Glue\StoresApi\Plugin\GlueStorefrontApiApplication\StoreApplicationPlugin;
245
use Spryker\Glue\StoresRestApi\Plugin\StoresResourceRoutePlugin;
246
use Spryker\Glue\TaxAppRestApi\Plugin\TaxValidateIdResourceRoutePlugin;
247
use Spryker\Glue\UpSellingProductsRestApi\Plugin\GlueApplication\CartUpSellingProductsResourceRoutePlugin;
248
use Spryker\Glue\UrlsRestApi\Plugin\GlueApplication\UrlResolverResourceRoutePlugin;
249
250
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
251
{
252
    /**
253
     * {@inheritDoc}
254
     *
255
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
256
     */
257
    protected function getResourceRoutePlugins(): array
258
    {
259
        return [
260
            new ConcreteProductsResourceRoutePlugin(),
261
            new AccessTokensResourceRoutePlugin(),
262
            new RefreshTokensResourceRoutePlugin(),
263
            new CompanyUsersResourceRoutePlugin(),
264
            new CompanyUserAccessTokensResourceRoutePlugin(),
265
            new CustomersResourceRoutePlugin(),
266
            new AddressesResourceRoutePlugin(),
267
            new CustomerForgottenPasswordResourceRoutePlugin(),
268
            new CustomerRestorePasswordResourceRoutePlugin(),
269
            new CustomerPasswordResourceRoutePlugin(),
270
            new CompaniesResourcePlugin(),
271
            new AbstractProductPricesRoutePlugin(),
272
            new ConcreteProductPricesRoutePlugin(),
273
            new AbstractProductsResourceRoutePlugin(),
274
            new AbstractProductAvailabilitiesRoutePlugin(),
275
            new ConcreteProductAvailabilitiesRoutePlugin(),
276
            new RelatedProductsResourceRoutePlugin(),
277
            new CartUpSellingProductsResourceRoutePlugin(),
278
            new CartsResourceRoutePlugin(),
279
            new AbstractProductImageSetsRoutePlugin(),
280
            new ConcreteProductImageSetsRoutePlugin(),
281
            new CartItemsResourceRoutePlugin(),
282
            new CatalogSearchResourceRoutePlugin(),
283
            new CatalogSearchSuggestionsResourceRoutePlugin(),
284
            new AbstractAlternativeProductsResourceRoutePlugin(),
285
            new ConcreteAlternativeProductsResourceRoutePlugin(),
286
            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

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