sendmux-mailbox 1.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 (139) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +3 -0
  4. data/lib/sendmux/mailbox/client.rb +34 -0
  5. data/lib/sendmux/mailbox/version.rb +7 -0
  6. data/lib/sendmux/mailbox.rb +12 -0
  7. data/lib/sendmux_mailbox_generated/api/mailbox_api_api.rb +3226 -0
  8. data/lib/sendmux_mailbox_generated/api_client.rb +441 -0
  9. data/lib/sendmux_mailbox_generated/api_error.rb +58 -0
  10. data/lib/sendmux_mailbox_generated/api_model_base.rb +88 -0
  11. data/lib/sendmux_mailbox_generated/configuration.rb +393 -0
  12. data/lib/sendmux_mailbox_generated/models/api_error_detail.rb +219 -0
  13. data/lib/sendmux_mailbox_generated/models/api_error_error.rb +275 -0
  14. data/lib/sendmux_mailbox_generated/models/api_error_meta.rb +164 -0
  15. data/lib/sendmux_mailbox_generated/models/api_error_response.rb +216 -0
  16. data/lib/sendmux_mailbox_generated/models/batch_delete_mailbox_messages_body.rb +204 -0
  17. data/lib/sendmux_mailbox_generated/models/batch_update_mailbox_messages_body.rb +224 -0
  18. data/lib/sendmux_mailbox_generated/models/create_mailbox_folder_body.rb +183 -0
  19. data/lib/sendmux_mailbox_generated/models/cursor_pagination.rb +173 -0
  20. data/lib/sendmux_mailbox_generated/models/mailbox.rb +284 -0
  21. data/lib/sendmux_mailbox_generated/models/mailbox_address.rb +176 -0
  22. data/lib/sendmux_mailbox_generated/models/mailbox_attachment.rb +248 -0
  23. data/lib/sendmux_mailbox_generated/models/mailbox_attachment_upload_result.rb +243 -0
  24. data/lib/sendmux_mailbox_generated/models/mailbox_attachment_upload_result_response.rb +223 -0
  25. data/lib/sendmux_mailbox_generated/models/mailbox_batch_delete_messages_result.rb +248 -0
  26. data/lib/sendmux_mailbox_generated/models/mailbox_batch_delete_messages_result_response.rb +223 -0
  27. data/lib/sendmux_mailbox_generated/models/mailbox_batch_get_body.rb +363 -0
  28. data/lib/sendmux_mailbox_generated/models/mailbox_batch_get_item.rb +188 -0
  29. data/lib/sendmux_mailbox_generated/models/mailbox_batch_get_result.rb +220 -0
  30. data/lib/sendmux_mailbox_generated/models/mailbox_batch_get_result_response.rb +223 -0
  31. data/lib/sendmux_mailbox_generated/models/mailbox_batch_get_result_states.rb +150 -0
  32. data/lib/sendmux_mailbox_generated/models/mailbox_batch_message_failure.rb +216 -0
  33. data/lib/sendmux_mailbox_generated/models/mailbox_batch_message_states.rb +162 -0
  34. data/lib/sendmux_mailbox_generated/models/mailbox_batch_update_messages_result.rb +248 -0
  35. data/lib/sendmux_mailbox_generated/models/mailbox_batch_update_messages_result_response.rb +223 -0
  36. data/lib/sendmux_mailbox_generated/models/mailbox_changes.rb +297 -0
  37. data/lib/sendmux_mailbox_generated/models/mailbox_changes_response.rb +223 -0
  38. data/lib/sendmux_mailbox_generated/models/mailbox_content_headers.rb +214 -0
  39. data/lib/sendmux_mailbox_generated/models/mailbox_content_headers_full_inner.rb +190 -0
  40. data/lib/sendmux_mailbox_generated/models/mailbox_content_headers_selected.rb +234 -0
  41. data/lib/sendmux_mailbox_generated/models/mailbox_folder.rb +307 -0
  42. data/lib/sendmux_mailbox_generated/models/mailbox_folder_cursor_list_response.rb +251 -0
  43. data/lib/sendmux_mailbox_generated/models/mailbox_folder_deleted_response.rb +223 -0
  44. data/lib/sendmux_mailbox_generated/models/mailbox_folder_deleted_response_all_of_data.rb +190 -0
  45. data/lib/sendmux_mailbox_generated/models/mailbox_folder_query_changes.rb +270 -0
  46. data/lib/sendmux_mailbox_generated/models/mailbox_folder_query_changes_added_inner.rb +190 -0
  47. data/lib/sendmux_mailbox_generated/models/mailbox_folder_query_changes_response.rb +223 -0
  48. data/lib/sendmux_mailbox_generated/models/mailbox_folder_response.rb +223 -0
  49. data/lib/sendmux_mailbox_generated/models/mailbox_get_changes200_response.rb +103 -0
  50. data/lib/sendmux_mailbox_generated/models/mailbox_identity.rb +352 -0
  51. data/lib/sendmux_mailbox_generated/models/mailbox_identity_cursor_list_response.rb +251 -0
  52. data/lib/sendmux_mailbox_generated/models/mailbox_identity_response.rb +223 -0
  53. data/lib/sendmux_mailbox_generated/models/mailbox_me.rb +301 -0
  54. data/lib/sendmux_mailbox_generated/models/mailbox_me_item_response.rb +223 -0
  55. data/lib/sendmux_mailbox_generated/models/mailbox_message.rb +515 -0
  56. data/lib/sendmux_mailbox_generated/models/mailbox_message_content.rb +348 -0
  57. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_body.rb +327 -0
  58. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_dates.rb +162 -0
  59. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_participants.rb +276 -0
  60. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_response.rb +223 -0
  61. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_response_all_of_data.rb +355 -0
  62. data/lib/sendmux_mailbox_generated/models/mailbox_message_content_states.rb +176 -0
  63. data/lib/sendmux_mailbox_generated/models/mailbox_message_count.rb +176 -0
  64. data/lib/sendmux_mailbox_generated/models/mailbox_message_count_response.rb +223 -0
  65. data/lib/sendmux_mailbox_generated/models/mailbox_message_deleted_response.rb +223 -0
  66. data/lib/sendmux_mailbox_generated/models/mailbox_message_detail_response.rb +223 -0
  67. data/lib/sendmux_mailbox_generated/models/mailbox_message_flags.rb +242 -0
  68. data/lib/sendmux_mailbox_generated/models/mailbox_message_query_changes.rb +270 -0
  69. data/lib/sendmux_mailbox_generated/models/mailbox_message_query_changes_response.rb +223 -0
  70. data/lib/sendmux_mailbox_generated/models/mailbox_message_summary.rb +456 -0
  71. data/lib/sendmux_mailbox_generated/models/mailbox_message_summary_cursor_list_response.rb +251 -0
  72. data/lib/sendmux_mailbox_generated/models/mailbox_message_summary_from.rb +183 -0
  73. data/lib/sendmux_mailbox_generated/models/mailbox_quota.rb +359 -0
  74. data/lib/sendmux_mailbox_generated/models/mailbox_quota_cursor_list_response.rb +251 -0
  75. data/lib/sendmux_mailbox_generated/models/mailbox_raw_body.rb +279 -0
  76. data/lib/sendmux_mailbox_generated/models/mailbox_raw_body_body.rb +200 -0
  77. data/lib/sendmux_mailbox_generated/models/mailbox_raw_body_response.rb +223 -0
  78. data/lib/sendmux_mailbox_generated/models/mailbox_raw_body_response_all_of_data.rb +286 -0
  79. data/lib/sendmux_mailbox_generated/models/mailbox_realtime_event.rb +380 -0
  80. data/lib/sendmux_mailbox_generated/models/mailbox_realtime_message.rb +529 -0
  81. data/lib/sendmux_mailbox_generated/models/mailbox_realtime_message_all_of_body.rb +214 -0
  82. data/lib/sendmux_mailbox_generated/models/mailbox_search_snippet.rb +190 -0
  83. data/lib/sendmux_mailbox_generated/models/mailbox_search_snippets_result.rb +206 -0
  84. data/lib/sendmux_mailbox_generated/models/mailbox_search_snippets_result_response.rb +223 -0
  85. data/lib/sendmux_mailbox_generated/models/mailbox_send_result_response.rb +223 -0
  86. data/lib/sendmux_mailbox_generated/models/mailbox_send_scope.rb +213 -0
  87. data/lib/sendmux_mailbox_generated/models/mailbox_session.rb +294 -0
  88. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities.rb +346 -0
  89. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_attachments.rb +294 -0
  90. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_folders.rb +320 -0
  91. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_identities.rb +268 -0
  92. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_messages.rb +516 -0
  93. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_quotas.rb +242 -0
  94. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_submissions.rb +242 -0
  95. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_sync.rb +222 -0
  96. data/lib/sendmux_mailbox_generated/models/mailbox_session_capabilities_threads.rb +268 -0
  97. data/lib/sendmux_mailbox_generated/models/mailbox_session_endpoints.rb +334 -0
  98. data/lib/sendmux_mailbox_generated/models/mailbox_session_gated.rb +451 -0
  99. data/lib/sendmux_mailbox_generated/models/mailbox_session_limits.rb +398 -0
  100. data/lib/sendmux_mailbox_generated/models/mailbox_session_mailbox.rb +203 -0
  101. data/lib/sendmux_mailbox_generated/models/mailbox_session_response.rb +223 -0
  102. data/lib/sendmux_mailbox_generated/models/mailbox_session_states.rb +294 -0
  103. data/lib/sendmux_mailbox_generated/models/mailbox_submission.rb +321 -0
  104. data/lib/sendmux_mailbox_generated/models/mailbox_submission_cursor_list_response.rb +251 -0
  105. data/lib/sendmux_mailbox_generated/models/mailbox_submission_delivery_status.rb +200 -0
  106. data/lib/sendmux_mailbox_generated/models/mailbox_submission_envelope.rb +178 -0
  107. data/lib/sendmux_mailbox_generated/models/mailbox_submission_envelope_address.rb +178 -0
  108. data/lib/sendmux_mailbox_generated/models/mailbox_submission_envelope_rcpt_to_inner.rb +185 -0
  109. data/lib/sendmux_mailbox_generated/models/mailbox_submission_response.rb +223 -0
  110. data/lib/sendmux_mailbox_generated/models/mailbox_thread.rb +398 -0
  111. data/lib/sendmux_mailbox_generated/models/mailbox_thread_content_meta.rb +244 -0
  112. data/lib/sendmux_mailbox_generated/models/mailbox_thread_content_meta_states.rb +188 -0
  113. data/lib/sendmux_mailbox_generated/models/mailbox_thread_content_response.rb +251 -0
  114. data/lib/sendmux_mailbox_generated/models/mailbox_thread_content_response_all_of_data.rb +355 -0
  115. data/lib/sendmux_mailbox_generated/models/mailbox_thread_detail_response.rb +223 -0
  116. data/lib/sendmux_mailbox_generated/models/mailbox_thread_summary.rb +363 -0
  117. data/lib/sendmux_mailbox_generated/models/mailbox_thread_summary_cursor_list_response.rb +251 -0
  118. data/lib/sendmux_mailbox_generated/models/mailbox_thread_summary_last_message.rb +463 -0
  119. data/lib/sendmux_mailbox_generated/models/mailbox_thread_summary_states.rb +162 -0
  120. data/lib/sendmux_mailbox_generated/models/mailbox_typed_changes.rb +164 -0
  121. data/lib/sendmux_mailbox_generated/models/mailbox_typed_changes_response.rb +223 -0
  122. data/lib/sendmux_mailbox_generated/models/mailbox_typed_changes_types.rb +192 -0
  123. data/lib/sendmux_mailbox_generated/models/mailbox_usage.rb +192 -0
  124. data/lib/sendmux_mailbox_generated/models/mailbox_usage_resource.rb +408 -0
  125. data/lib/sendmux_mailbox_generated/models/mailbox_usage_response.rb +223 -0
  126. data/lib/sendmux_mailbox_generated/models/mailbox_usage_states.rb +150 -0
  127. data/lib/sendmux_mailbox_generated/models/patch_mailbox_folder_body.rb +166 -0
  128. data/lib/sendmux_mailbox_generated/models/patch_mailbox_message_body.rb +168 -0
  129. data/lib/sendmux_mailbox_generated/models/response_meta.rb +164 -0
  130. data/lib/sendmux_mailbox_generated/models/send_mailbox_message_body.rb +283 -0
  131. data/lib/sendmux_mailbox_generated/models/send_mailbox_message_body_attachments_inner.rb +103 -0
  132. data/lib/sendmux_mailbox_generated/models/send_mailbox_message_body_attachments_inner_any_of.rb +217 -0
  133. data/lib/sendmux_mailbox_generated/models/send_mailbox_message_body_attachments_inner_any_of1.rb +217 -0
  134. data/lib/sendmux_mailbox_generated/models/send_mailbox_message_result.rb +214 -0
  135. data/lib/sendmux_mailbox_generated/models/success_envelope.rb +192 -0
  136. data/lib/sendmux_mailbox_generated/models/update_mailbox_identity_body.rb +216 -0
  137. data/lib/sendmux_mailbox_generated/version.rb +15 -0
  138. data/lib/sendmux_mailbox_generated.rb +166 -0
  139. metadata +255 -0
@@ -0,0 +1,515 @@
1
+ =begin
2
+ #Sendmux API
3
+
4
+ #Programmatic access to your Sendmux email infrastructure.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Sendmux::Mailbox::Generated
17
+ class MailboxMessage < ApiModelBase
18
+ attr_accessor :bcc
19
+
20
+ attr_accessor :cc
21
+
22
+ attr_accessor :flags
23
+
24
+ attr_accessor :folder_ids
25
+
26
+ attr_accessor :from
27
+
28
+ attr_accessor :has_attachments
29
+
30
+ # Message ID
31
+ attr_accessor :id
32
+
33
+ # Active message keywords, including system flags and custom labels.
34
+ attr_accessor :keywords
35
+
36
+ attr_accessor :preview
37
+
38
+ attr_accessor :received_at
39
+
40
+ attr_accessor :sent_at
41
+
42
+ attr_accessor :size_bytes
43
+
44
+ attr_accessor :subject
45
+
46
+ attr_accessor :thread_id
47
+
48
+ attr_accessor :to
49
+
50
+ attr_accessor :attachments
51
+
52
+ attr_accessor :html_body
53
+
54
+ attr_accessor :text_body
55
+
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ :'bcc' => :'bcc',
60
+ :'cc' => :'cc',
61
+ :'flags' => :'flags',
62
+ :'folder_ids' => :'folder_ids',
63
+ :'from' => :'from',
64
+ :'has_attachments' => :'has_attachments',
65
+ :'id' => :'id',
66
+ :'keywords' => :'keywords',
67
+ :'preview' => :'preview',
68
+ :'received_at' => :'received_at',
69
+ :'sent_at' => :'sent_at',
70
+ :'size_bytes' => :'size_bytes',
71
+ :'subject' => :'subject',
72
+ :'thread_id' => :'thread_id',
73
+ :'to' => :'to',
74
+ :'attachments' => :'attachments',
75
+ :'html_body' => :'html_body',
76
+ :'text_body' => :'text_body'
77
+ }
78
+ end
79
+
80
+ # Returns attribute mapping this model knows about
81
+ def self.acceptable_attribute_map
82
+ attribute_map
83
+ end
84
+
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ acceptable_attribute_map.values
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.openapi_types
92
+ {
93
+ :'bcc' => :'Array<MailboxAddress>',
94
+ :'cc' => :'Array<MailboxAddress>',
95
+ :'flags' => :'MailboxMessageFlags',
96
+ :'folder_ids' => :'Array<String>',
97
+ :'from' => :'MailboxMessageSummaryFrom',
98
+ :'has_attachments' => :'Boolean',
99
+ :'id' => :'String',
100
+ :'keywords' => :'Array<String>',
101
+ :'preview' => :'String',
102
+ :'received_at' => :'String',
103
+ :'sent_at' => :'String',
104
+ :'size_bytes' => :'Integer',
105
+ :'subject' => :'String',
106
+ :'thread_id' => :'String',
107
+ :'to' => :'Array<MailboxAddress>',
108
+ :'attachments' => :'Array<MailboxAttachment>',
109
+ :'html_body' => :'String',
110
+ :'text_body' => :'String'
111
+ }
112
+ end
113
+
114
+ # List of attributes with nullable: true
115
+ def self.openapi_nullable
116
+ Set.new([
117
+ :'preview',
118
+ :'received_at',
119
+ :'sent_at',
120
+ :'size_bytes',
121
+ :'subject',
122
+ :'thread_id',
123
+ :'html_body',
124
+ :'text_body'
125
+ ])
126
+ end
127
+
128
+ # List of class defined in allOf (OpenAPI v3)
129
+ def self.openapi_all_of
130
+ [
131
+ :'MailboxMessageSummary'
132
+ ]
133
+ end
134
+
135
+ # Initializes the object
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ def initialize(attributes = {})
138
+ if (!attributes.is_a?(Hash))
139
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Mailbox::Generated::MailboxMessage` initialize method"
140
+ end
141
+
142
+ # check to see if the attribute exists and convert string to symbol for hash key
143
+ acceptable_attribute_map = self.class.acceptable_attribute_map
144
+ attributes = attributes.each_with_object({}) { |(k, v), h|
145
+ if (!acceptable_attribute_map.key?(k.to_sym))
146
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Mailbox::Generated::MailboxMessage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
147
+ end
148
+ h[k.to_sym] = v
149
+ }
150
+
151
+ if attributes.key?(:'bcc')
152
+ if (value = attributes[:'bcc']).is_a?(Array)
153
+ self.bcc = value
154
+ end
155
+ else
156
+ self.bcc = nil
157
+ end
158
+
159
+ if attributes.key?(:'cc')
160
+ if (value = attributes[:'cc']).is_a?(Array)
161
+ self.cc = value
162
+ end
163
+ else
164
+ self.cc = nil
165
+ end
166
+
167
+ if attributes.key?(:'flags')
168
+ self.flags = attributes[:'flags']
169
+ else
170
+ self.flags = nil
171
+ end
172
+
173
+ if attributes.key?(:'folder_ids')
174
+ if (value = attributes[:'folder_ids']).is_a?(Array)
175
+ self.folder_ids = value
176
+ end
177
+ else
178
+ self.folder_ids = nil
179
+ end
180
+
181
+ if attributes.key?(:'from')
182
+ self.from = attributes[:'from']
183
+ else
184
+ self.from = nil
185
+ end
186
+
187
+ if attributes.key?(:'has_attachments')
188
+ self.has_attachments = attributes[:'has_attachments']
189
+ else
190
+ self.has_attachments = nil
191
+ end
192
+
193
+ if attributes.key?(:'id')
194
+ self.id = attributes[:'id']
195
+ else
196
+ self.id = nil
197
+ end
198
+
199
+ if attributes.key?(:'keywords')
200
+ if (value = attributes[:'keywords']).is_a?(Array)
201
+ self.keywords = value
202
+ end
203
+ else
204
+ self.keywords = nil
205
+ end
206
+
207
+ if attributes.key?(:'preview')
208
+ self.preview = attributes[:'preview']
209
+ else
210
+ self.preview = nil
211
+ end
212
+
213
+ if attributes.key?(:'received_at')
214
+ self.received_at = attributes[:'received_at']
215
+ else
216
+ self.received_at = nil
217
+ end
218
+
219
+ if attributes.key?(:'sent_at')
220
+ self.sent_at = attributes[:'sent_at']
221
+ else
222
+ self.sent_at = nil
223
+ end
224
+
225
+ if attributes.key?(:'size_bytes')
226
+ self.size_bytes = attributes[:'size_bytes']
227
+ else
228
+ self.size_bytes = nil
229
+ end
230
+
231
+ if attributes.key?(:'subject')
232
+ self.subject = attributes[:'subject']
233
+ else
234
+ self.subject = nil
235
+ end
236
+
237
+ if attributes.key?(:'thread_id')
238
+ self.thread_id = attributes[:'thread_id']
239
+ else
240
+ self.thread_id = nil
241
+ end
242
+
243
+ if attributes.key?(:'to')
244
+ if (value = attributes[:'to']).is_a?(Array)
245
+ self.to = value
246
+ end
247
+ else
248
+ self.to = nil
249
+ end
250
+
251
+ if attributes.key?(:'attachments')
252
+ if (value = attributes[:'attachments']).is_a?(Array)
253
+ self.attachments = value
254
+ end
255
+ else
256
+ self.attachments = nil
257
+ end
258
+
259
+ if attributes.key?(:'html_body')
260
+ self.html_body = attributes[:'html_body']
261
+ else
262
+ self.html_body = nil
263
+ end
264
+
265
+ if attributes.key?(:'text_body')
266
+ self.text_body = attributes[:'text_body']
267
+ else
268
+ self.text_body = nil
269
+ end
270
+ end
271
+
272
+ # Show invalid properties with the reasons. Usually used together with valid?
273
+ # @return Array for valid properties with the reasons
274
+ def list_invalid_properties
275
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
276
+ invalid_properties = Array.new
277
+ if @bcc.nil?
278
+ invalid_properties.push('invalid value for "bcc", bcc cannot be nil.')
279
+ end
280
+
281
+ if @cc.nil?
282
+ invalid_properties.push('invalid value for "cc", cc cannot be nil.')
283
+ end
284
+
285
+ if @flags.nil?
286
+ invalid_properties.push('invalid value for "flags", flags cannot be nil.')
287
+ end
288
+
289
+ if @folder_ids.nil?
290
+ invalid_properties.push('invalid value for "folder_ids", folder_ids cannot be nil.')
291
+ end
292
+
293
+ if @from.nil?
294
+ invalid_properties.push('invalid value for "from", from cannot be nil.')
295
+ end
296
+
297
+ if @has_attachments.nil?
298
+ invalid_properties.push('invalid value for "has_attachments", has_attachments cannot be nil.')
299
+ end
300
+
301
+ if @id.nil?
302
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
303
+ end
304
+
305
+ if @keywords.nil?
306
+ invalid_properties.push('invalid value for "keywords", keywords cannot be nil.')
307
+ end
308
+
309
+ if @to.nil?
310
+ invalid_properties.push('invalid value for "to", to cannot be nil.')
311
+ end
312
+
313
+ if @attachments.nil?
314
+ invalid_properties.push('invalid value for "attachments", attachments cannot be nil.')
315
+ end
316
+
317
+ invalid_properties
318
+ end
319
+
320
+ # Check to see if the all the properties in the model are valid
321
+ # @return true if the model is valid
322
+ def valid?
323
+ warn '[DEPRECATED] the `valid?` method is obsolete'
324
+ return false if @bcc.nil?
325
+ return false if @cc.nil?
326
+ return false if @flags.nil?
327
+ return false if @folder_ids.nil?
328
+ return false if @from.nil?
329
+ return false if @has_attachments.nil?
330
+ return false if @id.nil?
331
+ return false if @keywords.nil?
332
+ return false if @to.nil?
333
+ return false if @attachments.nil?
334
+ true
335
+ end
336
+
337
+ # Custom attribute writer method with validation
338
+ # @param [Object] bcc Value to be assigned
339
+ def bcc=(bcc)
340
+ if bcc.nil?
341
+ fail ArgumentError, 'bcc cannot be nil'
342
+ end
343
+
344
+ @bcc = bcc
345
+ end
346
+
347
+ # Custom attribute writer method with validation
348
+ # @param [Object] cc Value to be assigned
349
+ def cc=(cc)
350
+ if cc.nil?
351
+ fail ArgumentError, 'cc cannot be nil'
352
+ end
353
+
354
+ @cc = cc
355
+ end
356
+
357
+ # Custom attribute writer method with validation
358
+ # @param [Object] flags Value to be assigned
359
+ def flags=(flags)
360
+ if flags.nil?
361
+ fail ArgumentError, 'flags cannot be nil'
362
+ end
363
+
364
+ @flags = flags
365
+ end
366
+
367
+ # Custom attribute writer method with validation
368
+ # @param [Object] folder_ids Value to be assigned
369
+ def folder_ids=(folder_ids)
370
+ if folder_ids.nil?
371
+ fail ArgumentError, 'folder_ids cannot be nil'
372
+ end
373
+
374
+ @folder_ids = folder_ids
375
+ end
376
+
377
+ # Custom attribute writer method with validation
378
+ # @param [Object] from Value to be assigned
379
+ def from=(from)
380
+ if from.nil?
381
+ fail ArgumentError, 'from cannot be nil'
382
+ end
383
+
384
+ @from = from
385
+ end
386
+
387
+ # Custom attribute writer method with validation
388
+ # @param [Object] has_attachments Value to be assigned
389
+ def has_attachments=(has_attachments)
390
+ if has_attachments.nil?
391
+ fail ArgumentError, 'has_attachments cannot be nil'
392
+ end
393
+
394
+ @has_attachments = has_attachments
395
+ end
396
+
397
+ # Custom attribute writer method with validation
398
+ # @param [Object] id Value to be assigned
399
+ def id=(id)
400
+ if id.nil?
401
+ fail ArgumentError, 'id cannot be nil'
402
+ end
403
+
404
+ @id = id
405
+ end
406
+
407
+ # Custom attribute writer method with validation
408
+ # @param [Object] keywords Value to be assigned
409
+ def keywords=(keywords)
410
+ if keywords.nil?
411
+ fail ArgumentError, 'keywords cannot be nil'
412
+ end
413
+
414
+ @keywords = keywords
415
+ end
416
+
417
+ # Custom attribute writer method with validation
418
+ # @param [Object] to Value to be assigned
419
+ def to=(to)
420
+ if to.nil?
421
+ fail ArgumentError, 'to cannot be nil'
422
+ end
423
+
424
+ @to = to
425
+ end
426
+
427
+ # Custom attribute writer method with validation
428
+ # @param [Object] attachments Value to be assigned
429
+ def attachments=(attachments)
430
+ if attachments.nil?
431
+ fail ArgumentError, 'attachments cannot be nil'
432
+ end
433
+
434
+ @attachments = attachments
435
+ end
436
+
437
+ # Checks equality by comparing each attribute.
438
+ # @param [Object] Object to be compared
439
+ def ==(o)
440
+ return true if self.equal?(o)
441
+ self.class == o.class &&
442
+ bcc == o.bcc &&
443
+ cc == o.cc &&
444
+ flags == o.flags &&
445
+ folder_ids == o.folder_ids &&
446
+ from == o.from &&
447
+ has_attachments == o.has_attachments &&
448
+ id == o.id &&
449
+ keywords == o.keywords &&
450
+ preview == o.preview &&
451
+ received_at == o.received_at &&
452
+ sent_at == o.sent_at &&
453
+ size_bytes == o.size_bytes &&
454
+ subject == o.subject &&
455
+ thread_id == o.thread_id &&
456
+ to == o.to &&
457
+ attachments == o.attachments &&
458
+ html_body == o.html_body &&
459
+ text_body == o.text_body
460
+ end
461
+
462
+ # @see the `==` method
463
+ # @param [Object] Object to be compared
464
+ def eql?(o)
465
+ self == o
466
+ end
467
+
468
+ # Calculates hash code according to all attributes.
469
+ # @return [Integer] Hash code
470
+ def hash
471
+ [bcc, cc, flags, folder_ids, from, has_attachments, id, keywords, preview, received_at, sent_at, size_bytes, subject, thread_id, to, attachments, html_body, text_body].hash
472
+ end
473
+
474
+ # Builds the object from hash
475
+ # @param [Hash] attributes Model attributes in the form of hash
476
+ # @return [Object] Returns the model itself
477
+ def self.build_from_hash(attributes)
478
+ return nil unless attributes.is_a?(Hash)
479
+ attributes = attributes.transform_keys(&:to_sym)
480
+ transformed_hash = {}
481
+ openapi_types.each_pair do |key, type|
482
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
483
+ transformed_hash["#{key}"] = nil
484
+ elsif type =~ /\AArray<(.*)>/i
485
+ # check to ensure the input is an array given that the attribute
486
+ # is documented as an array but the input is not
487
+ if attributes[attribute_map[key]].is_a?(Array)
488
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
489
+ end
490
+ elsif !attributes[attribute_map[key]].nil?
491
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
492
+ end
493
+ end
494
+ new(transformed_hash)
495
+ end
496
+
497
+ # Returns the object in the form of hash
498
+ # @return [Hash] Returns the object in the form of hash
499
+ def to_hash
500
+ hash = {}
501
+ self.class.attribute_map.each_pair do |attr, param|
502
+ value = self.send(attr)
503
+ if value.nil?
504
+ is_nullable = self.class.openapi_nullable.include?(attr)
505
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
506
+ end
507
+
508
+ hash[param] = _to_hash(value)
509
+ end
510
+ hash
511
+ end
512
+
513
+ end
514
+
515
+ end