DataImportDependencyProvider::addStockFacade()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

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