purecloudplatformclientv2 15.0.0 → 16.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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/Action.md +21 -0
  4. data/docs/ActionConfig.md +14 -0
  5. data/docs/ActionContract.md +14 -0
  6. data/docs/ActionContractInput.md +14 -0
  7. data/docs/ActionEntityListing.md +22 -0
  8. data/docs/ActionInput.md +15 -0
  9. data/docs/ActionOutput.md +18 -0
  10. data/docs/ActiveAlertCount.md +13 -0
  11. data/docs/AggregationQuery.md +1 -1
  12. data/docs/AlertingApi.md +54 -0
  13. data/docs/ArchitectApi.md +31 -25
  14. data/docs/CallConversationNotificationCallMediaParticipant.md +1 -0
  15. data/docs/CallConversationNotificationParticipants.md +1 -0
  16. data/docs/CallbackConversationNotificationCallbackMediaParticipant.md +1 -0
  17. data/docs/CallbackConversationNotificationParticipants.md +1 -0
  18. data/docs/Category.md +13 -0
  19. data/docs/CategoryEntityListing.md +17 -0
  20. data/docs/ChatConversationNotificationChatMediaParticipant.md +1 -0
  21. data/docs/ChatConversationNotificationParticipants.md +1 -0
  22. data/docs/CobrowseConversationNotificationCobrowseMediaParticipant.md +1 -0
  23. data/docs/CobrowseConversationNotificationParticipants.md +1 -0
  24. data/docs/ConversationNotificationCall.md +1 -0
  25. data/docs/ConversationNotificationCalls.md +1 -0
  26. data/docs/ConversationNotificationEmail.md +1 -0
  27. data/docs/ConversationNotificationEmails.md +1 -0
  28. data/docs/ConversationNotificationParticipant.md +1 -0
  29. data/docs/ConversationNotificationParticipants.md +1 -0
  30. data/docs/ConversationsApi.md +3 -3
  31. data/docs/Document.md +1 -1
  32. data/docs/DomainOrganizationRole.md +1 -1
  33. data/docs/DomainOrganizationRoleCreate.md +1 -1
  34. data/docs/DomainOrganizationRoleUpdate.md +1 -1
  35. data/docs/DraftValidationResult.md +14 -0
  36. data/docs/EmailConversationNotificationEmailMediaParticipant.md +2 -0
  37. data/docs/EmailConversationNotificationParticipants.md +2 -0
  38. data/docs/FaxDocument.md +1 -1
  39. data/docs/IntegrationsApi.md +1355 -0
  40. data/docs/JsonNode.md +4 -4
  41. data/docs/ManagementUnit.md +1 -1
  42. data/docs/ManagementUnitListing.md +22 -0
  43. data/docs/OutboundApi.md +59 -0
  44. data/docs/PostActionInput.md +18 -0
  45. data/docs/PostInputContract.md +13 -0
  46. data/docs/PostOutputContract.md +13 -0
  47. data/docs/PublishDraftInput.md +13 -0
  48. data/docs/RecordingApi.md +123 -0
  49. data/docs/RequestConfig.md +17 -0
  50. data/docs/ResponseConfig.md +15 -0
  51. data/docs/ScreenShareConversationNotificationParticipants.md +1 -0
  52. data/docs/ScreenShareConversationNotificationScreenShareMediaParticipant.md +1 -0
  53. data/docs/SocialConversationNotificationParticipants.md +1 -0
  54. data/docs/SocialConversationNotificationSocialMediaParticipant.md +1 -0
  55. data/docs/TestExecutionOperationResult.md +17 -0
  56. data/docs/TestExecutionResult.md +16 -0
  57. data/docs/UpdateActionInput.md +16 -0
  58. data/docs/UpdateDraftInput.md +18 -0
  59. data/docs/VideoConversationNotificationParticipants.md +1 -0
  60. data/docs/VideoConversationNotificationVideoMediaParticipant.md +1 -0
  61. data/docs/WorkforceManagementApi.md +2 -4
  62. data/lib/purecloudplatformclientv2.rb +23 -1
  63. data/lib/purecloudplatformclientv2/api/alerting_api.rb +55 -0
  64. data/lib/purecloudplatformclientv2/api/architect_api.rb +52 -20
  65. data/lib/purecloudplatformclientv2/api/conversations_api.rb +2 -2
  66. data/lib/purecloudplatformclientv2/api/integrations_api.rb +1723 -0
  67. data/lib/purecloudplatformclientv2/api/outbound_api.rb +65 -0
  68. data/lib/purecloudplatformclientv2/api/recording_api.rb +140 -0
  69. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +3 -12
  70. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  71. data/lib/purecloudplatformclientv2/models/action.rb +409 -0
  72. data/lib/purecloudplatformclientv2/models/action_config.rb +229 -0
  73. data/lib/purecloudplatformclientv2/models/action_contract.rb +229 -0
  74. data/lib/purecloudplatformclientv2/models/action_contract_input.rb +239 -0
  75. data/lib/purecloudplatformclientv2/models/action_entity_listing.rb +428 -0
  76. data/lib/purecloudplatformclientv2/models/action_input.rb +255 -0
  77. data/lib/purecloudplatformclientv2/models/action_output.rb +333 -0
  78. data/lib/purecloudplatformclientv2/models/active_alert_count.rb +202 -0
  79. data/lib/purecloudplatformclientv2/models/aggregation_query.rb +1 -1
  80. data/lib/purecloudplatformclientv2/models/call_conversation_notification_call_media_participant.rb +26 -1
  81. data/lib/purecloudplatformclientv2/models/call_conversation_notification_participants.rb +26 -1
  82. data/lib/purecloudplatformclientv2/models/callback_conversation_notification_callback_media_participant.rb +26 -1
  83. data/lib/purecloudplatformclientv2/models/callback_conversation_notification_participants.rb +26 -1
  84. data/lib/purecloudplatformclientv2/models/category.rb +203 -0
  85. data/lib/purecloudplatformclientv2/models/category_entity_listing.rb +303 -0
  86. data/lib/purecloudplatformclientv2/models/chat_conversation_notification_chat_media_participant.rb +26 -1
  87. data/lib/purecloudplatformclientv2/models/chat_conversation_notification_participants.rb +26 -1
  88. data/lib/purecloudplatformclientv2/models/cobrowse_conversation_notification_cobrowse_media_participant.rb +26 -1
  89. data/lib/purecloudplatformclientv2/models/cobrowse_conversation_notification_participants.rb +26 -1
  90. data/lib/purecloudplatformclientv2/models/condition.rb +2 -2
  91. data/lib/purecloudplatformclientv2/models/conversation_notification_call.rb +26 -1
  92. data/lib/purecloudplatformclientv2/models/conversation_notification_calls.rb +26 -1
  93. data/lib/purecloudplatformclientv2/models/conversation_notification_email.rb +26 -1
  94. data/lib/purecloudplatformclientv2/models/conversation_notification_emails.rb +26 -1
  95. data/lib/purecloudplatformclientv2/models/conversation_notification_participant.rb +40 -1
  96. data/lib/purecloudplatformclientv2/models/conversation_notification_participants.rb +40 -1
  97. data/lib/purecloudplatformclientv2/models/dependency.rb +2 -2
  98. data/lib/purecloudplatformclientv2/models/dependency_object.rb +2 -2
  99. data/lib/purecloudplatformclientv2/models/document.rb +12 -12
  100. data/lib/purecloudplatformclientv2/models/domain_organization_role.rb +12 -12
  101. data/lib/purecloudplatformclientv2/models/domain_organization_role_create.rb +12 -12
  102. data/lib/purecloudplatformclientv2/models/domain_organization_role_update.rb +12 -12
  103. data/lib/purecloudplatformclientv2/models/draft_validation_result.rb +231 -0
  104. data/lib/purecloudplatformclientv2/models/email_conversation_notification_email_media_participant.rb +54 -4
  105. data/lib/purecloudplatformclientv2/models/email_conversation_notification_participants.rb +54 -4
  106. data/lib/purecloudplatformclientv2/models/fax_document.rb +12 -12
  107. data/lib/purecloudplatformclientv2/models/flow.rb +2 -2
  108. data/lib/purecloudplatformclientv2/models/interaction_stats_alert.rb +2 -2
  109. data/lib/purecloudplatformclientv2/models/interaction_stats_rule.rb +2 -2
  110. data/lib/purecloudplatformclientv2/models/json_node.rb +72 -72
  111. data/lib/purecloudplatformclientv2/models/management_unit.rb +7 -7
  112. data/lib/purecloudplatformclientv2/models/management_unit_listing.rb +428 -0
  113. data/lib/purecloudplatformclientv2/models/post_action_input.rb +358 -0
  114. data/lib/purecloudplatformclientv2/models/post_input_contract.rb +208 -0
  115. data/lib/purecloudplatformclientv2/models/post_output_contract.rb +208 -0
  116. data/lib/purecloudplatformclientv2/models/publish_draft_input.rb +208 -0
  117. data/lib/purecloudplatformclientv2/models/request_config.rb +309 -0
  118. data/lib/purecloudplatformclientv2/models/response_config.rb +257 -0
  119. data/lib/purecloudplatformclientv2/models/screen_share_conversation_notification_participants.rb +26 -1
  120. data/lib/purecloudplatformclientv2/models/screen_share_conversation_notification_screen_share_media_participant.rb +26 -1
  121. data/lib/purecloudplatformclientv2/models/social_conversation_notification_participants.rb +26 -1
  122. data/lib/purecloudplatformclientv2/models/social_conversation_notification_social_media_participant.rb +26 -1
  123. data/lib/purecloudplatformclientv2/models/test_execution_operation_result.rb +306 -0
  124. data/lib/purecloudplatformclientv2/models/test_execution_result.rb +282 -0
  125. data/lib/purecloudplatformclientv2/models/{publish_flow_notification_notification.rb → update_action_input.rb} +35 -26
  126. data/lib/purecloudplatformclientv2/models/update_draft_input.rb +338 -0
  127. data/lib/purecloudplatformclientv2/models/video_conversation_notification_participants.rb +26 -1
  128. data/lib/purecloudplatformclientv2/models/video_conversation_notification_video_media_participant.rb +26 -1
  129. data/lib/purecloudplatformclientv2/version.rb +1 -1
  130. metadata +91 -47
  131. data/docs/PublishFlowNotificationNotification.md +0 -16
@@ -70,6 +70,8 @@ module PureCloud
70
70
 
71
71
  attr_accessor :peer
72
72
 
73
+ attr_accessor :screen_recording_state
74
+
73
75
  attr_accessor :social_media_id
74
76
 
75
77
  attr_accessor :social_media_hub
@@ -134,6 +136,8 @@ module PureCloud
134
136
 
135
137
  :'peer' => :'peer',
136
138
 
139
+ :'screen_recording_state' => :'screenRecordingState',
140
+
137
141
  :'social_media_id' => :'socialMediaId',
138
142
 
139
143
  :'social_media_hub' => :'socialMediaHub',
@@ -201,6 +205,8 @@ module PureCloud
201
205
 
202
206
  :'peer' => :'String',
203
207
 
208
+ :'screen_recording_state' => :'String',
209
+
204
210
  :'social_media_id' => :'String',
205
211
 
206
212
  :'social_media_hub' => :'String',
@@ -457,6 +463,15 @@ module PureCloud
457
463
  end
458
464
 
459
465
 
466
+ if attributes.has_key?(:'screenRecordingState')
467
+
468
+
469
+ self.screen_recording_state = attributes[:'screenRecordingState']
470
+
471
+
472
+ end
473
+
474
+
460
475
  if attributes.has_key?(:'socialMediaId')
461
476
 
462
477
 
@@ -638,6 +653,10 @@ module PureCloud
638
653
 
639
654
 
640
655
 
656
+
657
+
658
+
659
+
641
660
 
642
661
 
643
662
 
@@ -817,6 +836,11 @@ module PureCloud
817
836
 
818
837
 
819
838
 
839
+
840
+
841
+
842
+
843
+
820
844
 
821
845
 
822
846
 
@@ -854,6 +878,7 @@ module PureCloud
854
878
  external_organization == o.external_organization &&
855
879
  wrapup == o.wrapup &&
856
880
  peer == o.peer &&
881
+ screen_recording_state == o.screen_recording_state &&
857
882
  social_media_id == o.social_media_id &&
858
883
  social_media_hub == o.social_media_hub &&
859
884
  social_user_name == o.social_user_name &&
@@ -869,7 +894,7 @@ module PureCloud
869
894
  # Calculates hash code according to all attributes.
870
895
  # @return [Fixnum] Hash code
871
896
  def hash
872
- [id, name, address, start_time, connected_time, end_time, start_hold_time, purpose, state, direction, disconnect_type, held, wrapup_required, wrapup_prompt, user, queue, attributes, error_info, script, wrapup_timeout_ms, wrapup_skipped, provider, external_contact, external_organization, wrapup, peer, social_media_id, social_media_hub, social_user_name, preview_text].hash
897
+ [id, name, address, start_time, connected_time, end_time, start_hold_time, purpose, state, direction, disconnect_type, held, wrapup_required, wrapup_prompt, user, queue, attributes, error_info, script, wrapup_timeout_ms, wrapup_skipped, provider, external_contact, external_organization, wrapup, peer, screen_recording_state, social_media_id, social_media_hub, social_user_name, preview_text].hash
873
898
  end
874
899
 
875
900
  # build the object from hash
@@ -0,0 +1,306 @@
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 TestExecutionOperationResult
21
+ # The step number to indicate the order in which the operation was performed
22
+ attr_accessor :step
23
+
24
+ # Name of the operation performed
25
+ attr_accessor :name
26
+
27
+ # Indicated whether or not the operation was successful
28
+ attr_accessor :success
29
+
30
+ # The result of the operation
31
+ attr_accessor :result
32
+
33
+ # Error that occurred during the operation
34
+ attr_accessor :error
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+
40
+ :'step' => :'step',
41
+
42
+ :'name' => :'name',
43
+
44
+ :'success' => :'success',
45
+
46
+ :'result' => :'result',
47
+
48
+ :'error' => :'error'
49
+
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.swagger_types
55
+ {
56
+
57
+ :'step' => :'Integer',
58
+
59
+ :'name' => :'String',
60
+
61
+ :'success' => :'BOOLEAN',
62
+
63
+ :'result' => :'Object',
64
+
65
+ :'error' => :'ErrorBody'
66
+
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ return unless attributes.is_a?(Hash)
74
+
75
+ # convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
77
+
78
+
79
+ if attributes.has_key?(:'step')
80
+
81
+
82
+ self.step = attributes[:'step']
83
+
84
+
85
+ end
86
+
87
+
88
+ if attributes.has_key?(:'name')
89
+
90
+
91
+ self.name = attributes[:'name']
92
+
93
+
94
+ end
95
+
96
+
97
+ if attributes.has_key?(:'success')
98
+
99
+
100
+ self.success = attributes[:'success']
101
+
102
+
103
+ end
104
+
105
+
106
+ if attributes.has_key?(:'result')
107
+
108
+
109
+ self.result = attributes[:'result']
110
+
111
+
112
+ end
113
+
114
+
115
+ if attributes.has_key?(:'error')
116
+
117
+
118
+ self.error = attributes[:'error']
119
+
120
+
121
+ end
122
+
123
+
124
+ end
125
+
126
+ # Show invalid properties with the reasons. Usually used together with valid?
127
+ # @return Array for valid properies with the reasons
128
+ def list_invalid_properties
129
+ invalid_properties = Array.new
130
+
131
+
132
+ return invalid_properties
133
+ end
134
+
135
+ # Check to see if the all the properties in the model are valid
136
+ # @return true if the model is valid
137
+ def valid?
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ end
160
+
161
+
162
+
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
+ # Checks equality by comparing each attribute.
188
+ # @param [Object] Object to be compared
189
+ def ==(o)
190
+ return true if self.equal?(o)
191
+ self.class == o.class &&
192
+ step == o.step &&
193
+ name == o.name &&
194
+ success == o.success &&
195
+ result == o.result &&
196
+ error == o.error
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] Object to be compared
201
+ def eql?(o)
202
+ self == o
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Fixnum] Hash code
207
+ def hash
208
+ [step, name, success, result, error].hash
209
+ end
210
+
211
+ # build the object from hash
212
+ def build_from_hash(attributes)
213
+ return nil unless attributes.is_a?(Hash)
214
+ self.class.swagger_types.each_pair do |key, type|
215
+ if type =~ /^Array<(.*)>/i
216
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
217
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
218
+ else
219
+ #TODO show warning in debug mode
220
+ end
221
+ elsif !attributes[self.class.attribute_map[key]].nil?
222
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
223
+ else
224
+ # data not found in attributes(hash), not an issue as the data can be optional
225
+ end
226
+ end
227
+
228
+ self
229
+ end
230
+
231
+ def _deserialize(type, value)
232
+ case type.to_sym
233
+ when :DateTime
234
+ DateTime.parse(value)
235
+ when :Date
236
+ Date.parse(value)
237
+ when :String
238
+ value.to_s
239
+ when :Integer
240
+ value.to_i
241
+ when :Float
242
+ value.to_f
243
+ when :BOOLEAN
244
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
245
+ true
246
+ else
247
+ false
248
+ end
249
+ when :Object
250
+ # generic object (usually a Hash), return directly
251
+ value
252
+ when /\AArray<(?<inner_type>.+)>\z/
253
+ inner_type = Regexp.last_match[:inner_type]
254
+ value.map { |v| _deserialize(inner_type, v) }
255
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
256
+ k_type = Regexp.last_match[:k_type]
257
+ v_type = Regexp.last_match[:v_type]
258
+ {}.tap do |hash|
259
+ value.each do |k, v|
260
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
261
+ end
262
+ end
263
+ else # model
264
+ _model = Object.const_get("PureCloud").const_get(type).new
265
+ _model.build_from_hash(value)
266
+ end
267
+ end
268
+
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_body (backward compatibility))
274
+ def to_body
275
+ to_hash
276
+ end
277
+
278
+ # return the object in the form of hash
279
+ def to_hash
280
+ hash = {}
281
+ self.class.attribute_map.each_pair do |attr, param|
282
+ value = self.send(attr)
283
+ next if value.nil?
284
+ hash[param] = _to_hash(value)
285
+ end
286
+ hash
287
+ end
288
+
289
+ # Method to output non-array value in the form of hash
290
+ # For object, use to_hash. Otherwise, just return the value
291
+ def _to_hash(value)
292
+ if value.is_a?(Array)
293
+ value.compact.map{ |v| _to_hash(v) }
294
+ elsif value.is_a?(Hash)
295
+ {}.tap do |hash|
296
+ value.each { |k, v| hash[k] = _to_hash(v) }
297
+ end
298
+ elsif value.respond_to? :to_hash
299
+ value.to_hash
300
+ else
301
+ value
302
+ end
303
+ end
304
+
305
+ end
306
+ end
@@ -0,0 +1,282 @@
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 TestExecutionResult
21
+ # Execution operations performed as part of the test
22
+ attr_accessor :operations
23
+
24
+ # The final error encountered during the test that resulted in test failure
25
+ attr_accessor :error
26
+
27
+ # The final result of the test. This is the response that would be returned during normal action execution
28
+ attr_accessor :final_result
29
+
30
+ # Indicates whether or not the test was a success
31
+ attr_accessor :success
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+
37
+ :'operations' => :'operations',
38
+
39
+ :'error' => :'error',
40
+
41
+ :'final_result' => :'finalResult',
42
+
43
+ :'success' => :'success'
44
+
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+
52
+ :'operations' => :'Array<TestExecutionOperationResult>',
53
+
54
+ :'error' => :'ErrorBody',
55
+
56
+ :'final_result' => :'Object',
57
+
58
+ :'success' => :'BOOLEAN'
59
+
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ def initialize(attributes = {})
66
+ return unless attributes.is_a?(Hash)
67
+
68
+ # convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
70
+
71
+
72
+ if attributes.has_key?(:'operations')
73
+
74
+ if (value = attributes[:'operations']).is_a?(Array)
75
+ self.operations = value
76
+ end
77
+
78
+
79
+
80
+ end
81
+
82
+
83
+ if attributes.has_key?(:'error')
84
+
85
+
86
+ self.error = attributes[:'error']
87
+
88
+
89
+ end
90
+
91
+
92
+ if attributes.has_key?(:'finalResult')
93
+
94
+
95
+ self.final_result = attributes[:'finalResult']
96
+
97
+
98
+ end
99
+
100
+
101
+ if attributes.has_key?(:'success')
102
+
103
+
104
+ self.success = attributes[:'success']
105
+
106
+
107
+ end
108
+
109
+
110
+ end
111
+
112
+ # Show invalid properties with the reasons. Usually used together with valid?
113
+ # @return Array for valid properies with the reasons
114
+ def list_invalid_properties
115
+ invalid_properties = Array.new
116
+
117
+
118
+ return invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ end
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ operations == o.operations &&
170
+ error == o.error &&
171
+ final_result == o.final_result &&
172
+ success == o.success
173
+ end
174
+
175
+ # @see the `==` method
176
+ # @param [Object] Object to be compared
177
+ def eql?(o)
178
+ self == o
179
+ end
180
+
181
+ # Calculates hash code according to all attributes.
182
+ # @return [Fixnum] Hash code
183
+ def hash
184
+ [operations, error, final_result, success].hash
185
+ end
186
+
187
+ # build the object from hash
188
+ def build_from_hash(attributes)
189
+ return nil unless attributes.is_a?(Hash)
190
+ self.class.swagger_types.each_pair do |key, type|
191
+ if type =~ /^Array<(.*)>/i
192
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
193
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
194
+ else
195
+ #TODO show warning in debug mode
196
+ end
197
+ elsif !attributes[self.class.attribute_map[key]].nil?
198
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
199
+ else
200
+ # data not found in attributes(hash), not an issue as the data can be optional
201
+ end
202
+ end
203
+
204
+ self
205
+ end
206
+
207
+ def _deserialize(type, value)
208
+ case type.to_sym
209
+ when :DateTime
210
+ DateTime.parse(value)
211
+ when :Date
212
+ Date.parse(value)
213
+ when :String
214
+ value.to_s
215
+ when :Integer
216
+ value.to_i
217
+ when :Float
218
+ value.to_f
219
+ when :BOOLEAN
220
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
221
+ true
222
+ else
223
+ false
224
+ end
225
+ when :Object
226
+ # generic object (usually a Hash), return directly
227
+ value
228
+ when /\AArray<(?<inner_type>.+)>\z/
229
+ inner_type = Regexp.last_match[:inner_type]
230
+ value.map { |v| _deserialize(inner_type, v) }
231
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
232
+ k_type = Regexp.last_match[:k_type]
233
+ v_type = Regexp.last_match[:v_type]
234
+ {}.tap do |hash|
235
+ value.each do |k, v|
236
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
237
+ end
238
+ end
239
+ else # model
240
+ _model = Object.const_get("PureCloud").const_get(type).new
241
+ _model.build_from_hash(value)
242
+ end
243
+ end
244
+
245
+ def to_s
246
+ to_hash.to_s
247
+ end
248
+
249
+ # to_body is an alias to to_body (backward compatibility))
250
+ def to_body
251
+ to_hash
252
+ end
253
+
254
+ # return the object in the form of hash
255
+ def to_hash
256
+ hash = {}
257
+ self.class.attribute_map.each_pair do |attr, param|
258
+ value = self.send(attr)
259
+ next if value.nil?
260
+ hash[param] = _to_hash(value)
261
+ end
262
+ hash
263
+ end
264
+
265
+ # Method to output non-array value in the form of hash
266
+ # For object, use to_hash. Otherwise, just return the value
267
+ def _to_hash(value)
268
+ if value.is_a?(Array)
269
+ value.compact.map{ |v| _to_hash(v) }
270
+ elsif value.is_a?(Hash)
271
+ {}.tap do |hash|
272
+ value.each { |k, v| hash[k] = _to_hash(v) }
273
+ end
274
+ elsif value.respond_to? :to_hash
275
+ value.to_hash
276
+ else
277
+ value
278
+ end
279
+ end
280
+
281
+ end
282
+ end