getResourceRelationshipPlugins()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 348
Code Lines 247

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 247
dl 0
loc 348
rs 8
c 0
b 0
f 0
cc 1
nc 1
nop 1

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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
use Spryker\Glue\WebProfiler\Plugin\Application\WebProfilerApplicationPlugin;
250
use SprykerFeature\Glue\SelfServicePortal\Plugin\GlueApplication\SspAssetsResourceRoutePlugin;
251
use SprykerFeature\Glue\SelfServicePortal\Plugin\GlueApplication\SspInquiriesResourceRoutePlugin;
252
use SprykerFeature\Glue\SelfServicePortal\Plugin\GlueApplication\SspServicesResourceRoutePlugin;
253
254
class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
255
{
256
    /**
257
     * {@inheritDoc}
258
     *
259
     * @return array<\Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface>
260
     */
261
    protected function getResourceRoutePlugins(): array
262
    {
263
        return [
264
            new ConcreteProductsResourceRoutePlugin(),
265
            new AccessTokensResourceRoutePlugin(),
266
            new RefreshTokensResourceRoutePlugin(),
267
            new CompanyUsersResourceRoutePlugin(),
268
            new CompanyUserAccessTokensResourceRoutePlugin(),
269
            new CustomersResourceRoutePlugin(),
270
            new AddressesResourceRoutePlugin(),
271
            new CustomerForgottenPasswordResourceRoutePlugin(),
272
            new CustomerRestorePasswordResourceRoutePlugin(),
273
            new CustomerPasswordResourceRoutePlugin(),
274
            new CompaniesResourcePlugin(),
275
            new AbstractProductPricesRoutePlugin(),
276
            new ConcreteProductPricesRoutePlugin(),
277
            new AbstractProductsResourceRoutePlugin(),
278
            new AbstractProductAvailabilitiesRoutePlugin(),
279
            new ConcreteProductAvailabilitiesRoutePlugin(),
280
            new RelatedProductsResourceRoutePlugin(),
281
            new CartUpSellingProductsResourceRoutePlugin(),
282
            new CartsResourceRoutePlugin(),
283
            new AbstractProductImageSetsRoutePlugin(),
284
            new ConcreteProductImageSetsRoutePlugin(),
285
            new CartItemsResourceRoutePlugin(),
286
            new CatalogSearchResourceRoutePlugin(),
287
            new CatalogSearchSuggestionsResourceRoutePlugin(),
288
            new AbstractAlternativeProductsResourceRoutePlugin(),
289
            new ConcreteAlternativeProductsResourceRoutePlugin(),
290
            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

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