purecloudplatformclientv2 27.1.0 → 28.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AdditionalMessage.md +13 -0
  4. data/docs/AnalyticsParticipant.md +1 -0
  5. data/docs/ArchitectApi.md +40 -28
  6. data/docs/Attachment.md +5 -5
  7. data/docs/ConversationNotificationAttachment.md +18 -0
  8. data/docs/ConversationNotificationDraftAttachments.md +18 -0
  9. data/docs/ConversationNotificationEmail.md +1 -0
  10. data/docs/ConversationNotificationEmails.md +1 -0
  11. data/docs/ConversationsApi.md +964 -198
  12. data/docs/DataTable.md +17 -0
  13. data/docs/DataTableRowEntityListing.md +22 -0
  14. data/docs/DataTablesDomainEntityListing.md +22 -0
  15. data/docs/Document.md +1 -1
  16. data/docs/DomainEdgeSoftwareVersionDto.md +1 -1
  17. data/docs/DomainOrganizationRole.md +1 -1
  18. data/docs/DomainOrganizationRoleCreate.md +1 -1
  19. data/docs/DomainOrganizationRoleUpdate.md +1 -1
  20. data/docs/Email.md +1 -0
  21. data/docs/EmailConversationNotificationAttachment.md +18 -0
  22. data/docs/EmailConversationNotificationEmailMediaParticipant.md +1 -0
  23. data/docs/EmailConversationNotificationParticipants.md +1 -0
  24. data/docs/EmailMediaParticipant.md +1 -0
  25. data/docs/FaxDocument.md +1 -1
  26. data/docs/JsonNode.md +4 -4
  27. data/docs/MessageConversation.md +17 -0
  28. data/docs/MessageConversationEntityListing.md +22 -0
  29. data/docs/MessageData.md +25 -0
  30. data/docs/MessageMediaParticipant.md +44 -0
  31. data/docs/Question.md +1 -1
  32. data/docs/Recipient.md +20 -0
  33. data/docs/RecipientListing.md +22 -0
  34. data/docs/RoutingApi.md +632 -0
  35. data/docs/SMSAvailablePhoneNumberEntityListing.md +13 -0
  36. data/docs/SmsAddressProvision.md +21 -0
  37. data/docs/SmsAvailablePhoneNumber.md +22 -0
  38. data/docs/SmsPhoneNumber.md +25 -0
  39. data/docs/SmsPhoneNumberEntityListing.md +22 -0
  40. data/docs/SmsPhoneNumberProvision.md +18 -0
  41. data/docs/TextMessageListing.md +22 -0
  42. data/lib/purecloudplatformclientv2.rb +20 -0
  43. data/lib/purecloudplatformclientv2/api/architect_api.rb +108 -34
  44. data/lib/purecloudplatformclientv2/api/conversations_api.rb +1247 -317
  45. data/lib/purecloudplatformclientv2/api/routing_api.rb +829 -43
  46. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  47. data/lib/purecloudplatformclientv2/models/additional_message.rb +207 -0
  48. data/lib/purecloudplatformclientv2/models/aggregate_metric_data.rb +2 -2
  49. data/lib/purecloudplatformclientv2/models/analytics_participant.rb +41 -1
  50. data/lib/purecloudplatformclientv2/models/analytics_query_predicate.rb +4 -4
  51. data/lib/purecloudplatformclientv2/models/attachment.rb +5 -0
  52. data/lib/purecloudplatformclientv2/models/conversation_notification_attachment.rb +326 -0
  53. data/lib/purecloudplatformclientv2/models/conversation_notification_draft_attachments.rb +326 -0
  54. data/lib/purecloudplatformclientv2/models/conversation_notification_email.rb +28 -1
  55. data/lib/purecloudplatformclientv2/models/conversation_notification_emails.rb +28 -1
  56. data/lib/purecloudplatformclientv2/models/data_table.rb +306 -0
  57. data/lib/purecloudplatformclientv2/models/data_table_row_entity_listing.rb +428 -0
  58. data/lib/purecloudplatformclientv2/models/data_tables_domain_entity_listing.rb +428 -0
  59. data/lib/purecloudplatformclientv2/models/document.rb +12 -12
  60. data/lib/purecloudplatformclientv2/models/domain_edge_software_version_dto.rb +12 -12
  61. data/lib/purecloudplatformclientv2/models/domain_organization_role.rb +12 -12
  62. data/lib/purecloudplatformclientv2/models/domain_organization_role_create.rb +12 -12
  63. data/lib/purecloudplatformclientv2/models/domain_organization_role_update.rb +12 -12
  64. data/lib/purecloudplatformclientv2/models/email.rb +32 -4
  65. data/lib/purecloudplatformclientv2/models/email_conversation_notification_attachment.rb +326 -0
  66. data/lib/purecloudplatformclientv2/models/email_conversation_notification_email_media_participant.rb +31 -4
  67. data/lib/purecloudplatformclientv2/models/email_conversation_notification_participants.rb +31 -4
  68. data/lib/purecloudplatformclientv2/models/email_media_participant.rb +32 -4
  69. data/lib/purecloudplatformclientv2/models/fax_document.rb +12 -12
  70. data/lib/purecloudplatformclientv2/models/json_node.rb +72 -72
  71. data/lib/purecloudplatformclientv2/models/message_conversation.rb +309 -0
  72. data/lib/purecloudplatformclientv2/models/message_conversation_entity_listing.rb +428 -0
  73. data/lib/purecloudplatformclientv2/models/message_data.rb +572 -0
  74. data/lib/purecloudplatformclientv2/models/message_media_participant.rb +1068 -0
  75. data/lib/purecloudplatformclientv2/models/question.rb +13 -13
  76. data/lib/purecloudplatformclientv2/models/recipient.rb +383 -0
  77. data/lib/purecloudplatformclientv2/models/recipient_listing.rb +428 -0
  78. data/lib/purecloudplatformclientv2/models/sms_address_provision.rb +440 -0
  79. data/lib/purecloudplatformclientv2/models/sms_available_phone_number.rb +465 -0
  80. data/lib/purecloudplatformclientv2/models/sms_available_phone_number_entity_listing.rb +203 -0
  81. data/lib/purecloudplatformclientv2/models/sms_phone_number.rb +546 -0
  82. data/lib/purecloudplatformclientv2/models/sms_phone_number_entity_listing.rb +428 -0
  83. data/lib/purecloudplatformclientv2/models/sms_phone_number_provision.rb +360 -0
  84. data/lib/purecloudplatformclientv2/models/text_message_listing.rb +428 -0
  85. data/lib/purecloudplatformclientv2/version.rb +1 -1
  86. metadata +42 -2
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :edge_uri
32
32
 
33
- attr_accessor :latest_release
34
-
35
33
  attr_accessor :current
36
34
 
35
+ attr_accessor :latest_release
36
+
37
37
  # The URI for this object
38
38
  attr_accessor :self_uri
39
39
 
@@ -51,10 +51,10 @@ module PureCloud
51
51
 
52
52
  :'edge_uri' => :'edgeUri',
53
53
 
54
- :'latest_release' => :'latestRelease',
55
-
56
54
  :'current' => :'current',
57
55
 
56
+ :'latest_release' => :'latestRelease',
57
+
58
58
  :'self_uri' => :'selfUri'
59
59
 
60
60
  }
@@ -74,10 +74,10 @@ module PureCloud
74
74
 
75
75
  :'edge_uri' => :'String',
76
76
 
77
- :'latest_release' => :'BOOLEAN',
78
-
79
77
  :'current' => :'BOOLEAN',
80
78
 
79
+ :'latest_release' => :'BOOLEAN',
80
+
81
81
  :'self_uri' => :'String'
82
82
 
83
83
  }
@@ -137,19 +137,19 @@ module PureCloud
137
137
  end
138
138
 
139
139
 
140
- if attributes.has_key?(:'latestRelease')
140
+ if attributes.has_key?(:'current')
141
141
 
142
142
 
143
- self.latest_release = attributes[:'latestRelease']
143
+ self.current = attributes[:'current']
144
144
 
145
145
 
146
146
  end
147
147
 
148
148
 
149
- if attributes.has_key?(:'current')
149
+ if attributes.has_key?(:'latestRelease')
150
150
 
151
151
 
152
- self.current = attributes[:'current']
152
+ self.latest_release = attributes[:'latestRelease']
153
153
 
154
154
 
155
155
  end
@@ -264,8 +264,8 @@ module PureCloud
264
264
  edge_version == o.edge_version &&
265
265
  publish_date == o.publish_date &&
266
266
  edge_uri == o.edge_uri &&
267
- latest_release == o.latest_release &&
268
267
  current == o.current &&
268
+ latest_release == o.latest_release &&
269
269
  self_uri == o.self_uri
270
270
  end
271
271
 
@@ -278,7 +278,7 @@ module PureCloud
278
278
  # Calculates hash code according to all attributes.
279
279
  # @return [Fixnum] Hash code
280
280
  def hash
281
- [id, name, edge_version, publish_date, edge_uri, latest_release, current, self_uri].hash
281
+ [id, name, edge_version, publish_date, edge_uri, current, latest_release, self_uri].hash
282
282
  end
283
283
 
284
284
  # build the object from hash
@@ -36,10 +36,10 @@ module PureCloud
36
36
  # Optional unless patch operation.
37
37
  attr_accessor :role_needs_update
38
38
 
39
- attr_accessor :base
40
-
41
39
  attr_accessor :default
42
40
 
41
+ attr_accessor :base
42
+
43
43
  # The URI for this object
44
44
  attr_accessor :self_uri
45
45
 
@@ -63,10 +63,10 @@ module PureCloud
63
63
 
64
64
  :'role_needs_update' => :'roleNeedsUpdate',
65
65
 
66
- :'base' => :'base',
67
-
68
66
  :'default' => :'default',
69
67
 
68
+ :'base' => :'base',
69
+
70
70
  :'self_uri' => :'selfUri'
71
71
 
72
72
  }
@@ -92,10 +92,10 @@ module PureCloud
92
92
 
93
93
  :'role_needs_update' => :'BOOLEAN',
94
94
 
95
- :'base' => :'BOOLEAN',
96
-
97
95
  :'default' => :'BOOLEAN',
98
96
 
97
+ :'base' => :'BOOLEAN',
98
+
99
99
  :'self_uri' => :'String'
100
100
 
101
101
  }
@@ -186,19 +186,19 @@ module PureCloud
186
186
  end
187
187
 
188
188
 
189
- if attributes.has_key?(:'base')
189
+ if attributes.has_key?(:'default')
190
190
 
191
191
 
192
- self.base = attributes[:'base']
192
+ self.default = attributes[:'default']
193
193
 
194
194
 
195
195
  end
196
196
 
197
197
 
198
- if attributes.has_key?(:'default')
198
+ if attributes.has_key?(:'base')
199
199
 
200
200
 
201
- self.default = attributes[:'default']
201
+ self.base = attributes[:'base']
202
202
 
203
203
 
204
204
  end
@@ -343,8 +343,8 @@ module PureCloud
343
343
  permission_policies == o.permission_policies &&
344
344
  user_count == o.user_count &&
345
345
  role_needs_update == o.role_needs_update &&
346
- base == o.base &&
347
346
  default == o.default &&
347
+ base == o.base &&
348
348
  self_uri == o.self_uri
349
349
  end
350
350
 
@@ -357,7 +357,7 @@ module PureCloud
357
357
  # Calculates hash code according to all attributes.
358
358
  # @return [Fixnum] Hash code
359
359
  def hash
360
- [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, base, default, self_uri].hash
360
+ [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, default, base, self_uri].hash
361
361
  end
362
362
 
363
363
  # build the object from hash
@@ -37,10 +37,10 @@ module PureCloud
37
37
  # Optional unless patch operation.
38
38
  attr_accessor :role_needs_update
39
39
 
40
- attr_accessor :base
41
-
42
40
  attr_accessor :default
43
41
 
42
+ attr_accessor :base
43
+
44
44
  # The URI for this object
45
45
  attr_accessor :self_uri
46
46
 
@@ -64,10 +64,10 @@ module PureCloud
64
64
 
65
65
  :'role_needs_update' => :'roleNeedsUpdate',
66
66
 
67
- :'base' => :'base',
68
-
69
67
  :'default' => :'default',
70
68
 
69
+ :'base' => :'base',
70
+
71
71
  :'self_uri' => :'selfUri'
72
72
 
73
73
  }
@@ -93,10 +93,10 @@ module PureCloud
93
93
 
94
94
  :'role_needs_update' => :'BOOLEAN',
95
95
 
96
- :'base' => :'BOOLEAN',
97
-
98
96
  :'default' => :'BOOLEAN',
99
97
 
98
+ :'base' => :'BOOLEAN',
99
+
100
100
  :'self_uri' => :'String'
101
101
 
102
102
  }
@@ -187,19 +187,19 @@ module PureCloud
187
187
  end
188
188
 
189
189
 
190
- if attributes.has_key?(:'base')
190
+ if attributes.has_key?(:'default')
191
191
 
192
192
 
193
- self.base = attributes[:'base']
193
+ self.default = attributes[:'default']
194
194
 
195
195
 
196
196
  end
197
197
 
198
198
 
199
- if attributes.has_key?(:'default')
199
+ if attributes.has_key?(:'base')
200
200
 
201
201
 
202
- self.default = attributes[:'default']
202
+ self.base = attributes[:'base']
203
203
 
204
204
 
205
205
  end
@@ -349,8 +349,8 @@ module PureCloud
349
349
  permission_policies == o.permission_policies &&
350
350
  user_count == o.user_count &&
351
351
  role_needs_update == o.role_needs_update &&
352
- base == o.base &&
353
352
  default == o.default &&
353
+ base == o.base &&
354
354
  self_uri == o.self_uri
355
355
  end
356
356
 
@@ -363,7 +363,7 @@ module PureCloud
363
363
  # Calculates hash code according to all attributes.
364
364
  # @return [Fixnum] Hash code
365
365
  def hash
366
- [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, base, default, self_uri].hash
366
+ [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, default, base, self_uri].hash
367
367
  end
368
368
 
369
369
  # build the object from hash
@@ -37,10 +37,10 @@ module PureCloud
37
37
  # Optional unless patch operation.
38
38
  attr_accessor :role_needs_update
39
39
 
40
- attr_accessor :base
41
-
42
40
  attr_accessor :default
43
41
 
42
+ attr_accessor :base
43
+
44
44
  # The URI for this object
45
45
  attr_accessor :self_uri
46
46
 
@@ -64,10 +64,10 @@ module PureCloud
64
64
 
65
65
  :'role_needs_update' => :'roleNeedsUpdate',
66
66
 
67
- :'base' => :'base',
68
-
69
67
  :'default' => :'default',
70
68
 
69
+ :'base' => :'base',
70
+
71
71
  :'self_uri' => :'selfUri'
72
72
 
73
73
  }
@@ -93,10 +93,10 @@ module PureCloud
93
93
 
94
94
  :'role_needs_update' => :'BOOLEAN',
95
95
 
96
- :'base' => :'BOOLEAN',
97
-
98
96
  :'default' => :'BOOLEAN',
99
97
 
98
+ :'base' => :'BOOLEAN',
99
+
100
100
  :'self_uri' => :'String'
101
101
 
102
102
  }
@@ -187,19 +187,19 @@ module PureCloud
187
187
  end
188
188
 
189
189
 
190
- if attributes.has_key?(:'base')
190
+ if attributes.has_key?(:'default')
191
191
 
192
192
 
193
- self.base = attributes[:'base']
193
+ self.default = attributes[:'default']
194
194
 
195
195
 
196
196
  end
197
197
 
198
198
 
199
- if attributes.has_key?(:'default')
199
+ if attributes.has_key?(:'base')
200
200
 
201
201
 
202
- self.default = attributes[:'default']
202
+ self.base = attributes[:'base']
203
203
 
204
204
 
205
205
  end
@@ -349,8 +349,8 @@ module PureCloud
349
349
  permission_policies == o.permission_policies &&
350
350
  user_count == o.user_count &&
351
351
  role_needs_update == o.role_needs_update &&
352
- base == o.base &&
353
352
  default == o.default &&
353
+ base == o.base &&
354
354
  self_uri == o.self_uri
355
355
  end
356
356
 
@@ -363,7 +363,7 @@ module PureCloud
363
363
  # Calculates hash code according to all attributes.
364
364
  # @return [Fixnum] Hash code
365
365
  def hash
366
- [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, base, default, self_uri].hash
366
+ [id, name, description, default_role_id, permissions, permission_policies, user_count, role_needs_update, default, base, self_uri].hash
367
367
  end
368
368
 
369
369
  # build the object from hash
@@ -71,6 +71,9 @@ module PureCloud
71
71
  # A globally unique identifier for the stored content of this communication.
72
72
  attr_accessor :message_id
73
73
 
74
+ # A list of uploaded attachments on the email draft.
75
+ attr_accessor :draft_attachments
76
+
74
77
  # Attribute mapping from ruby-style variable name to JSON key.
75
78
  def self.attribute_map
76
79
  {
@@ -109,7 +112,9 @@ module PureCloud
109
112
 
110
113
  :'peer_id' => :'peerId',
111
114
 
112
- :'message_id' => :'messageId'
115
+ :'message_id' => :'messageId',
116
+
117
+ :'draft_attachments' => :'draftAttachments'
113
118
 
114
119
  }
115
120
  end
@@ -152,7 +157,9 @@ module PureCloud
152
157
 
153
158
  :'peer_id' => :'String',
154
159
 
155
- :'message_id' => :'String'
160
+ :'message_id' => :'String',
161
+
162
+ :'draft_attachments' => :'Array<Attachment>'
156
163
 
157
164
  }
158
165
  end
@@ -330,6 +337,17 @@ module PureCloud
330
337
  end
331
338
 
332
339
 
340
+ if attributes.has_key?(:'draftAttachments')
341
+
342
+ if (value = attributes[:'draftAttachments']).is_a?(Array)
343
+ self.draft_attachments = value
344
+ end
345
+
346
+
347
+
348
+ end
349
+
350
+
333
351
  end
334
352
 
335
353
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -427,6 +445,10 @@ module PureCloud
427
445
 
428
446
 
429
447
 
448
+
449
+
450
+
451
+
430
452
 
431
453
 
432
454
 
@@ -546,6 +568,11 @@ module PureCloud
546
568
 
547
569
 
548
570
 
571
+
572
+
573
+
574
+
575
+
549
576
 
550
577
 
551
578
 
@@ -574,7 +601,8 @@ module PureCloud
574
601
  provider == o.provider &&
575
602
  script_id == o.script_id &&
576
603
  peer_id == o.peer_id &&
577
- message_id == o.message_id
604
+ message_id == o.message_id &&
605
+ draft_attachments == o.draft_attachments
578
606
  end
579
607
 
580
608
  # @see the `==` method
@@ -586,7 +614,7 @@ module PureCloud
586
614
  # Calculates hash code according to all attributes.
587
615
  # @return [Fixnum] Hash code
588
616
  def hash
589
- [state, id, held, subject, messages_sent, segments, direction, recording_id, error_info, disconnect_type, start_hold_time, connected_time, disconnected_time, auto_generated, provider, script_id, peer_id, message_id].hash
617
+ [state, id, held, subject, messages_sent, segments, direction, recording_id, error_info, disconnect_type, start_hold_time, connected_time, disconnected_time, auto_generated, provider, script_id, peer_id, message_id, draft_attachments].hash
590
618
  end
591
619
 
592
620
  # build the object from hash
@@ -0,0 +1,326 @@
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 EmailConversationNotificationAttachment
21
+ attr_accessor :attachment_id
22
+
23
+ attr_accessor :name
24
+
25
+ attr_accessor :content_uri
26
+
27
+ attr_accessor :content_type
28
+
29
+ attr_accessor :content_length
30
+
31
+ attr_accessor :additional_properties
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+
37
+ :'attachment_id' => :'attachmentId',
38
+
39
+ :'name' => :'name',
40
+
41
+ :'content_uri' => :'contentUri',
42
+
43
+ :'content_type' => :'contentType',
44
+
45
+ :'content_length' => :'contentLength',
46
+
47
+ :'additional_properties' => :'additionalProperties'
48
+
49
+ }
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.swagger_types
54
+ {
55
+
56
+ :'attachment_id' => :'String',
57
+
58
+ :'name' => :'String',
59
+
60
+ :'content_uri' => :'String',
61
+
62
+ :'content_type' => :'String',
63
+
64
+ :'content_length' => :'Integer',
65
+
66
+ :'additional_properties' => :'Object'
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?(:'attachmentId')
81
+
82
+
83
+ self.attachment_id = attributes[:'attachmentId']
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?(:'contentUri')
99
+
100
+
101
+ self.content_uri = attributes[:'contentUri']
102
+
103
+
104
+ end
105
+
106
+
107
+ if attributes.has_key?(:'contentType')
108
+
109
+
110
+ self.content_type = attributes[:'contentType']
111
+
112
+
113
+ end
114
+
115
+
116
+ if attributes.has_key?(:'contentLength')
117
+
118
+
119
+ self.content_length = attributes[:'contentLength']
120
+
121
+
122
+ end
123
+
124
+
125
+ if attributes.has_key?(:'additionalProperties')
126
+
127
+
128
+ self.additional_properties = attributes[:'additionalProperties']
129
+
130
+
131
+ end
132
+
133
+
134
+ end
135
+
136
+ # Show invalid properties with the reasons. Usually used together with valid?
137
+ # @return Array for valid properies with the reasons
138
+ def list_invalid_properties
139
+ invalid_properties = Array.new
140
+
141
+
142
+ return invalid_properties
143
+ end
144
+
145
+ # Check to see if the all the properties in the model are valid
146
+ # @return true if the model is valid
147
+ def valid?
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ end
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
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ # Checks equality by comparing each attribute.
207
+ # @param [Object] Object to be compared
208
+ def ==(o)
209
+ return true if self.equal?(o)
210
+ self.class == o.class &&
211
+ attachment_id == o.attachment_id &&
212
+ name == o.name &&
213
+ content_uri == o.content_uri &&
214
+ content_type == o.content_type &&
215
+ content_length == o.content_length &&
216
+ additional_properties == o.additional_properties
217
+ end
218
+
219
+ # @see the `==` method
220
+ # @param [Object] Object to be compared
221
+ def eql?(o)
222
+ self == o
223
+ end
224
+
225
+ # Calculates hash code according to all attributes.
226
+ # @return [Fixnum] Hash code
227
+ def hash
228
+ [attachment_id, name, content_uri, content_type, content_length, additional_properties].hash
229
+ end
230
+
231
+ # build the object from hash
232
+ def build_from_hash(attributes)
233
+ return nil unless attributes.is_a?(Hash)
234
+ self.class.swagger_types.each_pair do |key, type|
235
+ if type =~ /^Array<(.*)>/i
236
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
237
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
238
+ else
239
+ #TODO show warning in debug mode
240
+ end
241
+ elsif !attributes[self.class.attribute_map[key]].nil?
242
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
243
+ else
244
+ # data not found in attributes(hash), not an issue as the data can be optional
245
+ end
246
+ end
247
+
248
+ self
249
+ end
250
+
251
+ def _deserialize(type, value)
252
+ case type.to_sym
253
+ when :DateTime
254
+ DateTime.parse(value)
255
+ when :Date
256
+ Date.parse(value)
257
+ when :String
258
+ value.to_s
259
+ when :Integer
260
+ value.to_i
261
+ when :Float
262
+ value.to_f
263
+ when :BOOLEAN
264
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
265
+ true
266
+ else
267
+ false
268
+ end
269
+ when :Object
270
+ # generic object (usually a Hash), return directly
271
+ value
272
+ when /\AArray<(?<inner_type>.+)>\z/
273
+ inner_type = Regexp.last_match[:inner_type]
274
+ value.map { |v| _deserialize(inner_type, v) }
275
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
276
+ k_type = Regexp.last_match[:k_type]
277
+ v_type = Regexp.last_match[:v_type]
278
+ {}.tap do |hash|
279
+ value.each do |k, v|
280
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
281
+ end
282
+ end
283
+ else # model
284
+ _model = Object.const_get("PureCloud").const_get(type).new
285
+ _model.build_from_hash(value)
286
+ end
287
+ end
288
+
289
+ def to_s
290
+ to_hash.to_s
291
+ end
292
+
293
+ # to_body is an alias to to_body (backward compatibility))
294
+ def to_body
295
+ to_hash
296
+ end
297
+
298
+ # return the object in the form of hash
299
+ def to_hash
300
+ hash = {}
301
+ self.class.attribute_map.each_pair do |attr, param|
302
+ value = self.send(attr)
303
+ next if value.nil?
304
+ hash[param] = _to_hash(value)
305
+ end
306
+ hash
307
+ end
308
+
309
+ # Method to output non-array value in the form of hash
310
+ # For object, use to_hash. Otherwise, just return the value
311
+ def _to_hash(value)
312
+ if value.is_a?(Array)
313
+ value.compact.map{ |v| _to_hash(v) }
314
+ elsif value.is_a?(Hash)
315
+ {}.tap do |hash|
316
+ value.each { |k, v| hash[k] = _to_hash(v) }
317
+ end
318
+ elsif value.respond_to? :to_hash
319
+ value.to_hash
320
+ else
321
+ value
322
+ end
323
+ end
324
+
325
+ end
326
+ end