commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
ProductUpdateActionModel.php
1<?php
2
3declare(strict_types=1);
10
15use stdClass;
16
21{
22 public const DISCRIMINATOR_VALUE = '';
27 protected $action;
28
33 private static $discriminatorClasses = [
34 'addAsset' => ProductAddAssetActionModel::class,
35 'addExternalImage' => ProductAddExternalImageActionModel::class,
36 'addPrice' => ProductAddPriceActionModel::class,
37 'addToCategory' => ProductAddToCategoryActionModel::class,
38 'addVariant' => ProductAddVariantActionModel::class,
39 'changeAssetName' => ProductChangeAssetNameActionModel::class,
40 'changeAssetOrder' => ProductChangeAssetOrderActionModel::class,
41 'changeMasterVariant' => ProductChangeMasterVariantActionModel::class,
42 'changeName' => ProductChangeNameActionModel::class,
43 'changePrice' => ProductChangePriceActionModel::class,
44 'changeSlug' => ProductChangeSlugActionModel::class,
45 'legacySetSku' => ProductLegacySetSkuActionModel::class,
46 'moveImageToPosition' => ProductMoveImageToPositionActionModel::class,
47 'publish' => ProductPublishActionModel::class,
48 'removeAsset' => ProductRemoveAssetActionModel::class,
49 'removeFromCategory' => ProductRemoveFromCategoryActionModel::class,
50 'removeImage' => ProductRemoveImageActionModel::class,
51 'removePrice' => ProductRemovePriceActionModel::class,
52 'removeVariant' => ProductRemoveVariantActionModel::class,
53 'revertStagedChanges' => ProductRevertStagedChangesActionModel::class,
54 'revertStagedVariantChanges' => ProductRevertStagedVariantChangesActionModel::class,
55 'setAssetCustomField' => ProductSetAssetCustomFieldActionModel::class,
56 'setAssetCustomType' => ProductSetAssetCustomTypeActionModel::class,
57 'setAssetDescription' => ProductSetAssetDescriptionActionModel::class,
58 'setAssetKey' => ProductSetAssetKeyActionModel::class,
59 'setAssetSources' => ProductSetAssetSourcesActionModel::class,
60 'setAssetTags' => ProductSetAssetTagsActionModel::class,
61 'setAttribute' => ProductSetAttributeActionModel::class,
62 'setAttributeInAllVariants' => ProductSetAttributeInAllVariantsActionModel::class,
63 'setCategoryOrderHint' => ProductSetCategoryOrderHintActionModel::class,
64 'setDescription' => ProductSetDescriptionActionModel::class,
65 'setDiscountedPrice' => ProductSetDiscountedPriceActionModel::class,
66 'setImageLabel' => ProductSetImageLabelActionModel::class,
67 'setKey' => ProductSetKeyActionModel::class,
68 'setMetaDescription' => ProductSetMetaDescriptionActionModel::class,
69 'setMetaKeywords' => ProductSetMetaKeywordsActionModel::class,
70 'setMetaTitle' => ProductSetMetaTitleActionModel::class,
71 'setPriceKey' => ProductSetPriceKeyActionModel::class,
72 'setPriceMode' => ProductSetPriceModeActionModel::class,
73 'setPrices' => ProductSetPricesActionModel::class,
74 'setProductAttribute' => ProductSetProductAttributeActionModel::class,
75 'setProductPriceCustomField' => ProductSetProductPriceCustomFieldActionModel::class,
76 'setProductPriceCustomType' => ProductSetProductPriceCustomTypeActionModel::class,
77 'setProductVariantKey' => ProductSetProductVariantKeyActionModel::class,
78 'setSearchKeywords' => ProductSetSearchKeywordsActionModel::class,
79 'setSku' => ProductSetSkuActionModel::class,
80 'setTaxCategory' => ProductSetTaxCategoryActionModel::class,
81 'transitionState' => ProductTransitionStateActionModel::class,
82 'unpublish' => ProductUnpublishActionModel::class,
83 ];
84
88 public function __construct(
89 ?string $action = null
90 ) {
91 $this->action = $action;
92 }
93
98 public function getAction()
99 {
100 if (is_null($this->action)) {
102 $data = $this->raw(self::FIELD_ACTION);
103 if (is_null($data)) {
104 return null;
105 }
106 $this->action = (string) $data;
107 }
108
109 return $this->action;
110 }
111
112
113
114
115
120 public static function resolveDiscriminatorClass($value): string
121 {
123 if (is_object($value) && isset($value->$fieldName)) {
125 $discriminatorValue = $value->$fieldName;
126 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
127 return self::$discriminatorClasses[$discriminatorValue];
128 }
129 }
130 if (is_array($value) && isset($value[$fieldName])) {
132 $discriminatorValue = $value[$fieldName];
133 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
134 return self::$discriminatorClasses[$discriminatorValue];
135 }
136 }
137
139 $type = ProductUpdateActionModel::class;
140 return $type;
141 }
142}