Passed
Pull Request — master (#664)
by Fedets
05:18
created

getSalesOrderItemCollectionPreDeletePlugins()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 11
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Zed\Sales;
11
12
use Spryker\Zed\CommentSalesConnector\Communication\Plugin\Sales\CommentThreadAttachedCommentOrderPostSavePlugin;
13
use Spryker\Zed\CommentSalesConnector\Communication\Plugin\Sales\CommentThreadOrderExpanderPlugin;
14
use Spryker\Zed\CommentSalesConnector\Communication\Plugin\Sales\SaveOrderCommentThreadOrderPostSavePlugin;
15
use Spryker\Zed\CompanyBusinessUnitSalesConnector\Communication\Plugin\Sales\CompanyBusinessUnitCustomerFilterOrderSearchQueryExpanderPlugin;
16
use Spryker\Zed\CompanyBusinessUnitSalesConnector\Communication\Plugin\Sales\CompanyBusinessUnitCustomerOrderAccessCheckPlugin;
17
use Spryker\Zed\CompanyBusinessUnitSalesConnector\Communication\Plugin\Sales\CompanyBusinessUnitCustomerSortingOrderSearchQueryExpanderPlugin;
18
use Spryker\Zed\CompanyBusinessUnitSalesConnector\Communication\Plugin\Sales\CompanyBusinessUnitFilterOrderSearchQueryExpanderPlugin;
19
use Spryker\Zed\CompanyBusinessUnitSalesConnector\Communication\Plugin\Sales\SaveCompanyBusinessUnitUuidOrderPostSavePlugin;
20
use Spryker\Zed\CompanySalesConnector\Communication\Plugin\Sales\CompanyCustomerFilterOrderSearchQueryExpanderPlugin;
21
use Spryker\Zed\CompanySalesConnector\Communication\Plugin\Sales\CompanyCustomerOrderAccessCheckPlugin;
22
use Spryker\Zed\CompanySalesConnector\Communication\Plugin\Sales\CompanyCustomerSortingOrderSearchQueryExpanderPlugin;
23
use Spryker\Zed\CompanySalesConnector\Communication\Plugin\Sales\CompanyFilterOrderSearchQueryExpanderPlugin;
24
use Spryker\Zed\CompanySalesConnector\Communication\Plugin\Sales\SaveCompanyUuidOrderPostSavePlugin;
25
use Spryker\Zed\Currency\Communication\Plugin\Sales\CurrencyOrderExpanderPlugin;
26
use Spryker\Zed\Customer\Communication\Plugin\Sales\CustomerOrderHydratePlugin;
27
use Spryker\Zed\Discount\Communication\Plugin\Sales\DiscountOrderHydratePlugin;
28
use Spryker\Zed\Discount\Communication\Plugin\Sales\DiscountSalesOrderItemCollectionPreDeletePlugin;
29
use Spryker\Zed\Discount\Communication\Plugin\Sales\SalesDiscountSalesExpensePreDeletePlugin;
30
use Spryker\Zed\GiftCard\Communication\Plugin\Sales\GiftCardSalesOrderItemCollectionPreDeletePlugin;
31
use Spryker\Zed\MerchantOmsGui\Communication\Plugin\Sales\MerchantOmsStateOrderItemsTableExpanderPlugin;
32
use Spryker\Zed\MerchantProfile\Communication\Plugin\Sales\MerchantDataOrderHydratePlugin;
33
use Spryker\Zed\MerchantSalesOrder\Communication\Plugin\Sales\MerchantOrderDataOrderExpanderPlugin;
34
use Spryker\Zed\MerchantSalesOrder\Communication\Plugin\Sales\MerchantReferenceOrderItemExpanderPreSavePlugin;
35
use Spryker\Zed\MerchantSalesOrder\Communication\Plugin\Sales\MerchantReferencesOrderExpanderPlugin;
36
use Spryker\Zed\Nopayment\Communication\Plugin\Sales\NopaymentSalesOrderItemCollectionPreDeletePlugin;
37
use Spryker\Zed\Oms\Communication\Plugin\Sales\DefaultOrderItemInitialStateProviderPlugin;
38
use Spryker\Zed\Oms\Communication\Plugin\Sales\IsCancellableOrderExpanderPlugin;
39
use Spryker\Zed\Oms\Communication\Plugin\Sales\IsCancellableSearchOrderExpanderPlugin;
40
use Spryker\Zed\Oms\Communication\Plugin\Sales\ItemStateOrderItemExpanderPlugin;
41
use Spryker\Zed\Oms\Communication\Plugin\Sales\OmsItemHistorySalesOrderItemCollectionPreDeletePlugin;
42
use Spryker\Zed\Oms\Communication\Plugin\Sales\OmsStatesOrderExpanderPlugin;
43
use Spryker\Zed\Oms\Communication\Plugin\Sales\OrderAggregatedItemStateSearchOrderExpanderPlugin;
44
use Spryker\Zed\Oms\Communication\Plugin\Sales\StateHistoryOrderItemExpanderPlugin;
45
use Spryker\Zed\OmsMultiThread\Communication\Plugin\Sales\OmsMultiThreadProcessorIdentifierOrderExpanderPreSavePlugin;
46
use Spryker\Zed\OrderCustomReference\Communication\Plugin\Sales\OrderCustomReferenceOrderPostSavePlugin;
47
use Spryker\Zed\OrderCustomReference\Communication\Plugin\Sales\UpdateOrderCustomReferenceOrderPostSavePlugin;
48
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleIdHydratorPlugin;
49
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleOptionItemExpanderPlugin;
50
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleOptionOrderExpanderPlugin;
51
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleOrderHydratePlugin;
52
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleOrderItemExpanderPlugin;
53
use Spryker\Zed\ProductBundle\Communication\Plugin\Sales\UniqueOrderBundleItemsExpanderPlugin;
54
use Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Sales\QuantitySalesUnitOrderItemExpanderPlugin;
55
use Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\SalesExtension\QuantitySalesUnitOrderItemExpanderPreSavePlugin;
56
use Spryker\Zed\ProductOfferSales\Communication\Plugin\Sales\ProductOfferReferenceOrderItemExpanderPreSavePlugin;
57
use Spryker\Zed\ProductOption\Communication\Plugin\Sales\ProductOptionGroupIdHydratorPlugin;
58
use Spryker\Zed\ProductOption\Communication\Plugin\Sales\ProductOptionOrderItemsPostSavePlugin;
59
use Spryker\Zed\ProductOption\Communication\Plugin\Sales\ProductOptionSalesOrderItemCollectionPostUpdatePlugin;
60
use Spryker\Zed\ProductOption\Communication\Plugin\Sales\ProductOptionSalesOrderItemCollectionPreDeletePlugin;
61
use Spryker\Zed\ProductOption\Communication\Plugin\Sales\ProductOptionsOrderItemExpanderPlugin;
62
use Spryker\Zed\ProductPackagingUnit\Communication\Plugin\Checkout\PackagingUnitSplittableItemTransformerStrategyPlugin;
63
use Spryker\Zed\ProductPackagingUnit\Communication\Plugin\Sales\AmountLeadProductOrderItemExpanderPlugin;
64
use Spryker\Zed\ProductPackagingUnit\Communication\Plugin\Sales\AmountSalesUnitOrderItemExpanderPlugin;
65
use Spryker\Zed\ProductPackagingUnit\Communication\Plugin\SalesExtension\AmountSalesUnitOrderItemExpanderPreSavePlugin;
66
use Spryker\Zed\ProductPackagingUnit\Communication\Plugin\SalesExtension\ProductPackagingUnitOrderItemExpanderPreSavePlugin;
67
use Spryker\Zed\Sales\Communication\Plugin\Sales\CurrencyIsoCodeOrderItemExpanderPlugin;
68
use Spryker\Zed\Sales\SalesDependencyProvider as SprykerSalesDependencyProvider;
69
use Spryker\Zed\SalesConfigurableBundle\Communication\Plugin\Sales\ConfiguredBundleItemPreTransformerPlugin;
70
use Spryker\Zed\SalesConfigurableBundle\Communication\Plugin\Sales\ConfiguredBundleOrderItemExpanderPlugin;
71
use Spryker\Zed\SalesConfigurableBundle\Communication\Plugin\Sales\ConfiguredBundlesOrderItemsPostSavePlugin;
72
use Spryker\Zed\SalesConfigurableBundle\Communication\Plugin\Sales\SalesConfigurableBundleSalesOrderItemCollectionPreDeletePlugin;
73
use Spryker\Zed\SalesConfigurableBundle\Communication\Plugin\Sales\SalesConfiguredBundlesSalesOrderItemCollectionPostUpdatePlugin;
74
use Spryker\Zed\SalesMerchantCommission\Communication\Plugin\Sales\MerchantCommissionOrderPostCancelPlugin;
75
use Spryker\Zed\SalesOms\Communication\Plugin\OrderItemReferenceExpanderPreSavePlugin;
76
use Spryker\Zed\SalesOrderAmendment\Communication\Plugin\Sales\CreateSalesOrderAmendmentOrderPostSavePlugin;
77
use Spryker\Zed\SalesOrderAmendment\Communication\Plugin\Sales\SalesOrderAmendmentOrderExpanderPlugin;
78
use Spryker\Zed\SalesOrderAmendmentOms\Communication\Plugin\Sales\IsAmendableOrderExpanderPlugin;
79
use Spryker\Zed\SalesOrderAmendmentOms\Communication\Plugin\Sales\IsAmendableOrderSearchOrderExpanderPlugin;
80
use Spryker\Zed\SalesOrderAmendmentOms\Communication\Plugin\Sales\OrderAmendmentDefaultOrderItemInitialStateProviderPlugin;
81
use Spryker\Zed\SalesPayment\Communication\Plugin\Sales\SalesPaymentOrderExpanderPlugin;
82
use Spryker\Zed\SalesProductConfiguration\Communication\Plugin\Sales\ProductConfigurationOrderItemExpanderPlugin;
83
use Spryker\Zed\SalesProductConfiguration\Communication\Plugin\Sales\ProductConfigurationOrderItemsPostSavePlugin;
84
use Spryker\Zed\SalesProductConfiguration\Communication\Plugin\Sales\SalesProductConfigurationSalesOrderItemCollectionPostUpdatePlugin;
85
use Spryker\Zed\SalesProductConfiguration\Communication\Plugin\Sales\SalesProductConfigurationSalesOrderItemCollectionPreDeletePlugin;
86
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ItemMetadataOrderItemsPostSavePlugin;
87
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ItemMetadataSalesOrderItemCollectionPostUpdatePlugin;
88
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ItemMetadataSalesOrderItemCollectionPreDeletePlugin;
89
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ItemMetadataSearchOrderExpanderPlugin;
90
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\MetadataOrderItemExpanderPlugin;
91
use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ProductIdOrderItemExpanderPlugin;
92
use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\IsQuantitySplittableOrderItemExpanderPreSavePlugin;
93
use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\NonSplittableItemTransformerStrategyPlugin;
94
use Spryker\Zed\SalesQuoteRequestConnector\Communication\Plugin\Sales\QuoteRequestVersionReferenceOrderPostSavePlugin;
95
use Spryker\Zed\SalesReclamation\Communication\Plugin\Sales\SalesReclamationSalesOrderItemCollectionPreDeletePlugin;
96
use Spryker\Zed\SalesReclamationGui\Communication\Plugin\Sales\ReclamationSalesTablePlugin;
97
use Spryker\Zed\SalesReturn\Communication\Plugin\Sales\RemunerationTotalOrderExpanderPlugin;
98
use Spryker\Zed\SalesReturn\Communication\Plugin\Sales\UpdateOrderItemIsReturnableByGlobalReturnableNumberOfDaysPlugin;
99
use Spryker\Zed\SalesReturn\Communication\Plugin\Sales\UpdateOrderItemIsReturnableByItemStatePlugin;
100
use Spryker\Zed\SalesServicePoint\Communication\Plugin\Sales\ServicePointSalesOrderItemCollectionPostUpdatePlugin;
101
use Spryker\Zed\SalesServicePoint\Communication\Plugin\Sales\ServicePointSalesOrderItemCollectionPreDeletePlugin;
102
use Spryker\Zed\Shipment\Communication\Plugin\ShipmentOrderHydratePlugin;
103
use SprykerFeature\Zed\SelfServicePortal\Communication\Plugin\Sales\SspProductClassSalesOrderItemCollectionPreDeletePlugin;
104
105
class SalesDependencyProvider extends SprykerSalesDependencyProvider
106
{
107
    /**
108
     * @return array<\Spryker\Zed\Sales\Dependency\Plugin\OrderExpanderPreSavePluginInterface>
109
     */
110
    protected function getOrderExpanderPreSavePlugins(): array
111
    {
112
        return [
113
            new OmsMultiThreadProcessorIdentifierOrderExpanderPreSavePlugin(),
114
        ];
115
    }
116
117
    /**
118
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderExpanderPluginInterface>
119
     */
120
    protected function getOrderHydrationPlugins(): array
121
    {
122
        return [
123
            new ProductBundleOrderHydratePlugin(),
124
            new DiscountOrderHydratePlugin(),
125
            new ShipmentOrderHydratePlugin(),
126
            new SalesPaymentOrderExpanderPlugin(),
127
            new CustomerOrderHydratePlugin(),
128
            new ProductBundleIdHydratorPlugin(),
129
            new ProductOptionGroupIdHydratorPlugin(),
130
            new CommentThreadOrderExpanderPlugin(),
131
            new ProductBundleOptionOrderExpanderPlugin(),
132
            new RemunerationTotalOrderExpanderPlugin(),
133
            new OmsStatesOrderExpanderPlugin(),
134
            new IsCancellableOrderExpanderPlugin(),
135
            new CurrencyOrderExpanderPlugin(),
136
            new MerchantOrderDataOrderExpanderPlugin(),
137
            new MerchantReferencesOrderExpanderPlugin(),
138
            new MerchantDataOrderHydratePlugin(),
139
            new SalesOrderAmendmentOrderExpanderPlugin(),
140
            new IsAmendableOrderExpanderPlugin(),
141
        ];
142
    }
143
144
    /**
145
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemExpanderPreSavePluginInterface>
146
     */
147
    protected function getOrderItemExpanderPreSavePlugins(): array
148
    {
149
        return [
150
            new QuantitySalesUnitOrderItemExpanderPreSavePlugin(),
151
            new ProductPackagingUnitOrderItemExpanderPreSavePlugin(),
152
            new AmountSalesUnitOrderItemExpanderPreSavePlugin(),
153
            new IsQuantitySplittableOrderItemExpanderPreSavePlugin(),
154
            new OrderItemReferenceExpanderPreSavePlugin(),
155
            new MerchantReferenceOrderItemExpanderPreSavePlugin(),
156
            new ProductOfferReferenceOrderItemExpanderPreSavePlugin(),
157
        ];
158
    }
159
160
    /**
161
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\ItemTransformerStrategyPluginInterface>
162
     */
163
    public function getItemTransformerStrategyPlugins(): array
164
    {
165
        return [
166
            new PackagingUnitSplittableItemTransformerStrategyPlugin(), #ProductPackagingUnit
167
            new NonSplittableItemTransformerStrategyPlugin(),
168
        ];
169
    }
170
171
    /**
172
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\SalesTablePluginInterface>
173
     */
174
    protected function getSalesTablePlugins(): array
175
    {
176
        return [
177
            new ReclamationSalesTablePlugin(),
178
        ];
179
    }
180
181
    /**
182
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderPostSavePluginInterface>
183
     */
184
    protected function getOrderPostSavePlugins(): array
185
    {
186
        return [
187
            new CommentThreadAttachedCommentOrderPostSavePlugin(),
188
            new OrderCustomReferenceOrderPostSavePlugin(),
189
            new SaveCompanyBusinessUnitUuidOrderPostSavePlugin(),
190
            new SaveCompanyUuidOrderPostSavePlugin(),
191
            new QuoteRequestVersionReferenceOrderPostSavePlugin(),
192
        ];
193
    }
194
195
    /**
196
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderPostSavePluginInterface>
197
     */
198
    protected function getOrderPostSavePluginsForOrderAmendment(): array
199
    {
200
        return [
201
            new SaveOrderCommentThreadOrderPostSavePlugin(),
202
            new UpdateOrderCustomReferenceOrderPostSavePlugin(),
203
            new SaveCompanyBusinessUnitUuidOrderPostSavePlugin(),
204
            new SaveCompanyUuidOrderPostSavePlugin(),
205
            new CreateSalesOrderAmendmentOrderPostSavePlugin(),
206
        ];
207
    }
208
209
    /**
210
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\ItemPreTransformerPluginInterface>
211
     */
212
    protected function getItemPreTransformerPlugins(): array
213
    {
214
        return [
215
            new ConfiguredBundleItemPreTransformerPlugin(),
216
        ];
217
    }
218
219
    /**
220
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\UniqueOrderItemsExpanderPluginInterface>
221
     */
222
    protected function getUniqueOrderItemsExpanderPlugins(): array
223
    {
224
        return [
225
            new UniqueOrderBundleItemsExpanderPlugin(),
226
        ];
227
    }
228
229
    /**
230
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemExpanderPluginInterface>
231
     */
232
    protected function getOrderItemExpanderPlugins(): array
233
    {
234
        return [
235
            new StateHistoryOrderItemExpanderPlugin(),
236
            new ProductIdOrderItemExpanderPlugin(),
237
            new ProductOptionsOrderItemExpanderPlugin(),
238
            new MetadataOrderItemExpanderPlugin(),
239
            new UpdateOrderItemIsReturnableByItemStatePlugin(),
240
            new UpdateOrderItemIsReturnableByGlobalReturnableNumberOfDaysPlugin(),
241
            new CurrencyIsoCodeOrderItemExpanderPlugin(),
242
            new ConfiguredBundleOrderItemExpanderPlugin(),
243
            new ProductBundleOrderItemExpanderPlugin(),
244
            new ProductBundleOptionItemExpanderPlugin(),
245
            new QuantitySalesUnitOrderItemExpanderPlugin(),
246
            new AmountLeadProductOrderItemExpanderPlugin(),
247
            new AmountSalesUnitOrderItemExpanderPlugin(),
248
            new ItemStateOrderItemExpanderPlugin(),
249
            new ProductConfigurationOrderItemExpanderPlugin(),
250
        ];
251
    }
252
253
    /**
254
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\SearchOrderExpanderPluginInterface>
255
     */
256
    protected function getSearchOrderExpanderPlugins(): array
257
    {
258
        return [
259
            new ItemMetadataSearchOrderExpanderPlugin(),
260
            new OrderAggregatedItemStateSearchOrderExpanderPlugin(),
261
            new IsCancellableSearchOrderExpanderPlugin(),
262
            new IsAmendableOrderSearchOrderExpanderPlugin(),
263
        ];
264
    }
265
266
    /**
267
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\SearchOrderQueryExpanderPluginInterface>
268
     */
269
    protected function getOrderSearchQueryExpanderPlugins(): array
270
    {
271
        return [
272
            new CompanyBusinessUnitFilterOrderSearchQueryExpanderPlugin(),
273
            new CompanyFilterOrderSearchQueryExpanderPlugin(),
274
            new CompanyBusinessUnitCustomerFilterOrderSearchQueryExpanderPlugin(),
275
            new CompanyBusinessUnitCustomerSortingOrderSearchQueryExpanderPlugin(),
276
            new CompanyCustomerFilterOrderSearchQueryExpanderPlugin(),
277
            new CompanyCustomerSortingOrderSearchQueryExpanderPlugin(),
278
        ];
279
    }
280
281
    /**
282
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\CustomerOrderAccessCheckPluginInterface>
283
     */
284
    protected function getCustomerOrderAccessCheckPlugins(): array
285
    {
286
        return [
287
            new CompanyBusinessUnitCustomerOrderAccessCheckPlugin(),
288
            new CompanyCustomerOrderAccessCheckPlugin(),
289
        ];
290
    }
291
292
    /**
293
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemsTableExpanderPluginInterface>
294
     */
295
    protected function getOrderItemsTableExpanderPlugins(): array
296
    {
297
        return [
298
            new MerchantOmsStateOrderItemsTableExpanderPlugin(),
299
        ];
300
    }
301
302
    /**
303
     * @return array<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemsPostSavePluginInterface>
304
     */
305
    protected function getOrderItemsPostSavePlugins(): array
306
    {
307
        return [
308
            new ConfiguredBundlesOrderItemsPostSavePlugin(),
309
            new ItemMetadataOrderItemsPostSavePlugin(),
310
            new ProductConfigurationOrderItemsPostSavePlugin(),
311
            new ProductOptionOrderItemsPostSavePlugin(),
312
        ];
313
    }
314
315
    /**
316
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderPostCancelPluginInterface>
317
     */
318
    protected function getOrderPostCancelPlugins(): array
319
    {
320
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...rderPostCancelPlugin()) returns the type array<integer,Spryker\Ze...nOrderPostCancelPlugin> which is incompatible with the documented return type Pyz\Zed\Sales\list.
Loading history...
321
            new MerchantCommissionOrderPostCancelPlugin(),
322
        ];
323
    }
324
325
    /**
326
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\SalesExpensePreDeletePluginInterface>
327
     */
328
    protected function getSalesExpensePreDeletePlugins(): array
329
    {
330
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...pensePreDeletePlugin()) returns the type array<integer,Spryker\Ze...ExpensePreDeletePlugin> which is incompatible with the documented return type Pyz\Zed\Sales\list.
Loading history...
331
            new SalesDiscountSalesExpensePreDeletePlugin(),
332
        ];
333
    }
334
335
    /**
336
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\SalesOrderItemCollectionPreDeletePluginInterface>
337
     */
338
    protected function getSalesOrderItemCollectionPreDeletePlugins(): array
339
    {
340
        return [
341
            new DiscountSalesOrderItemCollectionPreDeletePlugin(),
342
            new ItemMetadataSalesOrderItemCollectionPreDeletePlugin(),
343
            new OmsItemHistorySalesOrderItemCollectionPreDeletePlugin(),
344
            new ProductOptionSalesOrderItemCollectionPreDeletePlugin(),
345
            new SalesConfigurableBundleSalesOrderItemCollectionPreDeletePlugin(),
346
            new SalesProductConfigurationSalesOrderItemCollectionPreDeletePlugin(),
347
            new NopaymentSalesOrderItemCollectionPreDeletePlugin(),
348
            new SalesReclamationSalesOrderItemCollectionPreDeletePlugin(),
349
        ];
350
    }
351
352
    /**
353
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\SalesOrderItemCollectionPostUpdatePluginInterface>
354
     */
355
    protected function getOrderItemCollectionPostUpdatePlugins(): array
356
    {
357
        return [
358
            new SalesConfiguredBundlesSalesOrderItemCollectionPostUpdatePlugin(),
359
            new SalesProductConfigurationSalesOrderItemCollectionPostUpdatePlugin(),
360
            new ItemMetadataSalesOrderItemCollectionPostUpdatePlugin(),
361
            new ProductOptionSalesOrderItemCollectionPostUpdatePlugin(),
362
        ];
363
    }
364
365
    /**
366
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemInitialStateProviderPluginInterface>
367
     */
368
    protected function getOrderItemInitialStateProviderPlugins(): array
369
    {
370
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...lStateProviderPlugin()) returns the type array<integer,Spryker\Ze...ialStateProviderPlugin> which is incompatible with the documented return type Pyz\Zed\Sales\list.
Loading history...
371
            new DefaultOrderItemInitialStateProviderPlugin(),
372
        ];
373
    }
374
375
    /**
376
     * @return list<\Spryker\Zed\SalesExtension\Dependency\Plugin\OrderItemInitialStateProviderPluginInterface>
377
     */
378
    protected function getOrderItemInitialStateProviderPluginsForOrderAmendment(): array
379
    {
380
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...lStateProviderPlugin()) returns the type array<integer,Spryker\Ze...ialStateProviderPlugin> which is incompatible with the documented return type Pyz\Zed\Sales\list.
Loading history...
381
            new OrderAmendmentDefaultOrderItemInitialStateProviderPlugin(),
382
        ];
383
    }
384
}
385