1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/workmail/model/User.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13
14 namespace Aws
15 {
16 namespace WorkMail
17 {
18 namespace Model
19 {
20
User()21 User::User() :
22 m_idHasBeenSet(false),
23 m_emailHasBeenSet(false),
24 m_nameHasBeenSet(false),
25 m_displayNameHasBeenSet(false),
26 m_state(EntityState::NOT_SET),
27 m_stateHasBeenSet(false),
28 m_userRole(UserRole::NOT_SET),
29 m_userRoleHasBeenSet(false),
30 m_enabledDateHasBeenSet(false),
31 m_disabledDateHasBeenSet(false)
32 {
33 }
34
User(JsonView jsonValue)35 User::User(JsonView jsonValue) :
36 m_idHasBeenSet(false),
37 m_emailHasBeenSet(false),
38 m_nameHasBeenSet(false),
39 m_displayNameHasBeenSet(false),
40 m_state(EntityState::NOT_SET),
41 m_stateHasBeenSet(false),
42 m_userRole(UserRole::NOT_SET),
43 m_userRoleHasBeenSet(false),
44 m_enabledDateHasBeenSet(false),
45 m_disabledDateHasBeenSet(false)
46 {
47 *this = jsonValue;
48 }
49
operator =(JsonView jsonValue)50 User& User::operator =(JsonView jsonValue)
51 {
52 if(jsonValue.ValueExists("Id"))
53 {
54 m_id = jsonValue.GetString("Id");
55
56 m_idHasBeenSet = true;
57 }
58
59 if(jsonValue.ValueExists("Email"))
60 {
61 m_email = jsonValue.GetString("Email");
62
63 m_emailHasBeenSet = true;
64 }
65
66 if(jsonValue.ValueExists("Name"))
67 {
68 m_name = jsonValue.GetString("Name");
69
70 m_nameHasBeenSet = true;
71 }
72
73 if(jsonValue.ValueExists("DisplayName"))
74 {
75 m_displayName = jsonValue.GetString("DisplayName");
76
77 m_displayNameHasBeenSet = true;
78 }
79
80 if(jsonValue.ValueExists("State"))
81 {
82 m_state = EntityStateMapper::GetEntityStateForName(jsonValue.GetString("State"));
83
84 m_stateHasBeenSet = true;
85 }
86
87 if(jsonValue.ValueExists("UserRole"))
88 {
89 m_userRole = UserRoleMapper::GetUserRoleForName(jsonValue.GetString("UserRole"));
90
91 m_userRoleHasBeenSet = true;
92 }
93
94 if(jsonValue.ValueExists("EnabledDate"))
95 {
96 m_enabledDate = jsonValue.GetDouble("EnabledDate");
97
98 m_enabledDateHasBeenSet = true;
99 }
100
101 if(jsonValue.ValueExists("DisabledDate"))
102 {
103 m_disabledDate = jsonValue.GetDouble("DisabledDate");
104
105 m_disabledDateHasBeenSet = true;
106 }
107
108 return *this;
109 }
110
Jsonize() const111 JsonValue User::Jsonize() const
112 {
113 JsonValue payload;
114
115 if(m_idHasBeenSet)
116 {
117 payload.WithString("Id", m_id);
118
119 }
120
121 if(m_emailHasBeenSet)
122 {
123 payload.WithString("Email", m_email);
124
125 }
126
127 if(m_nameHasBeenSet)
128 {
129 payload.WithString("Name", m_name);
130
131 }
132
133 if(m_displayNameHasBeenSet)
134 {
135 payload.WithString("DisplayName", m_displayName);
136
137 }
138
139 if(m_stateHasBeenSet)
140 {
141 payload.WithString("State", EntityStateMapper::GetNameForEntityState(m_state));
142 }
143
144 if(m_userRoleHasBeenSet)
145 {
146 payload.WithString("UserRole", UserRoleMapper::GetNameForUserRole(m_userRole));
147 }
148
149 if(m_enabledDateHasBeenSet)
150 {
151 payload.WithDouble("EnabledDate", m_enabledDate.SecondsWithMSPrecision());
152 }
153
154 if(m_disabledDateHasBeenSet)
155 {
156 payload.WithDouble("DisabledDate", m_disabledDate.SecondsWithMSPrecision());
157 }
158
159 return payload;
160 }
161
162 } // namespace Model
163 } // namespace WorkMail
164 } // namespace Aws
165