33 private static $discriminatorClasses = [
34 'addDiscountCode' => MyCartAddDiscountCodeActionModel::class,
35 'addItemShippingAddress' => MyCartAddItemShippingAddressActionModel::class,
36 'addLineItem' => MyCartAddLineItemActionModel::class,
37 'addPayment' => MyCartAddPaymentActionModel::class,
38 'applyDeltaToLineItemShippingDetailsTargets' => MyCartApplyDeltaToLineItemShippingDetailsTargetsActionModel::class,
39 'changeLineItemQuantity' => MyCartChangeLineItemQuantityActionModel::class,
40 'changeLineItemsOrder' => MyCartChangeLineItemsOrderActionModel::class,
41 'changeTaxMode' => MyCartChangeTaxModeActionModel::class,
42 'recalculate' => MyCartRecalculateActionModel::class,
43 'removeDiscountCode' => MyCartRemoveDiscountCodeActionModel::class,
44 'removeItemShippingAddress' => MyCartRemoveItemShippingAddressActionModel::class,
45 'removeLineItem' => MyCartRemoveLineItemActionModel::class,
46 'removePayment' => MyCartRemovePaymentActionModel::class,
47 'setBillingAddress' => MyCartSetBillingAddressActionModel::class,
48 'setBusinessUnit' => MyCartSetBusinessUnitActionModel::class,
49 'setCountry' => MyCartSetCountryActionModel::class,
50 'setCustomField' => MyCartSetCustomFieldActionModel::class,
51 'setCustomLineItemRecurrenceInfo' => MyCartSetCustomLineItemRecurrenceInfoActionModel::class,
52 'setCustomType' => MyCartSetCustomTypeActionModel::class,
53 'setCustomerEmail' => MyCartSetCustomerEmailActionModel::class,
54 'setDeleteDaysAfterLastModification' => MyCartSetDeleteDaysAfterLastModificationActionModel::class,
55 'setLineItemCustomField' => MyCartSetLineItemCustomFieldActionModel::class,
56 'setLineItemCustomType' => MyCartSetLineItemCustomTypeActionModel::class,
57 'setLineItemDistributionChannel' => MyCartSetLineItemDistributionChannelActionModel::class,
58 'setLineItemRecurrenceInfo' => MyCartSetLineItemRecurrenceInfoActionModel::class,
59 'setLineItemShippingDetails' => MyCartSetLineItemShippingDetailsActionModel::class,
60 'setLineItemSupplyChannel' => MyCartSetLineItemSupplyChannelActionModel::class,
61 'setLocale' => MyCartSetLocaleActionModel::class,
62 'setShippingAddress' => MyCartSetShippingAddressActionModel::class,
63 'setShippingMethod' => MyCartSetShippingMethodActionModel::class,
64 'updateItemShippingAddress' => MyCartUpdateItemShippingAddressActionModel::class,
82 if (is_null($this->action)) {
84 $data = $this->
raw(self::FIELD_ACTION);
88 $this->action = (string) $data;
105 if (is_object($value) && isset($value->$fieldName)) {
107 $discriminatorValue = $value->$fieldName;
108 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
109 return self::$discriminatorClasses[$discriminatorValue];
112 if (is_array($value) && isset($value[$fieldName])) {
114 $discriminatorValue = $value[$fieldName];
115 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
116 return self::$discriminatorClasses[$discriminatorValue];
121 $type = MyCartUpdateActionModel::class;