purecloudplatformclientv2 30.0.0 → 30.1.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.
@@ -157,7 +157,7 @@ module PureCloud
157
157
 
158
158
  # Get intraday queues for the given date
159
159
  #
160
- # @param mu_id The muId of the management unit, or 'mine' for the management unit of the logged-in user.
160
+ # @param mu_id The management unit ID of the management unit, or 'mine' for the management unit of the logged-in user.
161
161
  # @param date ISO-8601 date string with no time or timezone component, interpreted in the configured management unit time zone, e.g. 2017-01-23
162
162
  # @param [Hash] opts the optional parameters
163
163
  # @return [WfmIntradayQueueListing]
@@ -168,7 +168,7 @@ module PureCloud
168
168
 
169
169
  # Get intraday queues for the given date
170
170
  #
171
- # @param mu_id The muId of the management unit, or 'mine' for the management unit of the logged-in user.
171
+ # @param mu_id The management unit ID of the management unit, or 'mine' for the management unit of the logged-in user.
172
172
  # @param date ISO-8601 date string with no time or timezone component, interpreted in the configured management unit time zone, e.g. 2017-01-23
173
173
  # @param [Hash] opts the optional parameters
174
174
  # @return [Array<(WfmIntradayQueueListing, Fixnum, Hash)>] WfmIntradayQueueListing data, response status code and response headers
@@ -233,7 +233,7 @@ module PureCloud
233
233
 
234
234
  # Get a time off request by id
235
235
  #
236
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
236
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
237
237
  # @param user_id The userId to whom the Time Off Request applies.
238
238
  # @param time_off_request_id Time Off Request Id
239
239
  # @param [Hash] opts the optional parameters
@@ -245,7 +245,7 @@ module PureCloud
245
245
 
246
246
  # Get a time off request by id
247
247
  #
248
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
248
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
249
249
  # @param user_id The userId to whom the Time Off Request applies.
250
250
  # @param time_off_request_id Time Off Request Id
251
251
  # @param [Hash] opts the optional parameters
@@ -318,7 +318,7 @@ module PureCloud
318
318
 
319
319
  # Get a list of time off requests for any user
320
320
  #
321
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
321
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
322
322
  # @param user_id The userId to whom the Time Off Request applies.
323
323
  # @param [Hash] opts the optional parameters
324
324
  # @option opts [BOOLEAN] :recently_reviewed Limit results to requests that have been reviewed within the preceding 30 days (default to false)
@@ -330,7 +330,7 @@ module PureCloud
330
330
 
331
331
  # Get a list of time off requests for any user
332
332
  #
333
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
333
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
334
334
  # @param user_id The userId to whom the Time Off Request applies.
335
335
  # @param [Hash] opts the optional parameters
336
336
  # @option opts [BOOLEAN] :recently_reviewed Limit results to requests that have been reviewed within the preceding 30 days
@@ -402,7 +402,7 @@ module PureCloud
402
402
 
403
403
  # Get agents in the management unit
404
404
  #
405
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
405
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
406
406
  # @param [Hash] opts the optional parameters
407
407
  # @return [WfmUserEntityListing]
408
408
  def get_workforcemanagement_managementunit_users(mu_id, opts = {})
@@ -412,7 +412,7 @@ module PureCloud
412
412
 
413
413
  # Get agents in the management unit
414
414
  #
415
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
415
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
416
416
  # @param [Hash] opts the optional parameters
417
417
  # @return [Array<(WfmUserEntityListing, Fixnum, Hash)>] WfmUserEntityListing data, response status code and response headers
418
418
  def get_workforcemanagement_managementunit_users_with_http_info(mu_id, opts = {})
@@ -626,7 +626,7 @@ module PureCloud
626
626
 
627
627
  # Request a historical adherence report
628
628
  #
629
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
629
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
630
630
  # @param [Hash] opts the optional parameters
631
631
  # @option opts [WfmHistoricalAdherenceQuery] :body body
632
632
  # @return [WfmHistoricalAdherenceResponse]
@@ -637,7 +637,7 @@ module PureCloud
637
637
 
638
638
  # Request a historical adherence report
639
639
  #
640
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
640
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
641
641
  # @param [Hash] opts the optional parameters
642
642
  # @option opts [WfmHistoricalAdherenceQuery] :body body
643
643
  # @return [Array<(WfmHistoricalAdherenceResponse, Fixnum, Hash)>] WfmHistoricalAdherenceResponse data, response status code and response headers
@@ -699,7 +699,7 @@ module PureCloud
699
699
 
700
700
  # Get intraday data for the given date for the requested queueIds
701
701
  #
702
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
702
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
703
703
  # @param [Hash] opts the optional parameters
704
704
  # @option opts [IntradayQueryDataCommand] :body body
705
705
  # @return [IntradayResponse]
@@ -710,7 +710,7 @@ module PureCloud
710
710
 
711
711
  # Get intraday data for the given date for the requested queueIds
712
712
  #
713
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
713
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
714
714
  # @param [Hash] opts the optional parameters
715
715
  # @option opts [IntradayQueryDataCommand] :body body
716
716
  # @return [Array<(IntradayResponse, Fixnum, Hash)>] IntradayResponse data, response status code and response headers
@@ -772,7 +772,7 @@ module PureCloud
772
772
 
773
773
  # Get user schedules within the given time range
774
774
  #
775
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
775
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
776
776
  # @param [Hash] opts the optional parameters
777
777
  # @option opts [UserListScheduleRequestBody] :body body
778
778
  # @return [UserScheduleContainer]
@@ -783,7 +783,7 @@ module PureCloud
783
783
 
784
784
  # Get user schedules within the given time range
785
785
  #
786
- # @param mu_id The muId of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
786
+ # @param mu_id The management unit ID of the management unit, or &#39;mine&#39; for the management unit of the logged-in user.
787
787
  # @param [Hash] opts the optional parameters
788
788
  # @option opts [UserListScheduleRequestBody] :body body
789
789
  # @return [Array<(UserScheduleContainer, Fixnum, Hash)>] UserScheduleContainer data, response status code and response headers
@@ -76,7 +76,7 @@ module PureCloud
76
76
  http_method = http_method.to_sym.downcase
77
77
 
78
78
  header_params = @default_headers.merge(opts[:header_params] || {})
79
- header_params['purecloud-sdk'] = '30.0.0'
79
+ header_params['purecloud-sdk'] = '30.1.0'
80
80
  query_params = opts[:query_params] || {}
81
81
  form_params = opts[:form_params] || {}
82
82
 
@@ -177,28 +177,13 @@ module PureCloud
177
177
 
178
178
 
179
179
 
180
- if @length_in_minutes.nil?
181
- return false
182
- end
183
-
184
-
185
-
186
-
187
180
 
188
181
 
189
- if @counts_as_paid_time.nil?
190
- return false
191
- end
192
-
193
182
 
194
183
 
195
184
 
196
185
 
197
186
 
198
- if @counts_as_work_time.nil?
199
- return false
200
- end
201
-
202
187
 
203
188
 
204
189
 
@@ -28,8 +28,6 @@ module PureCloud
28
28
 
29
29
  attr_accessor :float
30
30
 
31
- attr_accessor :floating_point_number
32
-
33
31
  attr_accessor :container_node
34
32
 
35
33
  attr_accessor :missing_node
@@ -38,6 +36,8 @@ module PureCloud
38
36
 
39
37
  attr_accessor :integral_number
40
38
 
39
+ attr_accessor :floating_point_number
40
+
41
41
  attr_accessor :short
42
42
 
43
43
  attr_accessor :int
@@ -74,8 +74,6 @@ module PureCloud
74
74
 
75
75
  :'float' => :'float',
76
76
 
77
- :'floating_point_number' => :'floatingPointNumber',
78
-
79
77
  :'container_node' => :'containerNode',
80
78
 
81
79
  :'missing_node' => :'missingNode',
@@ -84,6 +82,8 @@ module PureCloud
84
82
 
85
83
  :'integral_number' => :'integralNumber',
86
84
 
85
+ :'floating_point_number' => :'floatingPointNumber',
86
+
87
87
  :'short' => :'short',
88
88
 
89
89
  :'int' => :'int',
@@ -123,8 +123,6 @@ module PureCloud
123
123
 
124
124
  :'float' => :'BOOLEAN',
125
125
 
126
- :'floating_point_number' => :'BOOLEAN',
127
-
128
126
  :'container_node' => :'BOOLEAN',
129
127
 
130
128
  :'missing_node' => :'BOOLEAN',
@@ -133,6 +131,8 @@ module PureCloud
133
131
 
134
132
  :'integral_number' => :'BOOLEAN',
135
133
 
134
+ :'floating_point_number' => :'BOOLEAN',
135
+
136
136
  :'short' => :'BOOLEAN',
137
137
 
138
138
  :'int' => :'BOOLEAN',
@@ -212,15 +212,6 @@ module PureCloud
212
212
  end
213
213
 
214
214
 
215
- if attributes.has_key?(:'floatingPointNumber')
216
-
217
-
218
- self.floating_point_number = attributes[:'floatingPointNumber']
219
-
220
-
221
- end
222
-
223
-
224
215
  if attributes.has_key?(:'containerNode')
225
216
 
226
217
 
@@ -257,6 +248,15 @@ module PureCloud
257
248
  end
258
249
 
259
250
 
251
+ if attributes.has_key?(:'floatingPointNumber')
252
+
253
+
254
+ self.floating_point_number = attributes[:'floatingPointNumber']
255
+
256
+
257
+ end
258
+
259
+
260
260
  if attributes.has_key?(:'short')
261
261
 
262
262
 
@@ -587,11 +587,11 @@ module PureCloud
587
587
  boolean == o.boolean &&
588
588
  number == o.number &&
589
589
  float == o.float &&
590
- floating_point_number == o.floating_point_number &&
591
590
  container_node == o.container_node &&
592
591
  missing_node == o.missing_node &&
593
592
  pojo == o.pojo &&
594
593
  integral_number == o.integral_number &&
594
+ floating_point_number == o.floating_point_number &&
595
595
  short == o.short &&
596
596
  int == o.int &&
597
597
  long == o.long &&
@@ -614,7 +614,7 @@ module PureCloud
614
614
  # Calculates hash code according to all attributes.
615
615
  # @return [Fixnum] Hash code
616
616
  def hash
617
- [node_type, object, boolean, number, float, floating_point_number, container_node, missing_node, pojo, integral_number, short, int, long, double, big_decimal, big_integer, textual, binary, value_node, array, null].hash
617
+ [node_type, object, boolean, number, float, container_node, missing_node, pojo, integral_number, floating_point_number, short, int, long, double, big_decimal, big_integer, textual, binary, value_node, array, null].hash
618
618
  end
619
619
 
620
620
  # build the object from hash
@@ -258,7 +258,7 @@ module PureCloud
258
258
 
259
259
 
260
260
 
261
- allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW"]
261
+ allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW", "INTERACTION_SEARCH_VIEW", "AGENT_PERFORMANCE_SUMMARY_VIEW", "AGENT_PERFORMANCE_DETAIL_VIEW", "AGENT_STATUS_SUMMARY_VIEW", "AGENT_STATUS_DETAIL_VIEW", "AGENT_EVALUATION_SUMMARY_VIEW", "AGENT_EVALUATION_DETAIL_VIEW", "AGENT_QUEUE_DETAIL_VIEW", "AGENT_INTERACTION_DETAIL_VIEW", "ABANDON_INSIGHTS_VIEW", "SKILLS_PERFORMANCE_VIEW"]
262
262
  if @view_type && !allowed_values.include?(@view_type)
263
263
  return false
264
264
  end
@@ -324,7 +324,7 @@ module PureCloud
324
324
  # Custom attribute writer method checking allowed values (enum).
325
325
  # @param [Object] view_type Object to be assigned
326
326
  def view_type=(view_type)
327
- allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW"]
327
+ allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW", "INTERACTION_SEARCH_VIEW", "AGENT_PERFORMANCE_SUMMARY_VIEW", "AGENT_PERFORMANCE_DETAIL_VIEW", "AGENT_STATUS_SUMMARY_VIEW", "AGENT_STATUS_DETAIL_VIEW", "AGENT_EVALUATION_SUMMARY_VIEW", "AGENT_EVALUATION_DETAIL_VIEW", "AGENT_QUEUE_DETAIL_VIEW", "AGENT_INTERACTION_DETAIL_VIEW", "ABANDON_INSIGHTS_VIEW", "SKILLS_PERFORMANCE_VIEW"]
328
328
  if view_type && !allowed_values.include?(view_type)
329
329
  fail ArgumentError, "invalid value for 'view_type', must be one of #{allowed_values}."
330
330
  end
@@ -382,7 +382,7 @@ module PureCloud
382
382
 
383
383
 
384
384
 
385
- allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW"]
385
+ allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW", "INTERACTION_SEARCH_VIEW", "AGENT_PERFORMANCE_SUMMARY_VIEW", "AGENT_PERFORMANCE_DETAIL_VIEW", "AGENT_STATUS_SUMMARY_VIEW", "AGENT_STATUS_DETAIL_VIEW", "AGENT_EVALUATION_SUMMARY_VIEW", "AGENT_EVALUATION_DETAIL_VIEW", "AGENT_QUEUE_DETAIL_VIEW", "AGENT_INTERACTION_DETAIL_VIEW", "ABANDON_INSIGHTS_VIEW", "SKILLS_PERFORMANCE_VIEW"]
386
386
  if @view_type && !allowed_values.include?(@view_type)
387
387
  return false
388
388
  end
@@ -507,7 +507,7 @@ module PureCloud
507
507
  # Custom attribute writer method checking allowed values (enum).
508
508
  # @param [Object] view_type Object to be assigned
509
509
  def view_type=(view_type)
510
- allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW"]
510
+ allowed_values = ["QUEUE_PERFORMANCE_SUMMARY_VIEW", "QUEUE_PERFORMANCE_DETAIL_VIEW", "INTERACTION_SEARCH_VIEW", "AGENT_PERFORMANCE_SUMMARY_VIEW", "AGENT_PERFORMANCE_DETAIL_VIEW", "AGENT_STATUS_SUMMARY_VIEW", "AGENT_STATUS_DETAIL_VIEW", "AGENT_EVALUATION_SUMMARY_VIEW", "AGENT_EVALUATION_DETAIL_VIEW", "AGENT_QUEUE_DETAIL_VIEW", "AGENT_INTERACTION_DETAIL_VIEW", "ABANDON_INSIGHTS_VIEW", "SKILLS_PERFORMANCE_VIEW"]
511
511
  if view_type && !allowed_values.include?(view_type)
512
512
  fail ArgumentError, "invalid value for 'view_type', must be one of #{allowed_values}."
513
513
  end
@@ -0,0 +1,428 @@
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 UserLanguageEntityListing
21
+ attr_accessor :entities
22
+
23
+ attr_accessor :page_size
24
+
25
+ attr_accessor :page_number
26
+
27
+ attr_accessor :total
28
+
29
+ attr_accessor :self_uri
30
+
31
+ attr_accessor :first_uri
32
+
33
+ attr_accessor :previous_uri
34
+
35
+ attr_accessor :next_uri
36
+
37
+ attr_accessor :last_uri
38
+
39
+ attr_accessor :page_count
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+
45
+ :'entities' => :'entities',
46
+
47
+ :'page_size' => :'pageSize',
48
+
49
+ :'page_number' => :'pageNumber',
50
+
51
+ :'total' => :'total',
52
+
53
+ :'self_uri' => :'selfUri',
54
+
55
+ :'first_uri' => :'firstUri',
56
+
57
+ :'previous_uri' => :'previousUri',
58
+
59
+ :'next_uri' => :'nextUri',
60
+
61
+ :'last_uri' => :'lastUri',
62
+
63
+ :'page_count' => :'pageCount'
64
+
65
+ }
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.swagger_types
70
+ {
71
+
72
+ :'entities' => :'Array<UserRoutingLanguage>',
73
+
74
+ :'page_size' => :'Integer',
75
+
76
+ :'page_number' => :'Integer',
77
+
78
+ :'total' => :'Integer',
79
+
80
+ :'self_uri' => :'String',
81
+
82
+ :'first_uri' => :'String',
83
+
84
+ :'previous_uri' => :'String',
85
+
86
+ :'next_uri' => :'String',
87
+
88
+ :'last_uri' => :'String',
89
+
90
+ :'page_count' => :'Integer'
91
+
92
+ }
93
+ end
94
+
95
+ # Initializes the object
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ def initialize(attributes = {})
98
+ return unless attributes.is_a?(Hash)
99
+
100
+ # convert string to symbol for hash key
101
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
102
+
103
+
104
+ if attributes.has_key?(:'entities')
105
+
106
+ if (value = attributes[:'entities']).is_a?(Array)
107
+ self.entities = value
108
+ end
109
+
110
+
111
+
112
+ end
113
+
114
+
115
+ if attributes.has_key?(:'pageSize')
116
+
117
+
118
+ self.page_size = attributes[:'pageSize']
119
+
120
+
121
+ end
122
+
123
+
124
+ if attributes.has_key?(:'pageNumber')
125
+
126
+
127
+ self.page_number = attributes[:'pageNumber']
128
+
129
+
130
+ end
131
+
132
+
133
+ if attributes.has_key?(:'total')
134
+
135
+
136
+ self.total = attributes[:'total']
137
+
138
+
139
+ end
140
+
141
+
142
+ if attributes.has_key?(:'selfUri')
143
+
144
+
145
+ self.self_uri = attributes[:'selfUri']
146
+
147
+
148
+ end
149
+
150
+
151
+ if attributes.has_key?(:'firstUri')
152
+
153
+
154
+ self.first_uri = attributes[:'firstUri']
155
+
156
+
157
+ end
158
+
159
+
160
+ if attributes.has_key?(:'previousUri')
161
+
162
+
163
+ self.previous_uri = attributes[:'previousUri']
164
+
165
+
166
+ end
167
+
168
+
169
+ if attributes.has_key?(:'nextUri')
170
+
171
+
172
+ self.next_uri = attributes[:'nextUri']
173
+
174
+
175
+ end
176
+
177
+
178
+ if attributes.has_key?(:'lastUri')
179
+
180
+
181
+ self.last_uri = attributes[:'lastUri']
182
+
183
+
184
+ end
185
+
186
+
187
+ if attributes.has_key?(:'pageCount')
188
+
189
+
190
+ self.page_count = attributes[:'pageCount']
191
+
192
+
193
+ end
194
+
195
+
196
+ end
197
+
198
+ # Show invalid properties with the reasons. Usually used together with valid?
199
+ # @return Array for valid properies with the reasons
200
+ def list_invalid_properties
201
+ invalid_properties = Array.new
202
+
203
+
204
+ return invalid_properties
205
+ end
206
+
207
+ # Check to see if the all the properties in the model are valid
208
+ # @return true if the model is valid
209
+ def valid?
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
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ end
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+ # Checks equality by comparing each attribute.
305
+ # @param [Object] Object to be compared
306
+ def ==(o)
307
+ return true if self.equal?(o)
308
+ self.class == o.class &&
309
+ entities == o.entities &&
310
+ page_size == o.page_size &&
311
+ page_number == o.page_number &&
312
+ total == o.total &&
313
+ self_uri == o.self_uri &&
314
+ first_uri == o.first_uri &&
315
+ previous_uri == o.previous_uri &&
316
+ next_uri == o.next_uri &&
317
+ last_uri == o.last_uri &&
318
+ page_count == o.page_count
319
+ end
320
+
321
+ # @see the `==` method
322
+ # @param [Object] Object to be compared
323
+ def eql?(o)
324
+ self == o
325
+ end
326
+
327
+ # Calculates hash code according to all attributes.
328
+ # @return [Fixnum] Hash code
329
+ def hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
331
+ end
332
+
333
+ # build the object from hash
334
+ def build_from_hash(attributes)
335
+ return nil unless attributes.is_a?(Hash)
336
+ self.class.swagger_types.each_pair do |key, type|
337
+ if type =~ /^Array<(.*)>/i
338
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
339
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
340
+ else
341
+ #TODO show warning in debug mode
342
+ end
343
+ elsif !attributes[self.class.attribute_map[key]].nil?
344
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
345
+ else
346
+ # data not found in attributes(hash), not an issue as the data can be optional
347
+ end
348
+ end
349
+
350
+ self
351
+ end
352
+
353
+ def _deserialize(type, value)
354
+ case type.to_sym
355
+ when :DateTime
356
+ DateTime.parse(value)
357
+ when :Date
358
+ Date.parse(value)
359
+ when :String
360
+ value.to_s
361
+ when :Integer
362
+ value.to_i
363
+ when :Float
364
+ value.to_f
365
+ when :BOOLEAN
366
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
367
+ true
368
+ else
369
+ false
370
+ end
371
+ when :Object
372
+ # generic object (usually a Hash), return directly
373
+ value
374
+ when /\AArray<(?<inner_type>.+)>\z/
375
+ inner_type = Regexp.last_match[:inner_type]
376
+ value.map { |v| _deserialize(inner_type, v) }
377
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
378
+ k_type = Regexp.last_match[:k_type]
379
+ v_type = Regexp.last_match[:v_type]
380
+ {}.tap do |hash|
381
+ value.each do |k, v|
382
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
383
+ end
384
+ end
385
+ else # model
386
+ _model = Object.const_get("PureCloud").const_get(type).new
387
+ _model.build_from_hash(value)
388
+ end
389
+ end
390
+
391
+ def to_s
392
+ to_hash.to_s
393
+ end
394
+
395
+ # to_body is an alias to to_body (backward compatibility))
396
+ def to_body
397
+ to_hash
398
+ end
399
+
400
+ # return the object in the form of hash
401
+ def to_hash
402
+ hash = {}
403
+ self.class.attribute_map.each_pair do |attr, param|
404
+ value = self.send(attr)
405
+ next if value.nil?
406
+ hash[param] = _to_hash(value)
407
+ end
408
+ hash
409
+ end
410
+
411
+ # Method to output non-array value in the form of hash
412
+ # For object, use to_hash. Otherwise, just return the value
413
+ def _to_hash(value)
414
+ if value.is_a?(Array)
415
+ value.compact.map{ |v| _to_hash(v) }
416
+ elsif value.is_a?(Hash)
417
+ {}.tap do |hash|
418
+ value.each { |k, v| hash[k] = _to_hash(v) }
419
+ end
420
+ elsif value.respond_to? :to_hash
421
+ value.to_hash
422
+ else
423
+ value
424
+ end
425
+ end
426
+
427
+ end
428
+ end