commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
VariantUpdateActionModel.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' => VariantAddAssetActionModel::class,
35 'addExternalImage' => VariantAddExternalImageActionModel::class,
36 'changeAssetName' => VariantChangeAssetNameActionModel::class,
37 'changeAssetOrder' => VariantChangeAssetOrderActionModel::class,
38 'moveImageToPosition' => VariantMoveImageToPositionActionModel::class,
39 'publish' => VariantPublishActionModel::class,
40 'removeAsset' => VariantRemoveAssetActionModel::class,
41 'removeImage' => VariantRemoveImageActionModel::class,
42 'removeStagedChanges' => VariantRemoveStagedChangesActionModel::class,
43 'setAssetCustomField' => VariantSetAssetCustomFieldActionModel::class,
44 'setAssetCustomType' => VariantSetAssetCustomTypeActionModel::class,
45 'setAssetDescription' => VariantSetAssetDescriptionActionModel::class,
46 'setAssetKey' => VariantSetAssetKeyActionModel::class,
47 'setAssetSources' => VariantSetAssetSourcesActionModel::class,
48 'setAssetTags' => VariantSetAssetTagsActionModel::class,
49 'setAssets' => VariantSetAssetsActionModel::class,
50 'setAttribute' => VariantSetAttributeActionModel::class,
51 'setAttributes' => VariantSetAttributesActionModel::class,
52 'setImageLabel' => VariantSetImageLabelActionModel::class,
53 'setImages' => VariantSetImagesActionModel::class,
54 'setKey' => VariantSetKeyActionModel::class,
55 'setSku' => VariantSetSkuActionModel::class,
56 'unpublish' => VariantUnpublishActionModel::class,
57 ];
58
62 public function __construct(
63 ?string $action = null
64 ) {
65 $this->action = $action;
66 }
67
72 public function getAction()
73 {
74 if (is_null($this->action)) {
76 $data = $this->raw(self::FIELD_ACTION);
77 if (is_null($data)) {
78 return null;
79 }
80 $this->action = (string) $data;
81 }
82
83 return $this->action;
84 }
85
86
87
88
89
94 public static function resolveDiscriminatorClass($value): string
95 {
97 if (is_object($value) && isset($value->$fieldName)) {
99 $discriminatorValue = $value->$fieldName;
100 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
101 return self::$discriminatorClasses[$discriminatorValue];
102 }
103 }
104 if (is_array($value) && isset($value[$fieldName])) {
106 $discriminatorValue = $value[$fieldName];
107 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
108 return self::$discriminatorClasses[$discriminatorValue];
109 }
110 }
111
113 $type = VariantUpdateActionModel::class;
114 return $type;
115 }
116}