getDataImporterPlugins()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 115
Code Lines 107

Duplication

Lines 0
Ratio 0 %

Importance

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

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\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\ProductOfferShoppingListDataImport\Communication\Plugin\DataImport\ProductOfferShoppingListItemDataImportPlugin;
98
use Spryker\Zed\ProductOfferStockDataImport\Communication\Plugin\ProductOfferStockDataImportPlugin;
99
use Spryker\Zed\ProductOfferValidityDataImport\Communication\DataImport\ProductOfferValidityDataImportPlugin;
100
use Spryker\Zed\ProductPackagingUnitDataImport\Communication\Plugin\DataImport\ProductPackagingUnitDataImportPlugin;
101
use Spryker\Zed\ProductPackagingUnitDataImport\Communication\Plugin\DataImport\ProductPackagingUnitTypeDataImportPlugin;
102
use Spryker\Zed\ProductQuantityDataImport\Communication\Plugin\ProductQuantityDataImportPlugin;
103
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationDataImportPlugin;
104
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationStoreDataImportPlugin;
105
use Spryker\Zed\QuoteRequestDataImport\Communication\Plugin\QuoteRequestDataImportPlugin;
106
use Spryker\Zed\QuoteRequestDataImport\Communication\Plugin\QuoteRequestVersionDataImportPlugin;
107
use Spryker\Zed\SalesOrderThresholdDataImport\Communication\Plugin\DataImport\SalesOrderThresholdDataImportPlugin;
108
use Spryker\Zed\SalesReturnDataImport\Communication\Plugin\ReturnReasonDataImportPlugin;
109
use Spryker\Zed\SharedCartDataImport\Communication\Plugin\SharedCartDataImportPlugin;
110
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentDataImportPlugin;
111
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodPriceDataImportPlugin;
112
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodStoreDataImportPlugin;
113
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListCompanyBusinessUnitDataImportPlugin;
114
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListCompanyUserDataImportPlugin;
115
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListDataImportPlugin;
116
use Spryker\Zed\ShoppingListDataImport\Communication\Plugin\ShoppingListItemDataImportPlugin;
117
use Spryker\Zed\StockAddressDataImport\Communication\Plugin\DataImport\StockAddressDataImportPlugin;
118
use Spryker\Zed\StockDataImport\Communication\Plugin\StockDataImportPlugin;
119
use Spryker\Zed\StockDataImport\Communication\Plugin\StockStoreDataImportPlugin;
120
use Spryker\Zed\StoreContextDataImport\Communication\Plugin\DataImport\StoreContextDataImportPlugin;
121
use Spryker\Zed\StoreDataImport\Communication\Plugin\DataImport\StoreDataImportPlugin;
122
123
class DataImportDependencyProvider extends SprykerDataImportDependencyProvider
124
{
125
    /**
126
     * @var string
127
     */
128
    public const FACADE_AVAILABILITY = 'availability facade';
129
130
    /**
131
     * @var string
132
     */
133
    public const FACADE_CATEGORY = 'category facade';
134
135
    /**
136
     * @var string
137
     */
138
    public const FACADE_PRODUCT_BUNDLE = 'product bundle facade';
139
140
    /**
141
     * @var string
142
     */
143
    public const FACADE_PRODUCT_RELATION = 'product relation facade';
144
145
    /**
146
     * @var string
147
     */
148
    public const FACADE_PRODUCT_SEARCH = 'product search facade';
149
150
    /**
151
     * @var string
152
     */
153
    public const FACADE_CURRENCY = 'FACADE_CURRENCY';
154
155
    /**
156
     * @var string
157
     */
158
    public const FACADE_PRICE_PRODUCT = 'FACADE_PRICE_PRODUCT';
159
160
    /**
161
     * @var string
162
     */
163
    public const FACADE_STOCK = 'FACADE_STOCK';
164
165
    /**
166
     * @var string
167
     */
168
    public const FACADE_STORE = 'FACADE_STORE';
169
170
    /**
171
     * @var string
172
     */
173
    public const FACADE_MERCHANT_USER = 'FACADE_MERCHANT_USER';
174
175
    /**
176
     * @param \Spryker\Zed\Kernel\Container $container
177
     *
178
     * @return \Spryker\Zed\Kernel\Container
179
     */
180
    public function provideBusinessLayerDependencies(Container $container): Container
181
    {
182
        $container = parent::provideBusinessLayerDependencies($container);
183
184
        $container = $this->addAvailabilityFacade($container);
185
        $container = $this->addCategoryFacade($container);
186
        $container = $this->addProductBundleFacade($container);
187
        $container = $this->addProductRelationFacade($container);
188
        $container = $this->addProductSearchFacade($container);
189
        $container = $this->addCurrencyFacade($container);
190
        $container = $this->addPriceProductFacade($container);
191
        $container = $this->addStockFacade($container);
192
        $container = $this->addStoreFacade($container);
193
        $container = $this->addMerchantUserFacade($container);
194
195
        return $container;
196
    }
197
198
    /**
199
     * @param \Spryker\Zed\Kernel\Container $container
200
     *
201
     * @return \Spryker\Zed\Kernel\Container
202
     */
203
    protected function addCurrencyFacade(Container $container): Container
204
    {
205
        $container->set(static::FACADE_CURRENCY, function (Container $container) {
206
            return $container->getLocator()->currency()->facade();
207
        });
208
209
        return $container;
210
    }
211
212
    /**
213
     * @param \Spryker\Zed\Kernel\Container $container
214
     *
215
     * @return \Spryker\Zed\Kernel\Container
216
     */
217
    protected function addPriceProductFacade(Container $container): Container
218
    {
219
        $container->set(static::FACADE_PRICE_PRODUCT, function (Container $container) {
220
            return $container->getLocator()->priceProduct()->facade();
221
        });
222
223
        return $container;
224
    }
225
226
    /**
227
     * @param \Spryker\Zed\Kernel\Container $container
228
     *
229
     * @return \Spryker\Zed\Kernel\Container
230
     */
231
    protected function addStockFacade(Container $container): Container
232
    {
233
        $container->set(static::FACADE_STOCK, function (Container $container) {
234
            return $container->getLocator()->stock()->facade();
235
        });
236
237
        return $container;
238
    }
239
240
    /**
241
     * @param \Spryker\Zed\Kernel\Container $container
242
     *
243
     * @return \Spryker\Zed\Kernel\Container
244
     */
245
    protected function addStoreFacade(Container $container): Container
246
    {
247
        $container->set(static::FACADE_STORE, function (Container $container) {
248
            return $container->getLocator()->store()->facade();
249
        });
250
251
        return $container;
252
    }
253
254
    /**
255
     * @param \Spryker\Zed\Kernel\Container $container
256
     *
257
     * @return \Spryker\Zed\Kernel\Container
258
     */
259
    protected function addAvailabilityFacade(Container $container): Container
260
    {
261
        $container->set(static::FACADE_AVAILABILITY, function (Container $container) {
262
            return $container->getLocator()->availability()->facade();
263
        });
264
265
        return $container;
266
    }
267
268
    /**
269
     * @param \Spryker\Zed\Kernel\Container $container
270
     *
271
     * @return \Spryker\Zed\Kernel\Container
272
     */
273
    protected function addCategoryFacade(Container $container): Container
274
    {
275
        $container->set(static::FACADE_CATEGORY, function (Container $container) {
276
            return $container->getLocator()->category()->facade();
277
        });
278
279
        return $container;
280
    }
281
282
    /**
283
     * @param \Spryker\Zed\Kernel\Container $container
284
     *
285
     * @return \Spryker\Zed\Kernel\Container
286
     */
287
    protected function addProductBundleFacade(Container $container): Container
288
    {
289
        $container->set(static::FACADE_PRODUCT_BUNDLE, function (Container $container) {
290
            return $container->getLocator()->productBundle()->facade();
291
        });
292
293
        return $container;
294
    }
295
296
    /**
297
     * @param \Spryker\Zed\Kernel\Container $container
298
     *
299
     * @return \Spryker\Zed\Kernel\Container
300
     */
301
    protected function addProductSearchFacade(Container $container): Container
302
    {
303
        $container->set(static::FACADE_PRODUCT_SEARCH, function (Container $container) {
304
            return $container->getLocator()->productSearch()->facade();
305
        });
306
307
        return $container;
308
    }
309
310
    /**
311
     * @param \Spryker\Zed\Kernel\Container $container
312
     *
313
     * @return \Spryker\Zed\Kernel\Container
314
     */
315
    protected function addProductRelationFacade(Container $container): Container
316
    {
317
        $container->set(static::FACADE_PRODUCT_RELATION, function (Container $container) {
318
            return $container->getLocator()->productRelation()->facade();
319
        });
320
321
        return $container;
322
    }
323
324
    /**
325
     * @param \Spryker\Zed\Kernel\Container $container
326
     *
327
     * @return \Spryker\Zed\Kernel\Container
328
     */
329
    protected function addMerchantUserFacade(Container $container): Container
330
    {
331
        $container->set(static::FACADE_MERCHANT_USER, function (Container $container) {
332
            return $container->getLocator()->merchantUser()->facade();
333
        });
334
335
        return $container;
336
    }
337
338
    /**
339
     * @return array<\Spryker\Zed\DataImport\Dependency\Plugin\DataImportPluginInterface>
340
     */
341
    protected function getDataImporterPlugins(): array
342
    {
343
        return [
344
            new StoreDataImportPlugin(),
345
            new CountryStoreDataImportPlugin(),
346
            new CurrencyStoreDataImportPlugin(),
347
            new LocaleStoreDataImportPlugin(),
348
            new DefaultLocaleStoreDataImportPlugin(),
349
            new StoreContextDataImportPlugin(),
350
            new CategoryDataImportPlugin(),
351
            new CmsPageDataImportPlugin(),
352
            new CmsPageStoreDataImportPlugin(),
353
            new CompanyDataImportPlugin(),
354
            new CompanyBusinessUnitDataImportPlugin(),
355
            new CompanyUnitAddressDataImportPlugin(),
356
            new CompanyUnitAddressLabelDataImportPlugin(),
357
            new CompanyUnitAddressLabelRelationDataImportPlugin(),
358
            new ProductDiscontinuedDataImportPlugin(), #ProductDiscontinuedFeature
359
            new ProductMeasurementUnitDataImportPlugin(),
360
            new ProductMeasurementBaseUnitDataImportPlugin(),
361
            new ProductMeasurementSalesUnitDataImportPlugin(),
362
            new ProductMeasurementSalesUnitStoreDataImportPlugin(),
363
            new ProductQuantityDataImportPlugin(),
364
            new ProductAlternativeDataImportPlugin(), #ProductAlternativeFeature
365
            new ProductPackagingUnitTypeDataImportPlugin(),
366
            new ProductPackagingUnitDataImportPlugin(),
367
            new BusinessOnBehalfCompanyUserDataImportPlugin(),
368
            new SalesOrderThresholdDataImportPlugin(),
369
            new MerchantDataImportPlugin(),
370
            new MerchantStoreDataImportPlugin(),
371
            new MerchantRelationshipDataImportPlugin(),
372
            new MerchantRelationshipSalesOrderThresholdDataImportPlugin(),
373
            new ProductListDataImportPlugin(),
374
            new ProductListCategoryDataImportPlugin(),
375
            new ProductListProductConcreteDataImportPlugin(),
376
            new MerchantRelationshipProductListDataImportPlugin(),
377
            new PriceProductDataImportPlugin(),
378
            new PriceProductMerchantRelationshipDataImportPlugin(),
379
            new FileManagerDataImportPlugin(),
380
            new CompanyUserDataImportPlugin(),
381
            new CompanyRoleDataImportPlugin(),
382
            new CompanyRolePermissionDataImportPlugin(),
383
            new CompanyUserRoleDataImportPlugin(),
384
            new CompanyBusinessUnitUserDataImportPlugin(),
385
            new CompanyBusinessUnitAddressDataImportPlugin(),
386
            new MultiCartDataImportPlugin(),
387
            new SharedCartDataImportPlugin(),
388
            new ShoppingListDataImportPlugin(),
389
            new ShoppingListItemDataImportPlugin(),
390
            new ShoppingListCompanyUserDataImportPlugin(),
391
            new ShoppingListCompanyBusinessUnitDataImportPlugin(),
392
            new QuoteRequestDataImportPlugin(),
393
            new QuoteRequestVersionDataImportPlugin(),
394
            new PriceProductScheduleDataImportPlugin(),
395
            new ContentBannerDataImportPlugin(),
396
            new ContentProductAbstractListDataImportPlugin(),
397
            new ContentProductSetDataImportPlugin(),
398
            new CommentDataImportPlugin(),
399
            new ConfigurableBundleTemplateDataImportPlugin(),
400
            new ConfigurableBundleTemplateSlotDataImportPlugin(),
401
            new ConfigurableBundleTemplateImageDataImportPlugin(),
402
            new ShipmentDataImportPlugin(),
403
            new ShipmentMethodPriceDataImportPlugin(),
404
            new ShipmentMethodStoreDataImportPlugin(),
405
            new StockDataImportPlugin(),
406
            new StockStoreDataImportPlugin(),
407
            new StockAddressDataImportPlugin(),
408
            new PaymentMethodDataImportPlugin(),
409
            new PaymentMethodStoreDataImportPlugin(),
410
            new ProductRelationDataImportPlugin(),
411
            new ProductRelationStoreDataImportPlugin(),
412
            new ProductLabelDataImportPlugin(),
413
            new ProductLabelStoreDataImportPlugin(),
414
            new ReturnReasonDataImportPlugin(),
415
416
            new CmsSlotTemplateDataImportPlugin(),
417
            new CmsSlotDataImportPlugin(),
418
            new CmsSlotBlockDataImportPlugin(),
419
            new ContentNavigationDataImportPlugin(),
420
            new CategoryStoreDataImportPlugin(),
421
422
            new MerchantProfileDataImportPlugin(),
423
            new MerchantProfileAddressDataImportPlugin(),
424
            new MerchantProductDataImportPlugin(),
425
            new MerchantProductOfferDataImportPlugin(),
426
            new MerchantProductOfferStoreDataImportPlugin(),
427
            new ProductOfferValidityDataImportPlugin(),
428
            new PriceProductOfferDataImportPlugin(),
429
            new MerchantStockDataImportPlugin(),
430
            new ProductOfferStockDataImportPlugin(),
431
            new ProductOfferShoppingListItemDataImportPlugin(),
432
433
            new MerchantOmsProcessDataImportPlugin(),
434
            new MerchantProductOptionGroupDataImportPlugin(),
435
436
            new MerchantOpeningHoursDateScheduleDataImportPlugin(),
437
            new MerchantOpeningHoursWeekdayScheduleDataImportPlugin(),
438
439
            new MerchantCategoryDataImportPlugin(),
440
            new MerchantProductApprovalStatusDefaultDataImportPlugin(),
441
            new ProductAbstractApprovalStatusDataImportPlugin(),
442
443
            new CombinedMerchantProductOfferDataImportPlugin(),
444
            new CombinedMerchantProductOfferStoreDataImportPlugin(),
445
            new CombinedPriceProductOfferDataImportPlugin(),
446
            new CombinedProductOfferValidityDataImportPlugin(),
447
            new CombinedProductOfferStockDataImportPlugin(),
448
            new ProductConfigurationDataImportPlugin(),
449
            new MerchantCommissionGroupDataImportPlugin(),
450
            new MerchantCommissionDataImportPlugin(),
451
            new MerchantCommissionAmountDataImportPlugin(),
452
            new MerchantCommissionStoreDataImportPlugin(),
453
            new MerchantCommissionMerchantDataImportPlugin(),
454
            new MerchantCombinedProductDataImportPlugin(),
455
            new MerchantCombinedProductOfferDataImportPlugin(),
456
        ];
457
    }
458
459
    /**
460
     * @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>
461
     */
462
    protected function getDataImportBeforeImportHookPlugins(): array
463
    {
464
        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...
465
            new DataImportEventBehaviorPlugin(),
466
        ];
467
    }
468
469
    /**
470
     * @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>
471
     */
472
    protected function getDataImportAfterImportHookPlugins(): array
473
    {
474
        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...
475
            new DataImportEventBehaviorPlugin(),
476
            new DataImportPublisherPlugin(),
477
        ];
478
    }
479
}
480