purecloudplatformclientv2 21.0.0 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/Entity.md +0 -1
  4. data/docs/GroupProfile.md +18 -0
  5. data/docs/GroupsApi.md +60 -0
  6. data/docs/InboundRoute.md +1 -1
  7. data/docs/JsonNode.md +1 -1
  8. data/docs/MediaPolicies.md +1 -0
  9. data/docs/MessageMediaPolicy.md +14 -0
  10. data/docs/MessageMediaPolicyConditions.md +17 -0
  11. data/docs/NamedEntity.md +14 -0
  12. data/docs/OrgOAuthClient.md +1 -1
  13. data/docs/RoutingApi.md +2 -2
  14. data/docs/TokenInfo.md +2 -2
  15. data/docs/UserConversationSummary.md +1 -0
  16. data/docs/UserExpands.md +19 -0
  17. data/docs/UserProfile.md +19 -0
  18. data/docs/UserProfileEntityListing.md +22 -0
  19. data/docs/UsersApi.md +137 -0
  20. data/docs/WorkforceManagementApi.md +5 -3
  21. data/lib/purecloudplatformclientv2.rb +7 -0
  22. data/lib/purecloudplatformclientv2/api/groups_api.rb +65 -0
  23. data/lib/purecloudplatformclientv2/api/users_api.rb +200 -0
  24. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +14 -1
  25. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  26. data/lib/purecloudplatformclientv2/models/entity.rb +4 -29
  27. data/lib/purecloudplatformclientv2/models/event_log.rb +2 -2
  28. data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
  29. data/lib/purecloudplatformclientv2/models/group_profile.rb +350 -0
  30. data/lib/purecloudplatformclientv2/models/inbound_route.rb +7 -7
  31. data/lib/purecloudplatformclientv2/models/json_node.rb +17 -17
  32. data/lib/purecloudplatformclientv2/models/media_policies.rb +30 -4
  33. data/lib/purecloudplatformclientv2/models/message_media_policy.rb +228 -0
  34. data/lib/purecloudplatformclientv2/models/message_media_policy_conditions.rb +309 -0
  35. data/lib/purecloudplatformclientv2/models/named_entity.rb +228 -0
  36. data/lib/purecloudplatformclientv2/models/org_o_auth_client.rb +1 -1
  37. data/lib/purecloudplatformclientv2/models/token_info.rb +2 -2
  38. data/lib/purecloudplatformclientv2/models/user_conversation_summary.rb +26 -1
  39. data/lib/purecloudplatformclientv2/models/user_expands.rb +358 -0
  40. data/lib/purecloudplatformclientv2/models/user_profile.rb +376 -0
  41. data/lib/purecloudplatformclientv2/models/user_profile_entity_listing.rb +428 -0
  42. data/lib/purecloudplatformclientv2/version.rb +1 -1
  43. metadata +16 -2
@@ -0,0 +1,228 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class NamedEntity
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ # The name of the object.
25
+ attr_accessor :name
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'id' => :'id',
32
+
33
+ :'name' => :'name'
34
+
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.swagger_types
40
+ {
41
+
42
+ :'id' => :'String',
43
+
44
+ :'name' => :'String'
45
+
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+
58
+ if attributes.has_key?(:'id')
59
+
60
+
61
+ self.id = attributes[:'id']
62
+
63
+
64
+ end
65
+
66
+
67
+ if attributes.has_key?(:'name')
68
+
69
+
70
+ self.name = attributes[:'name']
71
+
72
+
73
+ end
74
+
75
+
76
+ end
77
+
78
+ # Show invalid properties with the reasons. Usually used together with valid?
79
+ # @return Array for valid properies with the reasons
80
+ def list_invalid_properties
81
+ invalid_properties = Array.new
82
+
83
+
84
+ return invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ end
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ id == o.id &&
118
+ name == o.name
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(o)
124
+ self == o
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Fixnum] Hash code
129
+ def hash
130
+ [id, name].hash
131
+ end
132
+
133
+ # build the object from hash
134
+ def build_from_hash(attributes)
135
+ return nil unless attributes.is_a?(Hash)
136
+ self.class.swagger_types.each_pair do |key, type|
137
+ if type =~ /^Array<(.*)>/i
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
140
+ else
141
+ #TODO show warning in debug mode
142
+ end
143
+ elsif !attributes[self.class.attribute_map[key]].nil?
144
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
+ else
146
+ # data not found in attributes(hash), not an issue as the data can be optional
147
+ end
148
+ end
149
+
150
+ self
151
+ end
152
+
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :BOOLEAN
166
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ _model = Object.const_get("PureCloud").const_get(type).new
187
+ _model.build_from_hash(value)
188
+ end
189
+ end
190
+
191
+ def to_s
192
+ to_hash.to_s
193
+ end
194
+
195
+ # to_body is an alias to to_body (backward compatibility))
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # return the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ next if value.nil?
206
+ hash[param] = _to_hash(value)
207
+ end
208
+ hash
209
+ end
210
+
211
+ # Method to output non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map{ |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end
226
+
227
+ end
228
+ end
@@ -83,7 +83,7 @@ module PureCloud
83
83
 
84
84
  :'authorized_grant_type' => :'String',
85
85
 
86
- :'organization' => :'Entity'
86
+ :'organization' => :'NamedEntity'
87
87
 
88
88
  }
89
89
  end
@@ -43,9 +43,9 @@ module PureCloud
43
43
  def self.swagger_types
44
44
  {
45
45
 
46
- :'organization' => :'Entity',
46
+ :'organization' => :'NamedEntity',
47
47
 
48
- :'home_organization' => :'Entity',
48
+ :'home_organization' => :'NamedEntity',
49
49
 
50
50
  :'o_auth_client' => :'OrgOAuthClient'
51
51
 
@@ -26,6 +26,8 @@ module PureCloud
26
26
 
27
27
  attr_accessor :email
28
28
 
29
+ attr_accessor :message
30
+
29
31
  attr_accessor :chat
30
32
 
31
33
  attr_accessor :social_expression
@@ -44,6 +46,8 @@ module PureCloud
44
46
 
45
47
  :'email' => :'email',
46
48
 
49
+ :'message' => :'message',
50
+
47
51
  :'chat' => :'chat',
48
52
 
49
53
  :'social_expression' => :'socialExpression',
@@ -65,6 +69,8 @@ module PureCloud
65
69
 
66
70
  :'email' => :'MediaSummary',
67
71
 
72
+ :'message' => :'MediaSummary',
73
+
68
74
  :'chat' => :'MediaSummary',
69
75
 
70
76
  :'social_expression' => :'MediaSummary',
@@ -119,6 +125,15 @@ module PureCloud
119
125
  end
120
126
 
121
127
 
128
+ if attributes.has_key?(:'message')
129
+
130
+
131
+ self.message = attributes[:'message']
132
+
133
+
134
+ end
135
+
136
+
122
137
  if attributes.has_key?(:'chat')
123
138
 
124
139
 
@@ -184,6 +199,10 @@ module PureCloud
184
199
 
185
200
 
186
201
 
202
+
203
+
204
+
205
+
187
206
 
188
207
 
189
208
 
@@ -221,6 +240,11 @@ module PureCloud
221
240
 
222
241
 
223
242
 
243
+
244
+
245
+
246
+
247
+
224
248
 
225
249
 
226
250
 
@@ -236,6 +260,7 @@ module PureCloud
236
260
  call == o.call &&
237
261
  callback == o.callback &&
238
262
  email == o.email &&
263
+ message == o.message &&
239
264
  chat == o.chat &&
240
265
  social_expression == o.social_expression &&
241
266
  video == o.video
@@ -250,7 +275,7 @@ module PureCloud
250
275
  # Calculates hash code according to all attributes.
251
276
  # @return [Fixnum] Hash code
252
277
  def hash
253
- [user_id, call, callback, email, chat, social_expression, video].hash
278
+ [user_id, call, callback, email, message, chat, social_expression, video].hash
254
279
  end
255
280
 
256
281
  # build the object from hash
@@ -0,0 +1,358 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class UserExpands
21
+ # ACD routing status
22
+ attr_accessor :routing_status
23
+
24
+ # Active presence
25
+ attr_accessor :presence
26
+
27
+ # Summary of conversion statistics for conversation types.
28
+ attr_accessor :conversation_summary
29
+
30
+ # Determine if out of office is enabled
31
+ attr_accessor :out_of_office
32
+
33
+ # Current geolocation position
34
+ attr_accessor :geolocation
35
+
36
+ # Effective, default, and last station information
37
+ attr_accessor :station
38
+
39
+ # Roles and permissions assigned to the user
40
+ attr_accessor :authorization
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+
46
+ :'routing_status' => :'routingStatus',
47
+
48
+ :'presence' => :'presence',
49
+
50
+ :'conversation_summary' => :'conversationSummary',
51
+
52
+ :'out_of_office' => :'outOfOffice',
53
+
54
+ :'geolocation' => :'geolocation',
55
+
56
+ :'station' => :'station',
57
+
58
+ :'authorization' => :'authorization'
59
+
60
+ }
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.swagger_types
65
+ {
66
+
67
+ :'routing_status' => :'RoutingStatus',
68
+
69
+ :'presence' => :'UserPresence',
70
+
71
+ :'conversation_summary' => :'UserConversationSummary',
72
+
73
+ :'out_of_office' => :'OutOfOffice',
74
+
75
+ :'geolocation' => :'Geolocation',
76
+
77
+ :'station' => :'UserStations',
78
+
79
+ :'authorization' => :'UserAuthorization'
80
+
81
+ }
82
+ end
83
+
84
+ # Initializes the object
85
+ # @param [Hash] attributes Model attributes in the form of hash
86
+ def initialize(attributes = {})
87
+ return unless attributes.is_a?(Hash)
88
+
89
+ # convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
91
+
92
+
93
+ if attributes.has_key?(:'routingStatus')
94
+
95
+
96
+ self.routing_status = attributes[:'routingStatus']
97
+
98
+
99
+ end
100
+
101
+
102
+ if attributes.has_key?(:'presence')
103
+
104
+
105
+ self.presence = attributes[:'presence']
106
+
107
+
108
+ end
109
+
110
+
111
+ if attributes.has_key?(:'conversationSummary')
112
+
113
+
114
+ self.conversation_summary = attributes[:'conversationSummary']
115
+
116
+
117
+ end
118
+
119
+
120
+ if attributes.has_key?(:'outOfOffice')
121
+
122
+
123
+ self.out_of_office = attributes[:'outOfOffice']
124
+
125
+
126
+ end
127
+
128
+
129
+ if attributes.has_key?(:'geolocation')
130
+
131
+
132
+ self.geolocation = attributes[:'geolocation']
133
+
134
+
135
+ end
136
+
137
+
138
+ if attributes.has_key?(:'station')
139
+
140
+
141
+ self.station = attributes[:'station']
142
+
143
+
144
+ end
145
+
146
+
147
+ if attributes.has_key?(:'authorization')
148
+
149
+
150
+ self.authorization = attributes[:'authorization']
151
+
152
+
153
+ end
154
+
155
+
156
+ end
157
+
158
+ # Show invalid properties with the reasons. Usually used together with valid?
159
+ # @return Array for valid properies with the reasons
160
+ def list_invalid_properties
161
+ invalid_properties = Array.new
162
+
163
+
164
+ return invalid_properties
165
+ end
166
+
167
+ # Check to see if the all the properties in the model are valid
168
+ # @return true if the model is valid
169
+ def valid?
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+ end
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ # Checks equality by comparing each attribute.
238
+ # @param [Object] Object to be compared
239
+ def ==(o)
240
+ return true if self.equal?(o)
241
+ self.class == o.class &&
242
+ routing_status == o.routing_status &&
243
+ presence == o.presence &&
244
+ conversation_summary == o.conversation_summary &&
245
+ out_of_office == o.out_of_office &&
246
+ geolocation == o.geolocation &&
247
+ station == o.station &&
248
+ authorization == o.authorization
249
+ end
250
+
251
+ # @see the `==` method
252
+ # @param [Object] Object to be compared
253
+ def eql?(o)
254
+ self == o
255
+ end
256
+
257
+ # Calculates hash code according to all attributes.
258
+ # @return [Fixnum] Hash code
259
+ def hash
260
+ [routing_status, presence, conversation_summary, out_of_office, geolocation, station, authorization].hash
261
+ end
262
+
263
+ # build the object from hash
264
+ def build_from_hash(attributes)
265
+ return nil unless attributes.is_a?(Hash)
266
+ self.class.swagger_types.each_pair do |key, type|
267
+ if type =~ /^Array<(.*)>/i
268
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
269
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
270
+ else
271
+ #TODO show warning in debug mode
272
+ end
273
+ elsif !attributes[self.class.attribute_map[key]].nil?
274
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
275
+ else
276
+ # data not found in attributes(hash), not an issue as the data can be optional
277
+ end
278
+ end
279
+
280
+ self
281
+ end
282
+
283
+ def _deserialize(type, value)
284
+ case type.to_sym
285
+ when :DateTime
286
+ DateTime.parse(value)
287
+ when :Date
288
+ Date.parse(value)
289
+ when :String
290
+ value.to_s
291
+ when :Integer
292
+ value.to_i
293
+ when :Float
294
+ value.to_f
295
+ when :BOOLEAN
296
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
297
+ true
298
+ else
299
+ false
300
+ end
301
+ when :Object
302
+ # generic object (usually a Hash), return directly
303
+ value
304
+ when /\AArray<(?<inner_type>.+)>\z/
305
+ inner_type = Regexp.last_match[:inner_type]
306
+ value.map { |v| _deserialize(inner_type, v) }
307
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
308
+ k_type = Regexp.last_match[:k_type]
309
+ v_type = Regexp.last_match[:v_type]
310
+ {}.tap do |hash|
311
+ value.each do |k, v|
312
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
313
+ end
314
+ end
315
+ else # model
316
+ _model = Object.const_get("PureCloud").const_get(type).new
317
+ _model.build_from_hash(value)
318
+ end
319
+ end
320
+
321
+ def to_s
322
+ to_hash.to_s
323
+ end
324
+
325
+ # to_body is an alias to to_body (backward compatibility))
326
+ def to_body
327
+ to_hash
328
+ end
329
+
330
+ # return the object in the form of hash
331
+ def to_hash
332
+ hash = {}
333
+ self.class.attribute_map.each_pair do |attr, param|
334
+ value = self.send(attr)
335
+ next if value.nil?
336
+ hash[param] = _to_hash(value)
337
+ end
338
+ hash
339
+ end
340
+
341
+ # Method to output non-array value in the form of hash
342
+ # For object, use to_hash. Otherwise, just return the value
343
+ def _to_hash(value)
344
+ if value.is_a?(Array)
345
+ value.compact.map{ |v| _to_hash(v) }
346
+ elsif value.is_a?(Hash)
347
+ {}.tap do |hash|
348
+ value.each { |k, v| hash[k] = _to_hash(v) }
349
+ end
350
+ elsif value.respond_to? :to_hash
351
+ value.to_hash
352
+ else
353
+ value
354
+ end
355
+ end
356
+
357
+ end
358
+ end