DataImportDependencyProvider   A
last analyzed

Complexity

Total Complexity 14

Size/Duplication

Total Lines 375
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 14
eloc 185
dl 0
loc 375
rs 10
c 0
b 0
f 0

14 Methods

Rating   Name   Duplication   Size   Complexity  
B getDataImporterPlugins() 0 136 1
A addMerchantUserFacade() 0 7 1
A getDataImportAfterImportHookPlugins() 0 5 1
A addProductBundleFacade() 0 7 1
A provideBusinessLayerDependencies() 0 16 1
A getDataImportBeforeImportHookPlugins() 0 4 1
A addPriceProductFacade() 0 7 1
A addProductSearchFacade() 0 7 1
A addStockFacade() 0 7 1
A addStoreFacade() 0 7 1
A addAvailabilityFacade() 0 7 1
A addCurrencyFacade() 0 7 1
A addProductRelationFacade() 0 7 1
A addCategoryFacade() 0 7 1
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\Zed\DataImport;
11
12
use Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin\CombinedMerchantProductOfferDataImportPlugin;
13
use Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin\CombinedMerchantProductOfferStoreDataImportPlugin;
14
use Pyz\Zed\PriceProductOfferDataImport\Communication\Plugin\CombinedPriceProductOfferDataImportPlugin;
15
use Pyz\Zed\ProductOfferStockDataImport\Communication\Plugin\CombinedProductOfferStockDataImportPlugin;
16
use Pyz\Zed\ProductOfferValidityDataImport\Communication\Plugin\CombinedProductOfferValidityDataImportPlugin;
17
use Spryker\Zed\BusinessOnBehalfDataImport\Communication\Plugin\DataImport\BusinessOnBehalfCompanyUserDataImportPlugin;
18
use Spryker\Zed\CategoryDataImport\Communication\Plugin\CategoryDataImportPlugin;
19
use Spryker\Zed\CategoryDataImport\Communication\Plugin\DataImport\CategoryStoreDataImportPlugin;
20
use Spryker\Zed\CmsPageDataImport\Communication\Plugin\CmsPageDataImportPlugin;
21
use Spryker\Zed\CmsPageDataImport\Communication\Plugin\CmsPageStoreDataImportPlugin;
22
use Spryker\Zed\CmsSlotBlockDataImport\Communication\Plugin\CmsSlotBlockDataImportPlugin;
23
use Spryker\Zed\CmsSlotDataImport\Communication\Plugin\CmsSlotDataImportPlugin;
24
use Spryker\Zed\CmsSlotDataImport\Communication\Plugin\CmsSlotTemplateDataImportPlugin;
25
use Spryker\Zed\CommentDataImport\Communication\Plugin\CommentDataImportPlugin;
26
use Spryker\Zed\CompanyBusinessUnitDataImport\Communication\Plugin\CompanyBusinessUnitAddressDataImportPlugin;
27
use Spryker\Zed\CompanyBusinessUnitDataImport\Communication\Plugin\CompanyBusinessUnitDataImportPlugin;
28
use Spryker\Zed\CompanyBusinessUnitDataImport\Communication\Plugin\CompanyBusinessUnitUserDataImportPlugin;
29
use Spryker\Zed\CompanyDataImport\Communication\Plugin\CompanyDataImportPlugin;
30
use Spryker\Zed\CompanyRoleDataImport\Communication\Plugin\DataImport\CompanyRoleDataImportPlugin;
31
use Spryker\Zed\CompanyRoleDataImport\Communication\Plugin\DataImport\CompanyRolePermissionDataImportPlugin;
32
use Spryker\Zed\CompanyRoleDataImport\Communication\Plugin\DataImport\CompanyUserRoleDataImportPlugin;
33
use Spryker\Zed\CompanyUnitAddressDataImport\Communication\Plugin\CompanyUnitAddressDataImportPlugin;
34
use Spryker\Zed\CompanyUnitAddressLabelDataImport\Communication\Plugin\CompanyUnitAddressLabelDataImportPlugin;
35
use Spryker\Zed\CompanyUnitAddressLabelDataImport\Communication\Plugin\CompanyUnitAddressLabelRelationDataImportPlugin;
36
use Spryker\Zed\CompanyUserDataImport\Communication\Plugin\DataImport\CompanyUserDataImportPlugin;
37
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateDataImportPlugin;
38
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateImageDataImportPlugin;
39
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateSlotDataImportPlugin;
40
use Spryker\Zed\ContentBannerDataImport\Communication\Plugin\ContentBannerDataImportPlugin;
41
use Spryker\Zed\ContentNavigationDataImport\Communication\Plugin\DataImport\ContentNavigationDataImportPlugin;
42
use Spryker\Zed\ContentProductDataImport\Communication\Plugin\ContentProductAbstractListDataImportPlugin;
43
use Spryker\Zed\ContentProductSetDataImport\Communication\Plugin\ContentProductSetDataImportPlugin;
44
use Spryker\Zed\CountryDataImport\Communication\Plugin\DataImport\CountryStoreDataImportPlugin;
45
use Spryker\Zed\CurrencyDataImport\Communication\Plugin\DataImport\CurrencyStoreDataImportPlugin;
46
use Spryker\Zed\DataImport\Communication\Plugin\DataImportEventBehaviorPlugin;
47
use Spryker\Zed\DataImport\Communication\Plugin\DataImportPublisherPlugin;
48
use Spryker\Zed\DataImport\DataImportDependencyProvider as SprykerDataImportDependencyProvider;
49
use Spryker\Zed\FileManagerDataImport\Communication\Plugin\FileManagerDataImportPlugin;
50
use Spryker\Zed\Kernel\Container;
51
use Spryker\Zed\LocaleDataImport\Communication\Plugin\DataImport\DefaultLocaleStoreDataImportPlugin;
52
use Spryker\Zed\LocaleDataImport\Communication\Plugin\DataImport\LocaleStoreDataImportPlugin;
53
use Spryker\Zed\MerchantCategoryDataImport\Communication\Plugin\DataImport\MerchantCategoryDataImportPlugin;
54
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionAmountDataImportPlugin;
55
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionDataImportPlugin;
56
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionGroupDataImportPlugin;
57
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionMerchantDataImportPlugin;
58
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionStoreDataImportPlugin;
59
use Spryker\Zed\MerchantDataImport\Communication\Plugin\MerchantDataImportPlugin;
60
use Spryker\Zed\MerchantDataImport\Communication\Plugin\MerchantStoreDataImportPlugin;
61
use Spryker\Zed\MerchantOmsDataImport\Communication\Plugin\DataImport\MerchantOmsProcessDataImportPlugin;
62
use Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin\MerchantOpeningHoursDateScheduleDataImportPlugin;
63
use Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin\MerchantOpeningHoursWeekdayScheduleDataImportPlugin;
64
use Spryker\Zed\MerchantProductApprovalDataImport\Communication\Plugin\DataImport\MerchantProductApprovalStatusDefaultDataImportPlugin;
65
use Spryker\Zed\MerchantProductDataImport\Communication\Plugin\DataImport\MerchantCombinedProductDataImportPlugin;
66
use Spryker\Zed\MerchantProductDataImport\Communication\Plugin\MerchantProductDataImportPlugin;
67
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantCombinedProductOfferDataImportPlugin;
68
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantProductOfferDataImportPlugin;
69
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantProductOfferStoreDataImportPlugin;
70
use Spryker\Zed\MerchantProductOptionDataImport\Communication\Plugin\DataImport\MerchantProductOptionGroupDataImportPlugin;
71
use Spryker\Zed\MerchantProfileDataImport\Communication\Plugin\MerchantProfileAddressDataImportPlugin;
72
use Spryker\Zed\MerchantProfileDataImport\Communication\Plugin\MerchantProfileDataImportPlugin;
73
use Spryker\Zed\MerchantRelationshipDataImport\Communication\Plugin\MerchantRelationshipDataImportPlugin;
74
use Spryker\Zed\MerchantRelationshipProductListDataImport\Communication\Plugin\MerchantRelationshipProductListDataImportPlugin;
75
use Spryker\Zed\MerchantRelationshipSalesOrderThresholdDataImport\Communication\Plugin\DataImport\MerchantRelationshipSalesOrderThresholdDataImportPlugin;
76
use Spryker\Zed\MerchantStockDataImport\Communication\Plugin\MerchantStockDataImportPlugin;
77
use Spryker\Zed\MultiCartDataImport\Communication\Plugin\MultiCartDataImportPlugin;
78
use Spryker\Zed\PaymentDataImport\Communication\Plugin\PaymentMethodDataImportPlugin;
79
use Spryker\Zed\PaymentDataImport\Communication\Plugin\PaymentMethodStoreDataImportPlugin;
80
use Spryker\Zed\PriceProductDataImport\Communication\Plugin\PriceProductDataImportPlugin;
81
use Spryker\Zed\PriceProductMerchantRelationshipDataImport\Communication\Plugin\PriceProductMerchantRelationshipDataImportPlugin;
82
use Spryker\Zed\PriceProductOfferDataImport\Communication\Plugin\PriceProductOfferDataImportPlugin;
83
use Spryker\Zed\PriceProductScheduleDataImport\Communication\Plugin\PriceProductScheduleDataImportPlugin;
84
use Spryker\Zed\ProductAlternativeDataImport\Communication\Plugin\ProductAlternativeDataImportPlugin;
85
use Spryker\Zed\ProductApprovalDataImport\Communication\Plugin\DataImport\ProductAbstractApprovalStatusDataImportPlugin;
86
use Spryker\Zed\ProductConfigurationDataImport\Communication\Plugin\ProductConfigurationDataImportPlugin;
87
use Spryker\Zed\ProductDiscontinuedDataImport\Communication\Plugin\ProductDiscontinuedDataImportPlugin;
88
use Spryker\Zed\ProductLabelDataImport\Communication\Plugin\ProductLabelDataImportPlugin;
89
use Spryker\Zed\ProductLabelDataImport\Communication\Plugin\ProductLabelStoreDataImportPlugin;
90
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListCategoryDataImportPlugin;
91
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListDataImportPlugin;
92
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListProductConcreteDataImportPlugin;
93
use Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin\ProductMeasurementBaseUnitDataImportPlugin;
94
use Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin\ProductMeasurementSalesUnitDataImportPlugin;
95
use Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin\ProductMeasurementSalesUnitStoreDataImportPlugin;
96
use Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin\ProductMeasurementUnitDataImportPlugin;
97
use Spryker\Zed\ProductOfferServicePointDataImport\Communication\Plugin\DataImport\ProductOfferServiceDataImportPlugin;
98
use Spryker\Zed\ProductOfferShipmentTypeDataImport\Communication\Plugin\DataImport\ProductOfferShipmentTypeDataImportPlugin;
99
use Spryker\Zed\ProductOfferShoppingListDataImport\Communication\Plugin\DataImport\ProductOfferShoppingListItemDataImportPlugin;
100
use Spryker\Zed\ProductOfferStockDataImport\Communication\Plugin\ProductOfferStockDataImportPlugin;
101
use Spryker\Zed\ProductOfferValidityDataImport\Communication\DataImport\ProductOfferValidityDataImportPlugin;
102
use Spryker\Zed\ProductPackagingUnitDataImport\Communication\Plugin\DataImport\ProductPackagingUnitDataImportPlugin;
103
use Spryker\Zed\ProductPackagingUnitDataImport\Communication\Plugin\DataImport\ProductPackagingUnitTypeDataImportPlugin;
104
use Spryker\Zed\ProductQuantityDataImport\Communication\Plugin\ProductQuantityDataImportPlugin;
105
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationDataImportPlugin;
106
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationStoreDataImportPlugin;
107
use Spryker\Zed\QuoteRequestDataImport\Communication\Plugin\QuoteRequestDataImportPlugin;
108
use Spryker\Zed\QuoteRequestDataImport\Communication\Plugin\QuoteRequestVersionDataImportPlugin;
109
use Spryker\Zed\SalesOrderThresholdDataImport\Communication\Plugin\DataImport\SalesOrderThresholdDataImportPlugin;
110
use Spryker\Zed\SalesReturnDataImport\Communication\Plugin\ReturnReasonDataImportPlugin;
111
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServiceDataImportPlugin;
112
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointAddressDataImportPlugin;
113
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointDataImportPlugin;
114
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointStoreDataImportPlugin;
115
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServiceTypeDataImportPlugin;
116
use Spryker\Zed\SharedCartDataImport\Communication\Plugin\SharedCartDataImportPlugin;
117
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentDataImportPlugin;
118
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodPriceDataImportPlugin;
119
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodStoreDataImportPlugin;
120
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentMethodShipmentTypeDataImportPlugin;
121
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentTypeDataImportPlugin;
122
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentTypeStoreDataImportPlugin;
123
use Spryker\Zed\ShipmentTypeServicePointDataImport\Communication\Plugin\DataImport\ShipmentTypeServiceTypeDataImportPlugin;
124
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListCompanyBusinessUnitDataImportPlugin;
125
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListCompanyUserDataImportPlugin;
126
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListDataImportPlugin;
127
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListItemDataImportPlugin;
128
use Spryker\Zed\StockAddressDataImport\Communication\Plugin\DataImport\StockAddressDataImportPlugin;
129
use Spryker\Zed\StockDataImport\Communication\Plugin\StockDataImportPlugin;
130
use Spryker\Zed\StockDataImport\Communication\Plugin\StockStoreDataImportPlugin;
131
use Spryker\Zed\StoreContextDataImport\Communication\Plugin\DataImport\StoreContextDataImportPlugin;
132
use Spryker\Zed\StoreDataImport\Communication\Plugin\DataImport\StoreDataImportPlugin;
133
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\ProductClassDataImportPlugin;
134
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\ProductShipmentTypeDataImportPlugin;
135
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\ProductToProductClassDataImportPlugin;
136
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\SspAssetDataImportPlugin;
137
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\SspInquiryDataImportPlugin;
138
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\SspModelAssetDataImportPlugin;
139
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\SspModelDataImportPlugin;
140
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\DataImport\SspModelProductListDataImportPlugin;
141
142
/**
143
 * @package Pyz\Zed\DataImport
144
 */
145
class DataImportDependencyProvider extends SprykerDataImportDependencyProvider
146
{
147
    /**
148
     * @var string
149
     */
150
    public const FACADE_AVAILABILITY = 'availability facade';
151
152
    /**
153
     * @var string
154
     */
155
    public const FACADE_CATEGORY = 'category facade';
156
157
    /**
158
     * @var string
159
     */
160
    public const FACADE_PRODUCT_BUNDLE = 'product bundle facade';
161
162
    /**
163
     * @var string
164
     */
165
    public const FACADE_PRODUCT_RELATION = 'product relation facade';
166
167
    /**
168
     * @var string
169
     */
170
    public const FACADE_PRODUCT_SEARCH = 'product search facade';
171
172
    /**
173
     * @var string
174
     */
175
    public const FACADE_CURRENCY = 'FACADE_CURRENCY';
176
177
    /**
178
     * @var string
179
     */
180
    public const FACADE_PRICE_PRODUCT = 'FACADE_PRICE_PRODUCT';
181
182
    /**
183
     * @var string
184
     */
185
    public const FACADE_STOCK = 'FACADE_STOCK';
186
187
    /**
188
     * @var string
189
     */
190
    public const FACADE_STORE = 'FACADE_STORE';
191
192
    /**
193
     * @var string
194
     */
195
    public const FACADE_MERCHANT_USER = 'FACADE_MERCHANT_USER';
196
197
    /**
198
     * @param \Spryker\Zed\Kernel\Container $container
199
     *
200
     * @return \Spryker\Zed\Kernel\Container
201
     */
202
    public function provideBusinessLayerDependencies(Container $container): Container
203
    {
204
        $container = parent::provideBusinessLayerDependencies($container);
205
206
        $container = $this->addAvailabilityFacade($container);
207
        $container = $this->addCategoryFacade($container);
208
        $container = $this->addProductBundleFacade($container);
209
        $container = $this->addProductRelationFacade($container);
210
        $container = $this->addProductSearchFacade($container);
211
        $container = $this->addCurrencyFacade($container);
212
        $container = $this->addPriceProductFacade($container);
213
        $container = $this->addStockFacade($container);
214
        $container = $this->addStoreFacade($container);
215
        $container = $this->addMerchantUserFacade($container);
216
217
        return $container;
218
    }
219
220
    /**
221
     * @param \Spryker\Zed\Kernel\Container $container
222
     *
223
     * @return \Spryker\Zed\Kernel\Container
224
     */
225
    protected function addCurrencyFacade(Container $container): Container
226
    {
227
        $container->set(static::FACADE_CURRENCY, function (Container $container) {
228
            return $container->getLocator()->currency()->facade();
229
        });
230
231
        return $container;
232
    }
233
234
    /**
235
     * @param \Spryker\Zed\Kernel\Container $container
236
     *
237
     * @return \Spryker\Zed\Kernel\Container
238
     */
239
    protected function addPriceProductFacade(Container $container): Container
240
    {
241
        $container->set(static::FACADE_PRICE_PRODUCT, function (Container $container) {
242
            return $container->getLocator()->priceProduct()->facade();
243
        });
244
245
        return $container;
246
    }
247
248
    /**
249
     * @param \Spryker\Zed\Kernel\Container $container
250
     *
251
     * @return \Spryker\Zed\Kernel\Container
252
     */
253
    protected function addStockFacade(Container $container): Container
254
    {
255
        $container->set(static::FACADE_STOCK, function (Container $container) {
256
            return $container->getLocator()->stock()->facade();
257
        });
258
259
        return $container;
260
    }
261
262
    /**
263
     * @param \Spryker\Zed\Kernel\Container $container
264
     *
265
     * @return \Spryker\Zed\Kernel\Container
266
     */
267
    protected function addStoreFacade(Container $container): Container
268
    {
269
        $container->set(static::FACADE_STORE, function (Container $container) {
270
            return $container->getLocator()->store()->facade();
271
        });
272
273
        return $container;
274
    }
275
276
    /**
277
     * @param \Spryker\Zed\Kernel\Container $container
278
     *
279
     * @return \Spryker\Zed\Kernel\Container
280
     */
281
    protected function addAvailabilityFacade(Container $container): Container
282
    {
283
        $container->set(static::FACADE_AVAILABILITY, function (Container $container) {
284
            return $container->getLocator()->availability()->facade();
285
        });
286
287
        return $container;
288
    }
289
290
    /**
291
     * @param \Spryker\Zed\Kernel\Container $container
292
     *
293
     * @return \Spryker\Zed\Kernel\Container
294
     */
295
    protected function addCategoryFacade(Container $container): Container
296
    {
297
        $container->set(static::FACADE_CATEGORY, function (Container $container) {
298
            return $container->getLocator()->category()->facade();
299
        });
300
301
        return $container;
302
    }
303
304
    /**
305
     * @param \Spryker\Zed\Kernel\Container $container
306
     *
307
     * @return \Spryker\Zed\Kernel\Container
308
     */
309
    protected function addProductBundleFacade(Container $container): Container
310
    {
311
        $container->set(static::FACADE_PRODUCT_BUNDLE, function (Container $container) {
312
            return $container->getLocator()->productBundle()->facade();
313
        });
314
315
        return $container;
316
    }
317
318
    /**
319
     * @param \Spryker\Zed\Kernel\Container $container
320
     *
321
     * @return \Spryker\Zed\Kernel\Container
322
     */
323
    protected function addProductSearchFacade(Container $container): Container
324
    {
325
        $container->set(static::FACADE_PRODUCT_SEARCH, function (Container $container) {
326
            return $container->getLocator()->productSearch()->facade();
327
        });
328
329
        return $container;
330
    }
331
332
    /**
333
     * @param \Spryker\Zed\Kernel\Container $container
334
     *
335
     * @return \Spryker\Zed\Kernel\Container
336
     */
337
    protected function addProductRelationFacade(Container $container): Container
338
    {
339
        $container->set(static::FACADE_PRODUCT_RELATION, function (Container $container) {
340
            return $container->getLocator()->productRelation()->facade();
341
        });
342
343
        return $container;
344
    }
345
346
    /**
347
     * @param \Spryker\Zed\Kernel\Container $container
348
     *
349
     * @return \Spryker\Zed\Kernel\Container
350
     */
351
    protected function addMerchantUserFacade(Container $container): Container
352
    {
353
        $container->set(static::FACADE_MERCHANT_USER, function (Container $container) {
354
            return $container->getLocator()->merchantUser()->facade();
355
        });
356
357
        return $container;
358
    }
359
360
    /**
361
     * @return array<\Spryker\Zed\DataImport\Dependency\Plugin\DataImportPluginInterface>
362
     */
363
    protected function getDataImporterPlugins(): array
364
    {
365
        return [
366
            new StoreDataImportPlugin(),
367
            new CountryStoreDataImportPlugin(),
368
            new CurrencyStoreDataImportPlugin(),
369
            new LocaleStoreDataImportPlugin(),
370
            new DefaultLocaleStoreDataImportPlugin(),
371
            new StoreContextDataImportPlugin(),
372
            new CategoryDataImportPlugin(),
373
            new CmsPageDataImportPlugin(),
374
            new CmsPageStoreDataImportPlugin(),
375
            new CompanyDataImportPlugin(),
376
            new CompanyBusinessUnitDataImportPlugin(),
377
            new CompanyUnitAddressDataImportPlugin(),
378
            new CompanyUnitAddressLabelDataImportPlugin(),
379
            new CompanyUnitAddressLabelRelationDataImportPlugin(),
380
            new ProductDiscontinuedDataImportPlugin(), #ProductDiscontinuedFeature
381
            new ProductMeasurementUnitDataImportPlugin(),
382
            new ProductMeasurementBaseUnitDataImportPlugin(),
383
            new ProductMeasurementSalesUnitDataImportPlugin(),
384
            new ProductMeasurementSalesUnitStoreDataImportPlugin(),
385
            new ProductQuantityDataImportPlugin(),
386
            new ProductAlternativeDataImportPlugin(), #ProductAlternativeFeature
387
            new ProductPackagingUnitTypeDataImportPlugin(),
388
            new ProductPackagingUnitDataImportPlugin(),
389
            new BusinessOnBehalfCompanyUserDataImportPlugin(),
390
            new SalesOrderThresholdDataImportPlugin(),
391
            new MerchantDataImportPlugin(),
392
            new MerchantStoreDataImportPlugin(),
393
            new MerchantRelationshipDataImportPlugin(),
394
            new MerchantRelationshipSalesOrderThresholdDataImportPlugin(),
395
            new ProductListDataImportPlugin(),
396
            new ProductListCategoryDataImportPlugin(),
397
            new ProductListDataImportPlugin(),
398
            new ProductListProductConcreteDataImportPlugin(),
399
            new MerchantRelationshipProductListDataImportPlugin(),
400
            new PriceProductDataImportPlugin(),
401
            new PriceProductMerchantRelationshipDataImportPlugin(),
402
            new FileManagerDataImportPlugin(),
403
            new CompanyUserDataImportPlugin(),
404
            new CompanyRoleDataImportPlugin(),
405
            new CompanyRolePermissionDataImportPlugin(),
406
            new CompanyUserRoleDataImportPlugin(),
407
            new CompanyBusinessUnitUserDataImportPlugin(),
408
            new CompanyBusinessUnitAddressDataImportPlugin(),
409
            new MultiCartDataImportPlugin(),
410
            new SharedCartDataImportPlugin(),
411
            new ShoppingListDataImportPlugin(),
412
            new ShoppingListItemDataImportPlugin(),
413
            new ShoppingListCompanyUserDataImportPlugin(),
414
            new ShoppingListCompanyBusinessUnitDataImportPlugin(),
415
            new QuoteRequestDataImportPlugin(),
416
            new QuoteRequestVersionDataImportPlugin(),
417
            new PriceProductScheduleDataImportPlugin(),
418
            new ContentBannerDataImportPlugin(),
419
            new ContentProductAbstractListDataImportPlugin(),
420
            new ContentProductSetDataImportPlugin(),
421
            new CommentDataImportPlugin(),
422
            new ConfigurableBundleTemplateDataImportPlugin(),
423
            new ConfigurableBundleTemplateSlotDataImportPlugin(),
424
            new ConfigurableBundleTemplateImageDataImportPlugin(),
425
            new ShipmentDataImportPlugin(),
426
            new ShipmentMethodPriceDataImportPlugin(),
427
            new ShipmentMethodStoreDataImportPlugin(),
428
            new StockDataImportPlugin(),
429
            new StockStoreDataImportPlugin(),
430
            new StockAddressDataImportPlugin(),
431
            new PaymentMethodDataImportPlugin(),
432
            new PaymentMethodStoreDataImportPlugin(),
433
            new ProductRelationDataImportPlugin(),
434
            new ProductRelationStoreDataImportPlugin(),
435
            new ProductLabelDataImportPlugin(),
436
            new ProductLabelStoreDataImportPlugin(),
437
            new ReturnReasonDataImportPlugin(),
438
439
            new CmsSlotTemplateDataImportPlugin(),
440
            new CmsSlotDataImportPlugin(),
441
            new CmsSlotBlockDataImportPlugin(),
442
            new ContentNavigationDataImportPlugin(),
443
            new CategoryStoreDataImportPlugin(),
444
445
            new ServicePointDataImportPlugin(),
446
            new ServicePointStoreDataImportPlugin(),
447
            new ServicePointAddressDataImportPlugin(),
448
            new ServiceTypeDataImportPlugin(),
449
            new ServiceDataImportPlugin(),
450
            new ShipmentTypeServiceTypeDataImportPlugin(),
451
            new ShipmentTypeDataImportPlugin(),
452
            new ShipmentTypeStoreDataImportPlugin(),
453
            new ShipmentMethodShipmentTypeDataImportPlugin(),
454
455
            new MerchantProfileDataImportPlugin(),
456
            new MerchantProfileAddressDataImportPlugin(),
457
            new MerchantProductDataImportPlugin(),
458
            new MerchantProductOfferDataImportPlugin(),
459
            new MerchantProductOfferStoreDataImportPlugin(),
460
            new ProductOfferValidityDataImportPlugin(),
461
            new PriceProductOfferDataImportPlugin(),
462
            new MerchantStockDataImportPlugin(),
463
            new ProductOfferStockDataImportPlugin(),
464
            new ProductOfferShipmentTypeDataImportPlugin(),
465
            new ProductOfferServiceDataImportPlugin(),
466
            new ProductOfferShoppingListItemDataImportPlugin(),
467
468
            new MerchantOmsProcessDataImportPlugin(),
469
            new MerchantProductOptionGroupDataImportPlugin(),
470
471
            new MerchantOpeningHoursDateScheduleDataImportPlugin(),
472
            new MerchantOpeningHoursWeekdayScheduleDataImportPlugin(),
473
474
            new MerchantCategoryDataImportPlugin(),
475
            new MerchantProductApprovalStatusDefaultDataImportPlugin(),
476
            new ProductAbstractApprovalStatusDataImportPlugin(),
477
478
            new CombinedMerchantProductOfferDataImportPlugin(),
479
            new CombinedMerchantProductOfferStoreDataImportPlugin(),
480
            new CombinedPriceProductOfferDataImportPlugin(),
481
            new CombinedProductOfferValidityDataImportPlugin(),
482
            new CombinedProductOfferStockDataImportPlugin(),
483
            new ProductConfigurationDataImportPlugin(),
484
            new MerchantCommissionGroupDataImportPlugin(),
485
            new MerchantCommissionDataImportPlugin(),
486
            new MerchantCommissionAmountDataImportPlugin(),
487
            new MerchantCommissionStoreDataImportPlugin(),
488
            new MerchantCommissionMerchantDataImportPlugin(),
489
            new MerchantCombinedProductDataImportPlugin(),
490
            new MerchantCombinedProductOfferDataImportPlugin(),
491
            new ProductShipmentTypeDataImportPlugin(),
492
            new ProductClassDataImportPlugin(),
493
            new ProductToProductClassDataImportPlugin(),
494
            new SspInquiryDataImportPlugin(),
495
            new SspAssetDataImportPlugin(),
496
            new SspModelDataImportPlugin(),
497
            new SspModelAssetDataImportPlugin(),
498
            new SspModelProductListDataImportPlugin(),
499
        ];
500
    }
501
502
    /**
503
     * @return array<\Spryker\Zed\DataImport\Business\Model\DataImporterPluginCollectionInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportBeforeImportHookInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportAfterImportHookInterface>
504
     */
505
    protected function getDataImportBeforeImportHookPlugins(): array
506
    {
507
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...tEventBehaviorPlugin()) returns the type array<integer,Spryker\Ze...ortEventBehaviorPlugin> which is incompatible with the return type mandated by Spryker\Zed\DataImport\D...foreImportHookPlugins() of array<mixed,Spryker\Zed\...ginCollectionInterface>.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
508
            new DataImportEventBehaviorPlugin(),
509
        ];
510
    }
511
512
    /**
513
     * @return array<\Spryker\Zed\DataImport\Business\Model\DataImporterPluginCollectionInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportBeforeImportHookInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportAfterImportHookInterface>
514
     */
515
    protected function getDataImportAfterImportHookPlugins(): array
516
    {
517
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...mportPublisherPlugin()) returns the type array<integer,Spryker\Ze...aImportPublisherPlugin> which is incompatible with the return type mandated by Spryker\Zed\DataImport\D...fterImportHookPlugins() of array<mixed,Spryker\Zed\...ginCollectionInterface>.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
518
            new DataImportEventBehaviorPlugin(),
519
            new DataImportPublisherPlugin(),
520
        ];
521
    }
522
}
523