commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
All Classes Namespaces Functions Variables Pages
CustomerUpdateActionModel.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' => CustomerAddAddressActionModel::class,
35 'addBillingAddressId' => CustomerAddBillingAddressIdActionModel::class,
36 'addCustomerGroupAssignment' => CustomerAddCustomerGroupAssignmentActionModel::class,
37 'addShippingAddressId' => CustomerAddShippingAddressIdActionModel::class,
38 'addStore' => CustomerAddStoreActionModel::class,
39 'changeAddress' => CustomerChangeAddressActionModel::class,
40 'changeEmail' => CustomerChangeEmailActionModel::class,
41 'removeAddress' => CustomerRemoveAddressActionModel::class,
42 'removeBillingAddressId' => CustomerRemoveBillingAddressIdActionModel::class,
43 'removeCustomerGroupAssignment' => CustomerRemoveCustomerGroupAssignmentActionModel::class,
44 'removeShippingAddressId' => CustomerRemoveShippingAddressIdActionModel::class,
45 'removeStore' => CustomerRemoveStoreActionModel::class,
46 'setAddressCustomField' => CustomerSetAddressCustomFieldActionModel::class,
47 'setAddressCustomType' => CustomerSetAddressCustomTypeActionModel::class,
48 'setAuthenticationMode' => CustomerSetAuthenticationModeActionModel::class,
49 'setCompanyName' => CustomerSetCompanyNameActionModel::class,
50 'setCustomField' => CustomerSetCustomFieldActionModel::class,
51 'setCustomType' => CustomerSetCustomTypeActionModel::class,
52 'setCustomerGroup' => CustomerSetCustomerGroupActionModel::class,
53 'setCustomerGroupAssignments' => CustomerSetCustomerGroupAssignmentsActionModel::class,
54 'setCustomerNumber' => CustomerSetCustomerNumberActionModel::class,
55 'setDateOfBirth' => CustomerSetDateOfBirthActionModel::class,
56 'setDefaultBillingAddress' => CustomerSetDefaultBillingAddressActionModel::class,
57 'setDefaultShippingAddress' => CustomerSetDefaultShippingAddressActionModel::class,
58 'setExternalId' => CustomerSetExternalIdActionModel::class,
59 'setFirstName' => CustomerSetFirstNameActionModel::class,
60 'setKey' => CustomerSetKeyActionModel::class,
61 'setLastName' => CustomerSetLastNameActionModel::class,
62 'setLocale' => CustomerSetLocaleActionModel::class,
63 'setMiddleName' => CustomerSetMiddleNameActionModel::class,
64 'setSalutation' => CustomerSetSalutationActionModel::class,
65 'setStores' => CustomerSetStoresActionModel::class,
66 'setTitle' => CustomerSetTitleActionModel::class,
67 'setVatId' => CustomerSetVatIdActionModel::class,
68 ];
69
73 public function __construct(
74 ?string $action = null
75 ) {
76 $this->action = $action;
77 }
78
83 public function getAction()
84 {
85 if (is_null($this->action)) {
87 $data = $this->raw(self::FIELD_ACTION);
88 if (is_null($data)) {
89 return null;
90 }
91 $this->action = (string) $data;
92 }
93
94 return $this->action;
95 }
96
97
98
99
100
105 public static function resolveDiscriminatorClass($value): string
106 {
108 if (is_object($value) && isset($value->$fieldName)) {
110 $discriminatorValue = $value->$fieldName;
111 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
112 return self::$discriminatorClasses[$discriminatorValue];
113 }
114 }
115 if (is_array($value) && isset($value[$fieldName])) {
117 $discriminatorValue = $value[$fieldName];
118 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
119 return self::$discriminatorClasses[$discriminatorValue];
120 }
121 }
122
124 $type = CustomerUpdateActionModel::class;
125 return $type;
126 }
127}