purecloudplatformclientv2 75.1.0 → 79.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 (179) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/ActivityCode.md +1 -1
  4. data/docs/AnalyticsApi.md +66 -2
  5. data/docs/AnalyticsConversationAsyncQueryResponse.md +1 -1
  6. data/docs/AnalyticsConversationQueryResponse.md +1 -1
  7. data/docs/AnalyticsParticipant.md +1 -0
  8. data/docs/AnalyticsParticipantWithoutAttributes.md +1 -0
  9. data/docs/ArchitectApi.md +345 -0
  10. data/docs/AuditApi.md +3 -1
  11. data/docs/AuditLogMessage.md +1 -1
  12. data/docs/AuthorizationApi.md +154 -9
  13. data/docs/AvailableTopic.md +3 -1
  14. data/docs/BuAgentScheduleActivity.md +18 -0
  15. data/docs/BuAgentSchedulePublishedScheduleReference.md +16 -0
  16. data/docs/BuAgentScheduleSearchResponse.md +15 -0
  17. data/docs/BuAgentScheduleShift.md +18 -0
  18. data/docs/BuAgentSchedulesSearchResponse.md +15 -0
  19. data/docs/BuAsyncAgentSchedulesSearchResponse.md +17 -0
  20. data/docs/BuFullDayTimeOffMarker.md +18 -0
  21. data/docs/BuScheduleReference.md +15 -0
  22. data/docs/Call.md +1 -1
  23. data/docs/CallBasic.md +1 -1
  24. data/docs/CallMediaParticipant.md +1 -1
  25. data/docs/CallbackMediaParticipant.md +1 -1
  26. data/docs/CampaignProgress.md +2 -1
  27. data/docs/ChatMediaParticipant.md +1 -1
  28. data/docs/CobrowseMediaParticipant.md +1 -1
  29. data/docs/ConversationsApi.md +71 -1
  30. data/docs/CopyAttachmentsRequest.md +14 -0
  31. data/docs/CreateManagementUnitApiRequest.md +3 -2
  32. data/docs/CreateManagementUnitSettingsRequest.md +1 -1
  33. data/docs/CreateWorkPlanShift.md +1 -1
  34. data/docs/DataTableExportJob.md +22 -0
  35. data/docs/DataTableImportJob.md +25 -0
  36. data/docs/DivsPermittedEntityListing.md +23 -0
  37. data/docs/EmailMediaParticipant.md +1 -1
  38. data/docs/EntityListing.md +17 -0
  39. data/docs/ErrorBody.md +2 -2
  40. data/docs/ErrorInfo.md +14 -0
  41. data/docs/Evaluation.md +1 -0
  42. data/docs/EvaluationQuestionGroupScore.md +4 -0
  43. data/docs/EvaluationScoringSet.md +1 -0
  44. data/docs/FacebookIntegrationRequest.md +2 -2
  45. data/docs/GDPRJourneyCustomer.md +2 -2
  46. data/docs/InboundDomain.md +2 -0
  47. data/docs/Library.md +4 -3
  48. data/docs/LicenseApi.md +66 -0
  49. data/docs/MailFromResult.md +15 -0
  50. data/docs/ManagementUnit.md +2 -2
  51. data/docs/ManagementUnitSettingsRequest.md +1 -1
  52. data/docs/MessageMediaParticipant.md +1 -1
  53. data/docs/MessagingApi.md +0 -936
  54. data/docs/MessagingTemplate.md +15 -0
  55. data/docs/Organization.md +1 -0
  56. data/docs/QualityApi.md +5 -6
  57. data/docs/Record.md +15 -0
  58. data/docs/ReportingExportMetadataJobListing.md +22 -0
  59. data/docs/ReportingExportMetadataJobResponse.md +22 -0
  60. data/docs/Response.md +2 -0
  61. data/docs/RoutingApi.md +385 -0
  62. data/docs/RoutingSettings.md +13 -0
  63. data/docs/SCIMApi.md +397 -23
  64. data/docs/ScimUserExtensions.md +14 -0
  65. data/docs/ScimUserRole.md +13 -0
  66. data/docs/ScimUserRoutingLanguage.md +14 -0
  67. data/docs/ScimUserRoutingSkill.md +14 -0
  68. data/docs/ScimV2CreateUser.md +2 -1
  69. data/docs/ScimV2SchemaAttribute.md +24 -0
  70. data/docs/ScimV2SchemaDefinition.md +17 -0
  71. data/docs/ScimV2SchemaListResponse.md +17 -0
  72. data/docs/ScimV2User.md +2 -1
  73. data/docs/ShortTermForecast.md +2 -2
  74. data/docs/ShortTermForecastListItemResponse.md +2 -2
  75. data/docs/ShortTermForecastReference.md +2 -2
  76. data/docs/TimeOffRequestLookup.md +3 -3
  77. data/docs/TimeOffRequestResponse.md +3 -3
  78. data/docs/UserScheduleAdherence.md +1 -1
  79. data/docs/UsersApi.md +358 -10
  80. data/docs/ViewFilter.md +4 -10
  81. data/docs/WeekSchedule.md +1 -1
  82. data/docs/WeekScheduleListItemResponse.md +1 -1
  83. data/docs/WeekScheduleReference.md +1 -1
  84. data/docs/WorkPlanShift.md +1 -1
  85. data/docs/WorkforceManagementApi.md +40 -41
  86. data/lib/purecloudplatformclientv2.rb +27 -0
  87. data/lib/purecloudplatformclientv2/api/analytics_api.rb +73 -0
  88. data/lib/purecloudplatformclientv2/api/architect_api.rb +373 -0
  89. data/lib/purecloudplatformclientv2/api/audit_api.rb +9 -0
  90. data/lib/purecloudplatformclientv2/api/authorization_api.rb +185 -7
  91. data/lib/purecloudplatformclientv2/api/conversations_api.rb +84 -0
  92. data/lib/purecloudplatformclientv2/api/license_api.rb +63 -0
  93. data/lib/purecloudplatformclientv2/api/messaging_api.rb +0 -949
  94. data/lib/purecloudplatformclientv2/api/quality_api.rb +8 -6
  95. data/lib/purecloudplatformclientv2/api/routing_api.rb +378 -0
  96. data/lib/purecloudplatformclientv2/api/scim_api.rb +366 -26
  97. data/lib/purecloudplatformclientv2/api/users_api.rb +398 -7
  98. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +3 -3
  99. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  100. data/lib/purecloudplatformclientv2/models/activity_code.rb +30 -30
  101. data/lib/purecloudplatformclientv2/models/analytics_conversation_async_query_response.rb +15 -15
  102. data/lib/purecloudplatformclientv2/models/analytics_conversation_query_response.rb +15 -15
  103. data/lib/purecloudplatformclientv2/models/analytics_participant.rb +27 -1
  104. data/lib/purecloudplatformclientv2/models/analytics_participant_without_attributes.rb +27 -1
  105. data/lib/purecloudplatformclientv2/models/audit_log_message.rb +5 -5
  106. data/lib/purecloudplatformclientv2/models/available_topic.rb +57 -4
  107. data/lib/purecloudplatformclientv2/models/bu_agent_schedule_activity.rb +332 -0
  108. data/lib/purecloudplatformclientv2/models/bu_agent_schedule_published_schedule_reference.rb +280 -0
  109. data/lib/purecloudplatformclientv2/models/bu_agent_schedule_search_response.rb +258 -0
  110. data/lib/purecloudplatformclientv2/models/bu_agent_schedule_shift.rb +334 -0
  111. data/lib/purecloudplatformclientv2/models/bu_agent_schedules_search_response.rb +258 -0
  112. data/lib/purecloudplatformclientv2/models/bu_async_agent_schedules_search_response.rb +320 -0
  113. data/lib/purecloudplatformclientv2/models/bu_full_day_time_off_marker.rb +332 -0
  114. data/lib/purecloudplatformclientv2/models/bu_schedule_reference.rb +254 -0
  115. data/lib/purecloudplatformclientv2/models/call.rb +1 -1
  116. data/lib/purecloudplatformclientv2/models/call_basic.rb +1 -1
  117. data/lib/purecloudplatformclientv2/models/call_media_participant.rb +1 -1
  118. data/lib/purecloudplatformclientv2/models/callback_media_participant.rb +1 -1
  119. data/lib/purecloudplatformclientv2/models/campaign_progress.rb +28 -2
  120. data/lib/purecloudplatformclientv2/models/chat_media_participant.rb +1 -1
  121. data/lib/purecloudplatformclientv2/models/cobrowse_media_participant.rb +1 -1
  122. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +2 -2
  123. data/lib/purecloudplatformclientv2/models/copy_attachments_request.rb +240 -0
  124. data/lib/purecloudplatformclientv2/models/create_management_unit_api_request.rb +37 -16
  125. data/lib/purecloudplatformclientv2/models/create_management_unit_settings_request.rb +1 -1
  126. data/lib/purecloudplatformclientv2/models/create_work_plan_shift.rb +1 -1
  127. data/lib/purecloudplatformclientv2/models/data_table_export_job.rb +455 -0
  128. data/lib/purecloudplatformclientv2/models/data_table_import_job.rb +547 -0
  129. data/lib/purecloudplatformclientv2/models/divs_permitted_entity_listing.rb +453 -0
  130. data/lib/purecloudplatformclientv2/models/email_media_participant.rb +1 -1
  131. data/lib/purecloudplatformclientv2/models/entity_listing.rb +303 -0
  132. data/lib/purecloudplatformclientv2/models/error_body.rb +20 -20
  133. data/lib/purecloudplatformclientv2/models/error_info.rb +226 -0
  134. data/lib/purecloudplatformclientv2/models/evaluation.rb +27 -1
  135. data/lib/purecloudplatformclientv2/models/evaluation_question_group_score.rb +101 -1
  136. data/lib/purecloudplatformclientv2/models/evaluation_scoring_set.rb +26 -1
  137. data/lib/purecloudplatformclientv2/models/facebook_integration_request.rb +2 -7
  138. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +2 -2
  139. data/lib/purecloudplatformclientv2/models/gdpr_journey_customer.rb +2 -12
  140. data/lib/purecloudplatformclientv2/models/inbound_domain.rb +53 -1
  141. data/lib/purecloudplatformclientv2/models/library.rb +44 -2
  142. data/lib/purecloudplatformclientv2/models/mail_from_result.rb +275 -0
  143. data/lib/purecloudplatformclientv2/models/management_unit.rb +2 -2
  144. data/lib/purecloudplatformclientv2/models/management_unit_settings_request.rb +1 -1
  145. data/lib/purecloudplatformclientv2/models/message_media_participant.rb +1 -1
  146. data/lib/purecloudplatformclientv2/models/messaging_template.rb +270 -0
  147. data/lib/purecloudplatformclientv2/models/organization.rb +41 -1
  148. data/lib/purecloudplatformclientv2/models/record.rb +269 -0
  149. data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +2 -2
  150. data/lib/purecloudplatformclientv2/models/reporting_export_metadata_job_listing.rb +428 -0
  151. data/lib/purecloudplatformclientv2/models/reporting_export_metadata_job_response.rb +459 -0
  152. data/lib/purecloudplatformclientv2/models/response.rb +67 -1
  153. data/lib/purecloudplatformclientv2/models/routing_settings.rb +202 -0
  154. data/lib/purecloudplatformclientv2/models/scim_metadata.rb +2 -2
  155. data/lib/purecloudplatformclientv2/models/scim_user_extensions.rb +233 -0
  156. data/lib/purecloudplatformclientv2/models/scim_user_role.rb +203 -0
  157. data/lib/purecloudplatformclientv2/models/scim_user_routing_language.rb +234 -0
  158. data/lib/purecloudplatformclientv2/models/scim_user_routing_skill.rb +234 -0
  159. data/lib/purecloudplatformclientv2/models/scim_v2_create_user.rb +30 -5
  160. data/lib/purecloudplatformclientv2/models/scim_v2_group_reference.rb +2 -2
  161. data/lib/purecloudplatformclientv2/models/scim_v2_member_reference.rb +2 -2
  162. data/lib/purecloudplatformclientv2/models/scim_v2_schema_attribute.rb +551 -0
  163. data/lib/purecloudplatformclientv2/models/scim_v2_schema_definition.rb +309 -0
  164. data/lib/purecloudplatformclientv2/models/scim_v2_schema_list_response.rb +311 -0
  165. data/lib/purecloudplatformclientv2/models/scim_v2_user.rb +27 -2
  166. data/lib/purecloudplatformclientv2/models/segment_detail_query_predicate.rb +2 -2
  167. data/lib/purecloudplatformclientv2/models/short_term_forecast.rb +30 -35
  168. data/lib/purecloudplatformclientv2/models/short_term_forecast_list_item_response.rb +30 -35
  169. data/lib/purecloudplatformclientv2/models/short_term_forecast_reference.rb +22 -27
  170. data/lib/purecloudplatformclientv2/models/time_off_request_lookup.rb +3 -3
  171. data/lib/purecloudplatformclientv2/models/time_off_request_response.rb +3 -3
  172. data/lib/purecloudplatformclientv2/models/user_schedule_adherence.rb +1 -1
  173. data/lib/purecloudplatformclientv2/models/view_filter.rb +53 -255
  174. data/lib/purecloudplatformclientv2/models/week_schedule.rb +21 -21
  175. data/lib/purecloudplatformclientv2/models/week_schedule_list_item_response.rb +21 -21
  176. data/lib/purecloudplatformclientv2/models/week_schedule_reference.rb +14 -14
  177. data/lib/purecloudplatformclientv2/models/work_plan_shift.rb +1 -1
  178. data/lib/purecloudplatformclientv2/version.rb +1 -1
  179. metadata +56 -2
@@ -0,0 +1,309 @@
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: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # A SCIM schema definition.
21
+ class ScimV2SchemaDefinition
22
+ # The ID of the SCIM resource. Set by the service provider. \"caseExact\" is set to \"true\". \"Mutability\" is set to \"readOnly\". \"Returned\" is set to \"always\".
23
+ attr_accessor :id
24
+
25
+ # Schema name.
26
+ attr_accessor :name
27
+
28
+ # Schema description.
29
+ attr_accessor :description
30
+
31
+ # A complex type that defines service provider attributes and their qualities.
32
+ attr_accessor :attributes
33
+
34
+ # The metadata of the SCIM resource.
35
+ attr_accessor :meta
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+
41
+ :'id' => :'id',
42
+
43
+ :'name' => :'name',
44
+
45
+ :'description' => :'description',
46
+
47
+ :'attributes' => :'attributes',
48
+
49
+ :'meta' => :'meta'
50
+
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+
58
+ :'id' => :'String',
59
+
60
+ :'name' => :'String',
61
+
62
+ :'description' => :'String',
63
+
64
+ :'attributes' => :'Array<ScimV2SchemaAttribute>',
65
+
66
+ :'meta' => :'ScimMetadata'
67
+
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ return unless attributes.is_a?(Hash)
75
+
76
+ # convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
78
+
79
+
80
+ if attributes.has_key?(:'id')
81
+
82
+
83
+ self.id = attributes[:'id']
84
+
85
+
86
+ end
87
+
88
+
89
+ if attributes.has_key?(:'name')
90
+
91
+
92
+ self.name = attributes[:'name']
93
+
94
+
95
+ end
96
+
97
+
98
+ if attributes.has_key?(:'description')
99
+
100
+
101
+ self.description = attributes[:'description']
102
+
103
+
104
+ end
105
+
106
+
107
+ if attributes.has_key?(:'attributes')
108
+
109
+ if (value = attributes[:'attributes']).is_a?(Array)
110
+ self.attributes = value
111
+ end
112
+
113
+
114
+
115
+ end
116
+
117
+
118
+ if attributes.has_key?(:'meta')
119
+
120
+
121
+ self.meta = attributes[:'meta']
122
+
123
+
124
+ end
125
+
126
+
127
+ end
128
+
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properies with the reasons
131
+ def list_invalid_properties
132
+ invalid_properties = Array.new
133
+
134
+
135
+ return invalid_properties
136
+ end
137
+
138
+ # Check to see if the all the properties in the model are valid
139
+ # @return true if the model is valid
140
+ def valid?
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ end
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+ # Checks equality by comparing each attribute.
191
+ # @param [Object] Object to be compared
192
+ def ==(o)
193
+ return true if self.equal?(o)
194
+ self.class == o.class &&
195
+ id == o.id &&
196
+ name == o.name &&
197
+ description == o.description &&
198
+ attributes == o.attributes &&
199
+ meta == o.meta
200
+ end
201
+
202
+ # @see the `==` method
203
+ # @param [Object] Object to be compared
204
+ def eql?(o)
205
+ self == o
206
+ end
207
+
208
+ # Calculates hash code according to all attributes.
209
+ # @return [Fixnum] Hash code
210
+ def hash
211
+ [id, name, description, attributes, meta].hash
212
+ end
213
+
214
+ # build the object from hash
215
+ def build_from_hash(attributes)
216
+ return nil unless attributes.is_a?(Hash)
217
+ self.class.swagger_types.each_pair do |key, type|
218
+ if type =~ /^Array<(.*)>/i
219
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
220
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
221
+ else
222
+ #TODO show warning in debug mode
223
+ end
224
+ elsif !attributes[self.class.attribute_map[key]].nil?
225
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
226
+ else
227
+ # data not found in attributes(hash), not an issue as the data can be optional
228
+ end
229
+ end
230
+
231
+ self
232
+ end
233
+
234
+ def _deserialize(type, value)
235
+ case type.to_sym
236
+ when :DateTime
237
+ DateTime.parse(value)
238
+ when :Date
239
+ Date.parse(value)
240
+ when :String
241
+ value.to_s
242
+ when :Integer
243
+ value.to_i
244
+ when :Float
245
+ value.to_f
246
+ when :BOOLEAN
247
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
248
+ true
249
+ else
250
+ false
251
+ end
252
+ when :Object
253
+ # generic object (usually a Hash), return directly
254
+ value
255
+ when /\AArray<(?<inner_type>.+)>\z/
256
+ inner_type = Regexp.last_match[:inner_type]
257
+ value.map { |v| _deserialize(inner_type, v) }
258
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
259
+ k_type = Regexp.last_match[:k_type]
260
+ v_type = Regexp.last_match[:v_type]
261
+ {}.tap do |hash|
262
+ value.each do |k, v|
263
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
264
+ end
265
+ end
266
+ else # model
267
+ _model = Object.const_get("PureCloud").const_get(type).new
268
+ _model.build_from_hash(value)
269
+ end
270
+ end
271
+
272
+ def to_s
273
+ to_hash.to_s
274
+ end
275
+
276
+ # to_body is an alias to to_body (backward compatibility))
277
+ def to_body
278
+ to_hash
279
+ end
280
+
281
+ # return the object in the form of hash
282
+ def to_hash
283
+ hash = {}
284
+ self.class.attribute_map.each_pair do |attr, param|
285
+ value = self.send(attr)
286
+ next if value.nil?
287
+ hash[param] = _to_hash(value)
288
+ end
289
+ hash
290
+ end
291
+
292
+ # Method to output non-array value in the form of hash
293
+ # For object, use to_hash. Otherwise, just return the value
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map{ |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+
308
+ end
309
+ end
@@ -0,0 +1,311 @@
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: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # SCIM Resource Types list response
21
+ class ScimV2SchemaListResponse
22
+ # The total number of results.
23
+ attr_accessor :total_results
24
+
25
+ # The 1-based index of the first result returned by this request. Add this to \"itemsPerPage\" when requesting the next page of results.
26
+ attr_accessor :start_index
27
+
28
+ # The number of resources returned per page.
29
+ attr_accessor :items_per_page
30
+
31
+ # Resources
32
+ attr_accessor :resources
33
+
34
+ # The list of supported schemas.
35
+ attr_accessor :schemas
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+
41
+ :'total_results' => :'totalResults',
42
+
43
+ :'start_index' => :'startIndex',
44
+
45
+ :'items_per_page' => :'itemsPerPage',
46
+
47
+ :'resources' => :'Resources',
48
+
49
+ :'schemas' => :'schemas'
50
+
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+
58
+ :'total_results' => :'Integer',
59
+
60
+ :'start_index' => :'Integer',
61
+
62
+ :'items_per_page' => :'Integer',
63
+
64
+ :'resources' => :'Array<ScimV2SchemaDefinition>',
65
+
66
+ :'schemas' => :'Array<String>'
67
+
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ return unless attributes.is_a?(Hash)
75
+
76
+ # convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
78
+
79
+
80
+ if attributes.has_key?(:'totalResults')
81
+
82
+
83
+ self.total_results = attributes[:'totalResults']
84
+
85
+
86
+ end
87
+
88
+
89
+ if attributes.has_key?(:'startIndex')
90
+
91
+
92
+ self.start_index = attributes[:'startIndex']
93
+
94
+
95
+ end
96
+
97
+
98
+ if attributes.has_key?(:'itemsPerPage')
99
+
100
+
101
+ self.items_per_page = attributes[:'itemsPerPage']
102
+
103
+
104
+ end
105
+
106
+
107
+ if attributes.has_key?(:'Resources')
108
+
109
+ if (value = attributes[:'Resources']).is_a?(Array)
110
+ self.resources = value
111
+ end
112
+
113
+
114
+
115
+ end
116
+
117
+
118
+ if attributes.has_key?(:'schemas')
119
+
120
+ if (value = attributes[:'schemas']).is_a?(Array)
121
+ self.schemas = value
122
+ end
123
+
124
+
125
+
126
+ end
127
+
128
+
129
+ end
130
+
131
+ # Show invalid properties with the reasons. Usually used together with valid?
132
+ # @return Array for valid properies with the reasons
133
+ def list_invalid_properties
134
+ invalid_properties = Array.new
135
+
136
+
137
+ return invalid_properties
138
+ end
139
+
140
+ # Check to see if the all the properties in the model are valid
141
+ # @return true if the model is valid
142
+ def valid?
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ end
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+ # Checks equality by comparing each attribute.
193
+ # @param [Object] Object to be compared
194
+ def ==(o)
195
+ return true if self.equal?(o)
196
+ self.class == o.class &&
197
+ total_results == o.total_results &&
198
+ start_index == o.start_index &&
199
+ items_per_page == o.items_per_page &&
200
+ resources == o.resources &&
201
+ schemas == o.schemas
202
+ end
203
+
204
+ # @see the `==` method
205
+ # @param [Object] Object to be compared
206
+ def eql?(o)
207
+ self == o
208
+ end
209
+
210
+ # Calculates hash code according to all attributes.
211
+ # @return [Fixnum] Hash code
212
+ def hash
213
+ [total_results, start_index, items_per_page, resources, schemas].hash
214
+ end
215
+
216
+ # build the object from hash
217
+ def build_from_hash(attributes)
218
+ return nil unless attributes.is_a?(Hash)
219
+ self.class.swagger_types.each_pair do |key, type|
220
+ if type =~ /^Array<(.*)>/i
221
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
222
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
223
+ else
224
+ #TODO show warning in debug mode
225
+ end
226
+ elsif !attributes[self.class.attribute_map[key]].nil?
227
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
228
+ else
229
+ # data not found in attributes(hash), not an issue as the data can be optional
230
+ end
231
+ end
232
+
233
+ self
234
+ end
235
+
236
+ def _deserialize(type, value)
237
+ case type.to_sym
238
+ when :DateTime
239
+ DateTime.parse(value)
240
+ when :Date
241
+ Date.parse(value)
242
+ when :String
243
+ value.to_s
244
+ when :Integer
245
+ value.to_i
246
+ when :Float
247
+ value.to_f
248
+ when :BOOLEAN
249
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
250
+ true
251
+ else
252
+ false
253
+ end
254
+ when :Object
255
+ # generic object (usually a Hash), return directly
256
+ value
257
+ when /\AArray<(?<inner_type>.+)>\z/
258
+ inner_type = Regexp.last_match[:inner_type]
259
+ value.map { |v| _deserialize(inner_type, v) }
260
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
261
+ k_type = Regexp.last_match[:k_type]
262
+ v_type = Regexp.last_match[:v_type]
263
+ {}.tap do |hash|
264
+ value.each do |k, v|
265
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
266
+ end
267
+ end
268
+ else # model
269
+ _model = Object.const_get("PureCloud").const_get(type).new
270
+ _model.build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ def to_s
275
+ to_hash.to_s
276
+ end
277
+
278
+ # to_body is an alias to to_body (backward compatibility))
279
+ def to_body
280
+ to_hash
281
+ end
282
+
283
+ # return the object in the form of hash
284
+ def to_hash
285
+ hash = {}
286
+ self.class.attribute_map.each_pair do |attr, param|
287
+ value = self.send(attr)
288
+ next if value.nil?
289
+ hash[param] = _to_hash(value)
290
+ end
291
+ hash
292
+ end
293
+
294
+ # Method to output non-array value in the form of hash
295
+ # For object, use to_hash. Otherwise, just return the value
296
+ def _to_hash(value)
297
+ if value.is_a?(Array)
298
+ value.compact.map{ |v| _to_hash(v) }
299
+ elsif value.is_a?(Hash)
300
+ {}.tap do |hash|
301
+ value.each { |k, v| hash[k] = _to_hash(v) }
302
+ end
303
+ elsif value.respond_to? :to_hash
304
+ value.to_hash
305
+ else
306
+ value
307
+ end
308
+ end
309
+
310
+ end
311
+ end