commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
BusinessUnitUpdateActionModel.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 'addAddress' => BusinessUnitAddAddressActionModel::class,
35 'addAssociate' => BusinessUnitAddAssociateActionModel::class,
36 'addBillingAddressId' => BusinessUnitAddBillingAddressIdActionModel::class,
37 'addCustomerGroupAssignment' => BusinessUnitAddCustomerGroupAssignmentActionModel::class,
38 'addShippingAddressId' => BusinessUnitAddShippingAddressIdActionModel::class,
39 'addStore' => BusinessUnitAddStoreActionModel::class,
40 'changeAddress' => BusinessUnitChangeAddressActionModel::class,
41 'changeApprovalRuleMode' => BusinessUnitChangeApprovalRuleModeActionModel::class,
42 'changeAssociate' => BusinessUnitChangeAssociateActionModel::class,
43 'changeAssociateMode' => BusinessUnitChangeAssociateModeActionModel::class,
44 'changeName' => BusinessUnitChangeNameActionModel::class,
45 'changeParentUnit' => BusinessUnitChangeParentUnitActionModel::class,
46 'changeStatus' => BusinessUnitChangeStatusActionModel::class,
47 'removeAddress' => BusinessUnitRemoveAddressActionModel::class,
48 'removeAssociate' => BusinessUnitRemoveAssociateActionModel::class,
49 'removeBillingAddressId' => BusinessUnitRemoveBillingAddressIdActionModel::class,
50 'removeCustomerGroupAssignment' => BusinessUnitRemoveCustomerGroupAssignmentActionModel::class,
51 'removeShippingAddressId' => BusinessUnitRemoveShippingAddressIdActionModel::class,
52 'removeStore' => BusinessUnitRemoveStoreActionModel::class,
53 'setAddressCustomField' => BusinessUnitSetAddressCustomFieldActionModel::class,
54 'setAddressCustomType' => BusinessUnitSetAddressCustomTypeActionModel::class,
55 'setAssociates' => BusinessUnitSetAssociatesActionModel::class,
56 'setContactEmail' => BusinessUnitSetContactEmailActionModel::class,
57 'setCustomField' => BusinessUnitSetCustomFieldActionModel::class,
58 'setCustomType' => BusinessUnitSetCustomTypeActionModel::class,
59 'setCustomerGroupAssignments' => BusinessUnitSetCustomerGroupAssignmentsActionModel::class,
60 'setDefaultBillingAddress' => BusinessUnitSetDefaultBillingAddressActionModel::class,
61 'setDefaultShippingAddress' => BusinessUnitSetDefaultShippingAddressActionModel::class,
62 'setStoreMode' => BusinessUnitSetStoreModeActionModel::class,
63 'setStores' => BusinessUnitSetStoresActionModel::class,
64 'setUnitType' => BusinessUnitSetUnitTypeActionModel::class,
65 ];
66
70 public function __construct(
71 ?string $action = null
72 ) {
73 $this->action = $action;
74 }
75
80 public function getAction()
81 {
82 if (is_null($this->action)) {
84 $data = $this->raw(self::FIELD_ACTION);
85 if (is_null($data)) {
86 return null;
87 }
88 $this->action = (string) $data;
89 }
90
91 return $this->action;
92 }
93
94
95
96
97
102 public static function resolveDiscriminatorClass($value): string
103 {
105 if (is_object($value) && isset($value->$fieldName)) {
107 $discriminatorValue = $value->$fieldName;
108 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
109 return self::$discriminatorClasses[$discriminatorValue];
110 }
111 }
112 if (is_array($value) && isset($value[$fieldName])) {
114 $discriminatorValue = $value[$fieldName];
115 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
116 return self::$discriminatorClasses[$discriminatorValue];
117 }
118 }
119
121 $type = BusinessUnitUpdateActionModel::class;
122 return $type;
123 }
124}