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,463 @@
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 MailboxThreadSummaryLastMessage < 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
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'bcc' => :'bcc',
54
+ :'cc' => :'cc',
55
+ :'flags' => :'flags',
56
+ :'folder_ids' => :'folder_ids',
57
+ :'from' => :'from',
58
+ :'has_attachments' => :'has_attachments',
59
+ :'id' => :'id',
60
+ :'keywords' => :'keywords',
61
+ :'preview' => :'preview',
62
+ :'received_at' => :'received_at',
63
+ :'sent_at' => :'sent_at',
64
+ :'size_bytes' => :'size_bytes',
65
+ :'subject' => :'subject',
66
+ :'thread_id' => :'thread_id',
67
+ :'to' => :'to'
68
+ }
69
+ end
70
+
71
+ # Returns attribute mapping this model knows about
72
+ def self.acceptable_attribute_map
73
+ attribute_map
74
+ end
75
+
76
+ # Returns all the JSON keys this model knows about
77
+ def self.acceptable_attributes
78
+ acceptable_attribute_map.values
79
+ end
80
+
81
+ # Attribute type mapping.
82
+ def self.openapi_types
83
+ {
84
+ :'bcc' => :'Array<MailboxAddress>',
85
+ :'cc' => :'Array<MailboxAddress>',
86
+ :'flags' => :'MailboxMessageFlags',
87
+ :'folder_ids' => :'Array<String>',
88
+ :'from' => :'MailboxMessageSummaryFrom',
89
+ :'has_attachments' => :'Boolean',
90
+ :'id' => :'String',
91
+ :'keywords' => :'Array<String>',
92
+ :'preview' => :'String',
93
+ :'received_at' => :'String',
94
+ :'sent_at' => :'String',
95
+ :'size_bytes' => :'Integer',
96
+ :'subject' => :'String',
97
+ :'thread_id' => :'String',
98
+ :'to' => :'Array<MailboxAddress>'
99
+ }
100
+ end
101
+
102
+ # List of attributes with nullable: true
103
+ def self.openapi_nullable
104
+ Set.new([
105
+ :'preview',
106
+ :'received_at',
107
+ :'sent_at',
108
+ :'size_bytes',
109
+ :'subject',
110
+ :'thread_id',
111
+ ])
112
+ end
113
+
114
+ # List of class defined in allOf (OpenAPI v3)
115
+ def self.openapi_all_of
116
+ [
117
+ :'MailboxMessageSummary'
118
+ ]
119
+ end
120
+
121
+ # Initializes the object
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ def initialize(attributes = {})
124
+ if (!attributes.is_a?(Hash))
125
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Mailbox::Generated::MailboxThreadSummaryLastMessage` initialize method"
126
+ end
127
+
128
+ # check to see if the attribute exists and convert string to symbol for hash key
129
+ acceptable_attribute_map = self.class.acceptable_attribute_map
130
+ attributes = attributes.each_with_object({}) { |(k, v), h|
131
+ if (!acceptable_attribute_map.key?(k.to_sym))
132
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Mailbox::Generated::MailboxThreadSummaryLastMessage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
133
+ end
134
+ h[k.to_sym] = v
135
+ }
136
+
137
+ if attributes.key?(:'bcc')
138
+ if (value = attributes[:'bcc']).is_a?(Array)
139
+ self.bcc = value
140
+ end
141
+ else
142
+ self.bcc = nil
143
+ end
144
+
145
+ if attributes.key?(:'cc')
146
+ if (value = attributes[:'cc']).is_a?(Array)
147
+ self.cc = value
148
+ end
149
+ else
150
+ self.cc = nil
151
+ end
152
+
153
+ if attributes.key?(:'flags')
154
+ self.flags = attributes[:'flags']
155
+ else
156
+ self.flags = nil
157
+ end
158
+
159
+ if attributes.key?(:'folder_ids')
160
+ if (value = attributes[:'folder_ids']).is_a?(Array)
161
+ self.folder_ids = value
162
+ end
163
+ else
164
+ self.folder_ids = nil
165
+ end
166
+
167
+ if attributes.key?(:'from')
168
+ self.from = attributes[:'from']
169
+ else
170
+ self.from = nil
171
+ end
172
+
173
+ if attributes.key?(:'has_attachments')
174
+ self.has_attachments = attributes[:'has_attachments']
175
+ else
176
+ self.has_attachments = nil
177
+ end
178
+
179
+ if attributes.key?(:'id')
180
+ self.id = attributes[:'id']
181
+ else
182
+ self.id = nil
183
+ end
184
+
185
+ if attributes.key?(:'keywords')
186
+ if (value = attributes[:'keywords']).is_a?(Array)
187
+ self.keywords = value
188
+ end
189
+ else
190
+ self.keywords = nil
191
+ end
192
+
193
+ if attributes.key?(:'preview')
194
+ self.preview = attributes[:'preview']
195
+ else
196
+ self.preview = nil
197
+ end
198
+
199
+ if attributes.key?(:'received_at')
200
+ self.received_at = attributes[:'received_at']
201
+ else
202
+ self.received_at = nil
203
+ end
204
+
205
+ if attributes.key?(:'sent_at')
206
+ self.sent_at = attributes[:'sent_at']
207
+ else
208
+ self.sent_at = nil
209
+ end
210
+
211
+ if attributes.key?(:'size_bytes')
212
+ self.size_bytes = attributes[:'size_bytes']
213
+ else
214
+ self.size_bytes = nil
215
+ end
216
+
217
+ if attributes.key?(:'subject')
218
+ self.subject = attributes[:'subject']
219
+ else
220
+ self.subject = nil
221
+ end
222
+
223
+ if attributes.key?(:'thread_id')
224
+ self.thread_id = attributes[:'thread_id']
225
+ else
226
+ self.thread_id = nil
227
+ end
228
+
229
+ if attributes.key?(:'to')
230
+ if (value = attributes[:'to']).is_a?(Array)
231
+ self.to = value
232
+ end
233
+ else
234
+ self.to = nil
235
+ end
236
+ end
237
+
238
+ # Show invalid properties with the reasons. Usually used together with valid?
239
+ # @return Array for valid properties with the reasons
240
+ def list_invalid_properties
241
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
242
+ invalid_properties = Array.new
243
+ if @bcc.nil?
244
+ invalid_properties.push('invalid value for "bcc", bcc cannot be nil.')
245
+ end
246
+
247
+ if @cc.nil?
248
+ invalid_properties.push('invalid value for "cc", cc cannot be nil.')
249
+ end
250
+
251
+ if @flags.nil?
252
+ invalid_properties.push('invalid value for "flags", flags cannot be nil.')
253
+ end
254
+
255
+ if @folder_ids.nil?
256
+ invalid_properties.push('invalid value for "folder_ids", folder_ids cannot be nil.')
257
+ end
258
+
259
+ if @from.nil?
260
+ invalid_properties.push('invalid value for "from", from cannot be nil.')
261
+ end
262
+
263
+ if @has_attachments.nil?
264
+ invalid_properties.push('invalid value for "has_attachments", has_attachments cannot be nil.')
265
+ end
266
+
267
+ if @id.nil?
268
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
269
+ end
270
+
271
+ if @keywords.nil?
272
+ invalid_properties.push('invalid value for "keywords", keywords cannot be nil.')
273
+ end
274
+
275
+ if @to.nil?
276
+ invalid_properties.push('invalid value for "to", to cannot be nil.')
277
+ end
278
+
279
+ invalid_properties
280
+ end
281
+
282
+ # Check to see if the all the properties in the model are valid
283
+ # @return true if the model is valid
284
+ def valid?
285
+ warn '[DEPRECATED] the `valid?` method is obsolete'
286
+ return false if @bcc.nil?
287
+ return false if @cc.nil?
288
+ return false if @flags.nil?
289
+ return false if @folder_ids.nil?
290
+ return false if @from.nil?
291
+ return false if @has_attachments.nil?
292
+ return false if @id.nil?
293
+ return false if @keywords.nil?
294
+ return false if @to.nil?
295
+ true
296
+ end
297
+
298
+ # Custom attribute writer method with validation
299
+ # @param [Object] bcc Value to be assigned
300
+ def bcc=(bcc)
301
+ if bcc.nil?
302
+ fail ArgumentError, 'bcc cannot be nil'
303
+ end
304
+
305
+ @bcc = bcc
306
+ end
307
+
308
+ # Custom attribute writer method with validation
309
+ # @param [Object] cc Value to be assigned
310
+ def cc=(cc)
311
+ if cc.nil?
312
+ fail ArgumentError, 'cc cannot be nil'
313
+ end
314
+
315
+ @cc = cc
316
+ end
317
+
318
+ # Custom attribute writer method with validation
319
+ # @param [Object] flags Value to be assigned
320
+ def flags=(flags)
321
+ if flags.nil?
322
+ fail ArgumentError, 'flags cannot be nil'
323
+ end
324
+
325
+ @flags = flags
326
+ end
327
+
328
+ # Custom attribute writer method with validation
329
+ # @param [Object] folder_ids Value to be assigned
330
+ def folder_ids=(folder_ids)
331
+ if folder_ids.nil?
332
+ fail ArgumentError, 'folder_ids cannot be nil'
333
+ end
334
+
335
+ @folder_ids = folder_ids
336
+ end
337
+
338
+ # Custom attribute writer method with validation
339
+ # @param [Object] from Value to be assigned
340
+ def from=(from)
341
+ if from.nil?
342
+ fail ArgumentError, 'from cannot be nil'
343
+ end
344
+
345
+ @from = from
346
+ end
347
+
348
+ # Custom attribute writer method with validation
349
+ # @param [Object] has_attachments Value to be assigned
350
+ def has_attachments=(has_attachments)
351
+ if has_attachments.nil?
352
+ fail ArgumentError, 'has_attachments cannot be nil'
353
+ end
354
+
355
+ @has_attachments = has_attachments
356
+ end
357
+
358
+ # Custom attribute writer method with validation
359
+ # @param [Object] id Value to be assigned
360
+ def id=(id)
361
+ if id.nil?
362
+ fail ArgumentError, 'id cannot be nil'
363
+ end
364
+
365
+ @id = id
366
+ end
367
+
368
+ # Custom attribute writer method with validation
369
+ # @param [Object] keywords Value to be assigned
370
+ def keywords=(keywords)
371
+ if keywords.nil?
372
+ fail ArgumentError, 'keywords cannot be nil'
373
+ end
374
+
375
+ @keywords = keywords
376
+ end
377
+
378
+ # Custom attribute writer method with validation
379
+ # @param [Object] to Value to be assigned
380
+ def to=(to)
381
+ if to.nil?
382
+ fail ArgumentError, 'to cannot be nil'
383
+ end
384
+
385
+ @to = to
386
+ end
387
+
388
+ # Checks equality by comparing each attribute.
389
+ # @param [Object] Object to be compared
390
+ def ==(o)
391
+ return true if self.equal?(o)
392
+ self.class == o.class &&
393
+ bcc == o.bcc &&
394
+ cc == o.cc &&
395
+ flags == o.flags &&
396
+ folder_ids == o.folder_ids &&
397
+ from == o.from &&
398
+ has_attachments == o.has_attachments &&
399
+ id == o.id &&
400
+ keywords == o.keywords &&
401
+ preview == o.preview &&
402
+ received_at == o.received_at &&
403
+ sent_at == o.sent_at &&
404
+ size_bytes == o.size_bytes &&
405
+ subject == o.subject &&
406
+ thread_id == o.thread_id &&
407
+ to == o.to
408
+ end
409
+
410
+ # @see the `==` method
411
+ # @param [Object] Object to be compared
412
+ def eql?(o)
413
+ self == o
414
+ end
415
+
416
+ # Calculates hash code according to all attributes.
417
+ # @return [Integer] Hash code
418
+ def hash
419
+ [bcc, cc, flags, folder_ids, from, has_attachments, id, keywords, preview, received_at, sent_at, size_bytes, subject, thread_id, to].hash
420
+ end
421
+
422
+ # Builds the object from hash
423
+ # @param [Hash] attributes Model attributes in the form of hash
424
+ # @return [Object] Returns the model itself
425
+ def self.build_from_hash(attributes)
426
+ return nil unless attributes.is_a?(Hash)
427
+ attributes = attributes.transform_keys(&:to_sym)
428
+ transformed_hash = {}
429
+ openapi_types.each_pair do |key, type|
430
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
431
+ transformed_hash["#{key}"] = nil
432
+ elsif type =~ /\AArray<(.*)>/i
433
+ # check to ensure the input is an array given that the attribute
434
+ # is documented as an array but the input is not
435
+ if attributes[attribute_map[key]].is_a?(Array)
436
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
437
+ end
438
+ elsif !attributes[attribute_map[key]].nil?
439
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
440
+ end
441
+ end
442
+ new(transformed_hash)
443
+ end
444
+
445
+ # Returns the object in the form of hash
446
+ # @return [Hash] Returns the object in the form of hash
447
+ def to_hash
448
+ hash = {}
449
+ self.class.attribute_map.each_pair do |attr, param|
450
+ value = self.send(attr)
451
+ if value.nil?
452
+ is_nullable = self.class.openapi_nullable.include?(attr)
453
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
454
+ end
455
+
456
+ hash[param] = _to_hash(value)
457
+ end
458
+ hash
459
+ end
460
+
461
+ end
462
+
463
+ end
@@ -0,0 +1,162 @@
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 MailboxThreadSummaryStates < ApiModelBase
18
+ attr_accessor :email_state
19
+
20
+ attr_accessor :thread_state
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'email_state' => :'email_state',
26
+ :'thread_state' => :'thread_state'
27
+ }
28
+ end
29
+
30
+ # Returns attribute mapping this model knows about
31
+ def self.acceptable_attribute_map
32
+ attribute_map
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ acceptable_attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'email_state' => :'String',
44
+ :'thread_state' => :'String'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ :'email_state',
52
+ :'thread_state'
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Mailbox::Generated::MailboxThreadSummaryStates` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Mailbox::Generated::MailboxThreadSummaryStates`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'email_state')
73
+ self.email_state = attributes[:'email_state']
74
+ else
75
+ self.email_state = nil
76
+ end
77
+
78
+ if attributes.key?(:'thread_state')
79
+ self.thread_state = attributes[:'thread_state']
80
+ else
81
+ self.thread_state = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ warn '[DEPRECATED] the `valid?` method is obsolete'
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ email_state == o.email_state &&
106
+ thread_state == o.thread_state
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [email_state, thread_state].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ attributes = attributes.transform_keys(&:to_sym)
127
+ transformed_hash = {}
128
+ openapi_types.each_pair do |key, type|
129
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
130
+ transformed_hash["#{key}"] = nil
131
+ elsif type =~ /\AArray<(.*)>/i
132
+ # check to ensure the input is an array given that the attribute
133
+ # is documented as an array but the input is not
134
+ if attributes[attribute_map[key]].is_a?(Array)
135
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
136
+ end
137
+ elsif !attributes[attribute_map[key]].nil?
138
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
139
+ end
140
+ end
141
+ new(transformed_hash)
142
+ end
143
+
144
+ # Returns the object in the form of hash
145
+ # @return [Hash] Returns the object in the form of hash
146
+ def to_hash
147
+ hash = {}
148
+ self.class.attribute_map.each_pair do |attr, param|
149
+ value = self.send(attr)
150
+ if value.nil?
151
+ is_nullable = self.class.openapi_nullable.include?(attr)
152
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
153
+ end
154
+
155
+ hash[param] = _to_hash(value)
156
+ end
157
+ hash
158
+ end
159
+
160
+ end
161
+
162
+ end