aspose_email_cloud 19.12.0 → 20.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +65 -0
  3. data/lib/aspose-email-cloud/api/email_api.rb +158 -1
  4. data/lib/aspose-email-cloud/models/ai_bcr_parse_ocr_data_rq.rb +230 -0
  5. data/lib/aspose-email-cloud/models/alternate_view.rb +279 -0
  6. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +333 -0
  7. data/lib/aspose-email-cloud/models/associated_person.rb +241 -0
  8. data/lib/aspose-email-cloud/models/attachment.rb +321 -0
  9. data/lib/aspose-email-cloud/models/attachment_base.rb +251 -0
  10. data/lib/aspose-email-cloud/models/base_object.rb +86 -86
  11. data/lib/aspose-email-cloud/models/calendar_dto.rb +554 -0
  12. data/lib/aspose-email-cloud/models/calendar_dto_alternate_rq.rb +265 -0
  13. data/lib/aspose-email-cloud/models/calendar_dto_list.rb +212 -0
  14. data/lib/aspose-email-cloud/models/calendar_reminder.rb +315 -0
  15. data/lib/aspose-email-cloud/models/contact_dto.rb +696 -0
  16. data/lib/aspose-email-cloud/models/contact_dto_list.rb +212 -0
  17. data/lib/aspose-email-cloud/models/contact_photo.rb +228 -0
  18. data/lib/aspose-email-cloud/models/content_type.rb +264 -0
  19. data/lib/aspose-email-cloud/models/content_type_parameter.rb +223 -0
  20. data/lib/aspose-email-cloud/models/customer_event.rb +228 -0
  21. data/lib/aspose-email-cloud/models/email_address.rb +267 -0
  22. data/lib/aspose-email-cloud/models/email_dto.rb +678 -0
  23. data/lib/aspose-email-cloud/models/email_dto_list.rb +212 -0
  24. data/lib/aspose-email-cloud/models/enum_with_custom_of_associated_person_category.rb +227 -0
  25. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +227 -0
  26. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +227 -0
  27. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +227 -0
  28. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +227 -0
  29. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +227 -0
  30. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +227 -0
  31. data/lib/aspose-email-cloud/models/hierarchical_object.rb +101 -101
  32. data/lib/aspose-email-cloud/models/indexed_hierarchical_object.rb +119 -119
  33. data/lib/aspose-email-cloud/models/indexed_primitive_object.rb +117 -117
  34. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +241 -0
  35. data/lib/aspose-email-cloud/models/linked_resource.rb +264 -0
  36. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +211 -0
  37. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +211 -0
  38. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +211 -0
  39. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +211 -0
  40. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +211 -0
  41. data/lib/aspose-email-cloud/models/mail_address.rb +241 -0
  42. data/lib/aspose-email-cloud/models/phone_number.rb +241 -0
  43. data/lib/aspose-email-cloud/models/postal_address.rb +350 -0
  44. data/lib/aspose-email-cloud/models/primitive_object.rb +99 -99
  45. data/lib/aspose-email-cloud/models/reminder_attendee.rb +210 -0
  46. data/lib/aspose-email-cloud/models/reminder_trigger.rb +246 -0
  47. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_model_request_data.rb +75 -0
  48. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +75 -0
  49. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +75 -0
  50. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +75 -0
  51. data/lib/aspose-email-cloud/models/requests/convert_email_request_data.rb +83 -0
  52. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +93 -0
  53. data/lib/aspose-email-cloud/models/requests/get_calendar_model_as_alternate_request_data.rb +91 -0
  54. data/lib/aspose-email-cloud/models/requests/get_calendar_model_list_request_data.rb +85 -0
  55. data/lib/aspose-email-cloud/models/requests/get_calendar_model_request_data.rb +81 -0
  56. data/lib/aspose-email-cloud/models/requests/get_contact_model_list_request_data.rb +87 -0
  57. data/lib/aspose-email-cloud/models/requests/get_contact_model_request_data.rb +88 -0
  58. data/lib/aspose-email-cloud/models/requests/get_email_as_file_request_data.rb +88 -0
  59. data/lib/aspose-email-cloud/models/requests/get_email_model_list_request_data.rb +87 -0
  60. data/lib/aspose-email-cloud/models/requests/get_email_model_request_data.rb +88 -0
  61. data/lib/aspose-email-cloud/models/requests/list_email_messages_request_data.rb +1 -1
  62. data/lib/aspose-email-cloud/models/requests/list_email_models_request_data.rb +105 -0
  63. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +82 -0
  64. data/lib/aspose-email-cloud/models/requests/save_contact_model_request_data.rb +89 -0
  65. data/lib/aspose-email-cloud/models/requests/save_email_model_request_data.rb +89 -0
  66. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +75 -0
  67. data/lib/aspose-email-cloud/models/send_email_model_rq.rb +273 -0
  68. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +222 -0
  69. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +222 -0
  70. data/lib/aspose-email-cloud/models/storage_model_of_email_dto.rb +222 -0
  71. data/lib/aspose-email-cloud/models/storage_model_rq_of_calendar_dto.rb +222 -0
  72. data/lib/aspose-email-cloud/models/storage_model_rq_of_contact_dto.rb +222 -0
  73. data/lib/aspose-email-cloud/models/storage_model_rq_of_email_dto.rb +222 -0
  74. data/lib/aspose-email-cloud/models/url.rb +241 -0
  75. data/lib/aspose-email-cloud/models/value_response.rb +1 -1
  76. data/lib/aspose-email-cloud/version.rb +1 -1
  77. metadata +67 -2
@@ -0,0 +1,267 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="EmailAddress.rb">
3
+ # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a
7
+ # copy of this software and associated documentation files (the "Software"),
8
+ # to deal in the Software without restriction, including without limitation
9
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
+ # and/or sell copies of the Software, and to permit persons to whom the
11
+ # Software is furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ # DEALINGS IN THE SOFTWARE.
23
+ # </summary>
24
+ # ----------------------------------------------------------------------------
25
+
26
+
27
+ require 'date'
28
+
29
+ module AsposeEmailCloud
30
+ # Email address.
31
+ class EmailAddress
32
+ # Address category.
33
+ # @return [EnumWithCustomOfEmailAddressCategory]
34
+ attr_accessor :category
35
+
36
+ # Display name.
37
+ # @return [String]
38
+ attr_accessor :display_name
39
+
40
+ # Defines whether email address is preferred.
41
+ # @return [BOOLEAN]
42
+ attr_accessor :preferred
43
+
44
+ # A routing type for an email.
45
+ # @return [String]
46
+ attr_accessor :routing_type
47
+
48
+ # Email address.
49
+ # @return [String]
50
+ attr_accessor :address
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'category' => :'category',
56
+ :'display_name' => :'displayName',
57
+ :'preferred' => :'preferred',
58
+ :'routing_type' => :'routingType',
59
+ :'address' => :'address'
60
+ }
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.swagger_types
65
+ {
66
+ :'category' => :'EnumWithCustomOfEmailAddressCategory',
67
+ :'display_name' => :'String',
68
+ :'preferred' => :'BOOLEAN',
69
+ :'routing_type' => :'String',
70
+ :'address' => :'String'
71
+ }
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ return unless attributes.is_a?(Hash)
78
+
79
+ # convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
81
+
82
+ if attributes.has_key?(:'category')
83
+ self.category = attributes[:'category']
84
+ end
85
+
86
+ if attributes.has_key?(:'displayName')
87
+ self.display_name = attributes[:'displayName']
88
+ end
89
+
90
+ if attributes.has_key?(:'preferred')
91
+ self.preferred = attributes[:'preferred']
92
+ end
93
+
94
+ if attributes.has_key?(:'routingType')
95
+ self.routing_type = attributes[:'routingType']
96
+ end
97
+
98
+ if attributes.has_key?(:'address')
99
+ self.address = attributes[:'address']
100
+ end
101
+ end
102
+
103
+ # Initializes the object
104
+ # @param [EnumWithCustomOfEmailAddressCategory] category Address category.
105
+ # @param [String] display_name Display name.
106
+ # @param [BOOLEAN] preferred Defines whether email address is preferred.
107
+ # @param [String] routing_type A routing type for an email.
108
+ # @param [String] address Email address.
109
+ def initialize(category=nil, display_name=nil, preferred=nil, routing_type=nil, address=nil)
110
+ self.category = category if category
111
+ self.display_name = display_name if display_name
112
+ self.preferred = preferred if preferred
113
+ self.routing_type = routing_type if routing_type
114
+ self.address = address if address
115
+ end
116
+
117
+ # Show invalid properties with the reasons. Usually used together with valid?
118
+ # @return Array for valid properties with the reasons
119
+ def list_invalid_properties
120
+ invalid_properties = Array.new
121
+ if @preferred.nil?
122
+ invalid_properties.push('invalid value for "preferred", preferred cannot be nil.')
123
+ end
124
+
125
+ invalid_properties
126
+ end
127
+
128
+ # Check to see if the all the properties in the model are valid
129
+ # @return true if the model is valid
130
+ def valid?
131
+ return false if @preferred.nil?
132
+ true
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param [Object] Object to be compared
137
+ def ==(o)
138
+ return true if self.equal?(o)
139
+ self.class == o.class &&
140
+ category == o.category &&
141
+ display_name == o.display_name &&
142
+ preferred == o.preferred &&
143
+ routing_type == o.routing_type &&
144
+ address == o.address
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Fixnum] Hash code
155
+ def hash
156
+ [category, display_name, preferred, routing_type, address].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def build_from_hash(attributes)
163
+ return nil unless attributes.is_a?(Hash)
164
+ self.class.swagger_types.each_pair do |key, type|
165
+ attribute_key = self.class.attribute_map[key]
166
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
167
+ if type =~ /\AArray<(.*)>/i
168
+ # check to ensure the input is an array given that the the attribute
169
+ # is documented as an array but the input is not
170
+ if attributes[attribute_key].is_a?(Array)
171
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
172
+ end
173
+ elsif !attributes[attribute_key].nil?
174
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
175
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
176
+ end
177
+
178
+ self
179
+ end
180
+
181
+ # Deserializes the data based on type
182
+ # @param string type Data type
183
+ # @param string value Value to be deserialized
184
+ # @return [Object] Deserialized data
185
+ def _deserialize(type, value)
186
+ case type.to_sym
187
+ when :DateTime
188
+ DateTime.parse(value)
189
+ when :Date
190
+ Date.parse(value)
191
+ when :String
192
+ value.to_s
193
+ when :Integer
194
+ value.to_i
195
+ when :Float
196
+ value.to_f
197
+ when :BOOLEAN
198
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
199
+ true
200
+ else
201
+ false
202
+ end
203
+ when :Object
204
+ # generic object (usually a Hash), return directly
205
+ value
206
+ when /\AArray<(?<inner_type>.+)>\z/
207
+ inner_type = Regexp.last_match[:inner_type]
208
+ value.map { |v| _deserialize(inner_type, v) }
209
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
210
+ k_type = Regexp.last_match[:k_type]
211
+ v_type = Regexp.last_match[:v_type]
212
+ {}.tap do |hash|
213
+ value.each do |k, v|
214
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
215
+ end
216
+ end
217
+ else # model
218
+ type = value[:type] || type
219
+ temp_model = AsposeEmailCloud.const_get(type).new
220
+ temp_model.build_from_hash(value)
221
+ end
222
+ end
223
+
224
+ # Returns the string representation of the object
225
+ # @return [String] String presentation of the object
226
+ def to_s
227
+ to_hash.to_s
228
+ end
229
+
230
+ # to_body is an alias to to_hash (backward compatibility)
231
+ # @return [Hash] Returns the object in the form of hash
232
+ def to_body
233
+ to_hash
234
+ end
235
+
236
+ # Returns the object in the form of hash
237
+ # @return [Hash] Returns the object in the form of hash
238
+ def to_hash
239
+ hash = {}
240
+ self.class.attribute_map.each_pair do |attr, param|
241
+ value = self.send(attr)
242
+ next if value.nil?
243
+ hash[param] = _to_hash(value)
244
+ end
245
+ hash
246
+ end
247
+
248
+ # Outputs non-array value in the form of hash
249
+ # For object, use to_hash. Otherwise, just return the value
250
+ # @param [Object] value Any valid value
251
+ # @return [Hash] Returns the value in the form of hash
252
+ def _to_hash(value)
253
+ if value.is_a?(Array)
254
+ value.compact.map { |v| _to_hash(v) }
255
+ elsif value.is_a?(Hash)
256
+ {}.tap do |hash|
257
+ value.each { |k, v| hash[k] = _to_hash(v) }
258
+ end
259
+ elsif value.respond_to? :to_hash
260
+ value.to_hash
261
+ else
262
+ value
263
+ end
264
+ end
265
+
266
+ end
267
+ end
@@ -0,0 +1,678 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="EmailDto.rb">
3
+ # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a
7
+ # copy of this software and associated documentation files (the "Software"),
8
+ # to deal in the Software without restriction, including without limitation
9
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
+ # and/or sell copies of the Software, and to permit persons to whom the
11
+ # Software is furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ # DEALINGS IN THE SOFTWARE.
23
+ # </summary>
24
+ # ----------------------------------------------------------------------------
25
+
26
+
27
+ require 'date'
28
+
29
+ module AsposeEmailCloud
30
+ # Email message representation.
31
+ class EmailDto
32
+ # Collection of alternate views of message.
33
+ # @return [Array<AlternateView>]
34
+ attr_accessor :alternate_views
35
+
36
+ # Email message attachments.
37
+ # @return [Array<Attachment>]
38
+ attr_accessor :attachments
39
+
40
+ # BCC recipients.
41
+ # @return [Array<MailAddress>]
42
+ attr_accessor :bcc
43
+
44
+ # Email message body as plain text.
45
+ # @return [String]
46
+ attr_accessor :body
47
+
48
+ # Body encoding.
49
+ # @return [String]
50
+ attr_accessor :body_encoding
51
+
52
+ # The content type of message body. Enum, available values: PlainText, Html, Rtf
53
+ # @return [String]
54
+ attr_accessor :body_type
55
+
56
+ # CC recipients.
57
+ # @return [Array<MailAddress>]
58
+ attr_accessor :cc
59
+
60
+ # Message date.
61
+ # @return [DateTime]
62
+ attr_accessor :date
63
+
64
+ # Delivery notifications. Items: Email delivery notification options. Enum, available values: Delay, Never, None, OnFailure, OnSuccess
65
+ # @return [Array<String>]
66
+ attr_accessor :delivery_notification_options
67
+
68
+ # From address.
69
+ # @return [MailAddress]
70
+ attr_accessor :from
71
+
72
+ # Document headers.
73
+ # @return [Hash<String, String>]
74
+ attr_accessor :headers
75
+
76
+ # HTML body.
77
+ # @return [String]
78
+ attr_accessor :html_body
79
+
80
+ # Html body as plain text. Read only.
81
+ # @return [String]
82
+ attr_accessor :html_body_text
83
+
84
+ # Indicates whether the message body is in Html.
85
+ # @return [BOOLEAN]
86
+ attr_accessor :is_body_html
87
+
88
+ # Indicates whether or not a message has been sent.
89
+ # @return [BOOLEAN]
90
+ attr_accessor :is_draft
91
+
92
+ # Indicates whether the message is encrypted. Read only.
93
+ # @return [BOOLEAN]
94
+ attr_accessor :is_encrypted
95
+
96
+ # Indicates whether the message is signed. Read only.
97
+ # @return [BOOLEAN]
98
+ attr_accessor :is_signed
99
+
100
+ # Linked resources of message.
101
+ # @return [Array<LinkedResource>]
102
+ attr_accessor :linked_resources
103
+
104
+ # Message id.
105
+ # @return [String]
106
+ attr_accessor :message_id
107
+
108
+ # Indicates whether original EML message is in TNEF format. Read only.
109
+ # @return [BOOLEAN]
110
+ attr_accessor :original_is_tnef
111
+
112
+ # Preferred encoding.
113
+ # @return [String]
114
+ attr_accessor :preferred_text_encoding
115
+
116
+ # Email priority status. Enum, available values: High, Low, Normal
117
+ # @return [String]
118
+ attr_accessor :priority
119
+
120
+ # Read receipt addresses.
121
+ # @return [Array<MailAddress>]
122
+ attr_accessor :read_receipt_to
123
+
124
+ # The list of addresses to reply to for the mail message.
125
+ # @return [Array<MailAddress>]
126
+ attr_accessor :reply_to_list
127
+
128
+ # ReversePath address.
129
+ # @return [MailAddress]
130
+ attr_accessor :reverse_path
131
+
132
+ # Sender address.
133
+ # @return [MailAddress]
134
+ attr_accessor :sender
135
+
136
+ # Specifies the sensitivity of a MailMessage. Enum, available values: None, Normal, Personal, Private, CompanyConfidential
137
+ # @return [String]
138
+ attr_accessor :sensitivity
139
+
140
+ # Message subject.
141
+ # @return [String]
142
+ attr_accessor :subject
143
+
144
+ # Subject encoding.
145
+ # @return [String]
146
+ attr_accessor :subject_encoding
147
+
148
+ # Coordinated Universal Time (UTC) offset for the message dates. This property defines the time zone difference, between the local time and UTC represented as count of ticks (10 000 per millisecond).
149
+ # @return [Integer]
150
+ attr_accessor :time_zone_offset
151
+
152
+ # The address collection that contains the recipients of message.
153
+ # @return [Array<MailAddress>]
154
+ attr_accessor :to
155
+
156
+ # The X-Mailer the software that created the e-mail message.
157
+ # @return [String]
158
+ attr_accessor :x_mailer
159
+
160
+ # Attribute mapping from ruby-style variable name to JSON key.
161
+ def self.attribute_map
162
+ {
163
+ :'alternate_views' => :'alternateViews',
164
+ :'attachments' => :'attachments',
165
+ :'bcc' => :'bcc',
166
+ :'body' => :'body',
167
+ :'body_encoding' => :'bodyEncoding',
168
+ :'body_type' => :'bodyType',
169
+ :'cc' => :'cc',
170
+ :'date' => :'date',
171
+ :'delivery_notification_options' => :'deliveryNotificationOptions',
172
+ :'from' => :'from',
173
+ :'headers' => :'headers',
174
+ :'html_body' => :'htmlBody',
175
+ :'html_body_text' => :'htmlBodyText',
176
+ :'is_body_html' => :'isBodyHtml',
177
+ :'is_draft' => :'isDraft',
178
+ :'is_encrypted' => :'isEncrypted',
179
+ :'is_signed' => :'isSigned',
180
+ :'linked_resources' => :'linkedResources',
181
+ :'message_id' => :'messageId',
182
+ :'original_is_tnef' => :'originalIsTnef',
183
+ :'preferred_text_encoding' => :'preferredTextEncoding',
184
+ :'priority' => :'priority',
185
+ :'read_receipt_to' => :'readReceiptTo',
186
+ :'reply_to_list' => :'replyToList',
187
+ :'reverse_path' => :'reversePath',
188
+ :'sender' => :'sender',
189
+ :'sensitivity' => :'sensitivity',
190
+ :'subject' => :'subject',
191
+ :'subject_encoding' => :'subjectEncoding',
192
+ :'time_zone_offset' => :'timeZoneOffset',
193
+ :'to' => :'to',
194
+ :'x_mailer' => :'xMailer'
195
+ }
196
+ end
197
+
198
+ # Attribute type mapping.
199
+ def self.swagger_types
200
+ {
201
+ :'alternate_views' => :'Array<AlternateView>',
202
+ :'attachments' => :'Array<Attachment>',
203
+ :'bcc' => :'Array<MailAddress>',
204
+ :'body' => :'String',
205
+ :'body_encoding' => :'String',
206
+ :'body_type' => :'String',
207
+ :'cc' => :'Array<MailAddress>',
208
+ :'date' => :'DateTime',
209
+ :'delivery_notification_options' => :'Array<String>',
210
+ :'from' => :'MailAddress',
211
+ :'headers' => :'Hash<String, String>',
212
+ :'html_body' => :'String',
213
+ :'html_body_text' => :'String',
214
+ :'is_body_html' => :'BOOLEAN',
215
+ :'is_draft' => :'BOOLEAN',
216
+ :'is_encrypted' => :'BOOLEAN',
217
+ :'is_signed' => :'BOOLEAN',
218
+ :'linked_resources' => :'Array<LinkedResource>',
219
+ :'message_id' => :'String',
220
+ :'original_is_tnef' => :'BOOLEAN',
221
+ :'preferred_text_encoding' => :'String',
222
+ :'priority' => :'String',
223
+ :'read_receipt_to' => :'Array<MailAddress>',
224
+ :'reply_to_list' => :'Array<MailAddress>',
225
+ :'reverse_path' => :'MailAddress',
226
+ :'sender' => :'MailAddress',
227
+ :'sensitivity' => :'String',
228
+ :'subject' => :'String',
229
+ :'subject_encoding' => :'String',
230
+ :'time_zone_offset' => :'Integer',
231
+ :'to' => :'Array<MailAddress>',
232
+ :'x_mailer' => :'String'
233
+ }
234
+ end
235
+
236
+ # Initializes the object
237
+ # @param [Hash] attributes Model attributes in the form of hash
238
+ def initialize(attributes = {})
239
+ return unless attributes.is_a?(Hash)
240
+
241
+ # convert string to symbol for hash key
242
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
243
+
244
+ if attributes.has_key?(:'alternateViews')
245
+ if (value = attributes[:'alternateViews']).is_a?(Array)
246
+ self.alternate_views = value
247
+ end
248
+ end
249
+
250
+ if attributes.has_key?(:'attachments')
251
+ if (value = attributes[:'attachments']).is_a?(Array)
252
+ self.attachments = value
253
+ end
254
+ end
255
+
256
+ if attributes.has_key?(:'bcc')
257
+ if (value = attributes[:'bcc']).is_a?(Array)
258
+ self.bcc = value
259
+ end
260
+ end
261
+
262
+ if attributes.has_key?(:'body')
263
+ self.body = attributes[:'body']
264
+ end
265
+
266
+ if attributes.has_key?(:'bodyEncoding')
267
+ self.body_encoding = attributes[:'bodyEncoding']
268
+ end
269
+
270
+ if attributes.has_key?(:'bodyType')
271
+ self.body_type = attributes[:'bodyType']
272
+ end
273
+
274
+ if attributes.has_key?(:'cc')
275
+ if (value = attributes[:'cc']).is_a?(Array)
276
+ self.cc = value
277
+ end
278
+ end
279
+
280
+ if attributes.has_key?(:'date')
281
+ self.date = attributes[:'date']
282
+ end
283
+
284
+ if attributes.has_key?(:'deliveryNotificationOptions')
285
+ if (value = attributes[:'deliveryNotificationOptions']).is_a?(Array)
286
+ self.delivery_notification_options = value
287
+ end
288
+ end
289
+
290
+ if attributes.has_key?(:'from')
291
+ self.from = attributes[:'from']
292
+ end
293
+
294
+ if attributes.has_key?(:'headers')
295
+ if (value = attributes[:'headers']).is_a?(Hash)
296
+ self.headers = value
297
+ end
298
+ end
299
+
300
+ if attributes.has_key?(:'htmlBody')
301
+ self.html_body = attributes[:'htmlBody']
302
+ end
303
+
304
+ if attributes.has_key?(:'htmlBodyText')
305
+ self.html_body_text = attributes[:'htmlBodyText']
306
+ end
307
+
308
+ if attributes.has_key?(:'isBodyHtml')
309
+ self.is_body_html = attributes[:'isBodyHtml']
310
+ end
311
+
312
+ if attributes.has_key?(:'isDraft')
313
+ self.is_draft = attributes[:'isDraft']
314
+ end
315
+
316
+ if attributes.has_key?(:'isEncrypted')
317
+ self.is_encrypted = attributes[:'isEncrypted']
318
+ end
319
+
320
+ if attributes.has_key?(:'isSigned')
321
+ self.is_signed = attributes[:'isSigned']
322
+ end
323
+
324
+ if attributes.has_key?(:'linkedResources')
325
+ if (value = attributes[:'linkedResources']).is_a?(Array)
326
+ self.linked_resources = value
327
+ end
328
+ end
329
+
330
+ if attributes.has_key?(:'messageId')
331
+ self.message_id = attributes[:'messageId']
332
+ end
333
+
334
+ if attributes.has_key?(:'originalIsTnef')
335
+ self.original_is_tnef = attributes[:'originalIsTnef']
336
+ end
337
+
338
+ if attributes.has_key?(:'preferredTextEncoding')
339
+ self.preferred_text_encoding = attributes[:'preferredTextEncoding']
340
+ end
341
+
342
+ if attributes.has_key?(:'priority')
343
+ self.priority = attributes[:'priority']
344
+ end
345
+
346
+ if attributes.has_key?(:'readReceiptTo')
347
+ if (value = attributes[:'readReceiptTo']).is_a?(Array)
348
+ self.read_receipt_to = value
349
+ end
350
+ end
351
+
352
+ if attributes.has_key?(:'replyToList')
353
+ if (value = attributes[:'replyToList']).is_a?(Array)
354
+ self.reply_to_list = value
355
+ end
356
+ end
357
+
358
+ if attributes.has_key?(:'reversePath')
359
+ self.reverse_path = attributes[:'reversePath']
360
+ end
361
+
362
+ if attributes.has_key?(:'sender')
363
+ self.sender = attributes[:'sender']
364
+ end
365
+
366
+ if attributes.has_key?(:'sensitivity')
367
+ self.sensitivity = attributes[:'sensitivity']
368
+ end
369
+
370
+ if attributes.has_key?(:'subject')
371
+ self.subject = attributes[:'subject']
372
+ end
373
+
374
+ if attributes.has_key?(:'subjectEncoding')
375
+ self.subject_encoding = attributes[:'subjectEncoding']
376
+ end
377
+
378
+ if attributes.has_key?(:'timeZoneOffset')
379
+ self.time_zone_offset = attributes[:'timeZoneOffset']
380
+ end
381
+
382
+ if attributes.has_key?(:'to')
383
+ if (value = attributes[:'to']).is_a?(Array)
384
+ self.to = value
385
+ end
386
+ end
387
+
388
+ if attributes.has_key?(:'xMailer')
389
+ self.x_mailer = attributes[:'xMailer']
390
+ end
391
+ end
392
+
393
+ # Initializes the object
394
+ # @param [Array<AlternateView>] alternate_views Collection of alternate views of message.
395
+ # @param [Array<Attachment>] attachments Email message attachments.
396
+ # @param [Array<MailAddress>] bcc BCC recipients.
397
+ # @param [String] body Email message body as plain text.
398
+ # @param [String] body_encoding Body encoding.
399
+ # @param [String] body_type The content type of message body. Enum, available values: PlainText, Html, Rtf
400
+ # @param [Array<MailAddress>] cc CC recipients.
401
+ # @param [DateTime] date Message date.
402
+ # @param [Array<String>] delivery_notification_options Delivery notifications. Items: Email delivery notification options. Enum, available values: Delay, Never, None, OnFailure, OnSuccess
403
+ # @param [MailAddress] from From address.
404
+ # @param [Hash<String, String>] headers Document headers.
405
+ # @param [String] html_body HTML body.
406
+ # @param [String] html_body_text Html body as plain text. Read only.
407
+ # @param [BOOLEAN] is_body_html Indicates whether the message body is in Html.
408
+ # @param [BOOLEAN] is_draft Indicates whether or not a message has been sent.
409
+ # @param [BOOLEAN] is_encrypted Indicates whether the message is encrypted. Read only.
410
+ # @param [BOOLEAN] is_signed Indicates whether the message is signed. Read only.
411
+ # @param [Array<LinkedResource>] linked_resources Linked resources of message.
412
+ # @param [String] message_id Message id.
413
+ # @param [BOOLEAN] original_is_tnef Indicates whether original EML message is in TNEF format. Read only.
414
+ # @param [String] preferred_text_encoding Preferred encoding.
415
+ # @param [String] priority Email priority status. Enum, available values: High, Low, Normal
416
+ # @param [Array<MailAddress>] read_receipt_to Read receipt addresses.
417
+ # @param [Array<MailAddress>] reply_to_list The list of addresses to reply to for the mail message.
418
+ # @param [MailAddress] reverse_path ReversePath address.
419
+ # @param [MailAddress] sender Sender address.
420
+ # @param [String] sensitivity Specifies the sensitivity of a MailMessage. Enum, available values: None, Normal, Personal, Private, CompanyConfidential
421
+ # @param [String] subject Message subject.
422
+ # @param [String] subject_encoding Subject encoding.
423
+ # @param [Integer] time_zone_offset Coordinated Universal Time (UTC) offset for the message dates. This property defines the time zone difference, between the local time and UTC represented as count of ticks (10 000 per millisecond).
424
+ # @param [Array<MailAddress>] to The address collection that contains the recipients of message.
425
+ # @param [String] x_mailer The X-Mailer the software that created the e-mail message.
426
+ def initialize(alternate_views=nil, attachments=nil, bcc=nil, body=nil, body_encoding=nil, body_type=nil, cc=nil, date=nil, delivery_notification_options=nil, from=nil, headers=nil, html_body=nil, html_body_text=nil, is_body_html=nil, is_draft=nil, is_encrypted=nil, is_signed=nil, linked_resources=nil, message_id=nil, original_is_tnef=nil, preferred_text_encoding=nil, priority=nil, read_receipt_to=nil, reply_to_list=nil, reverse_path=nil, sender=nil, sensitivity=nil, subject=nil, subject_encoding=nil, time_zone_offset=nil, to=nil, x_mailer=nil)
427
+ self.alternate_views = alternate_views if alternate_views
428
+ self.attachments = attachments if attachments
429
+ self.bcc = bcc if bcc
430
+ self.body = body if body
431
+ self.body_encoding = body_encoding if body_encoding
432
+ self.body_type = body_type if body_type
433
+ self.cc = cc if cc
434
+ self.date = date if date
435
+ self.delivery_notification_options = delivery_notification_options if delivery_notification_options
436
+ self.from = from if from
437
+ self.headers = headers if headers
438
+ self.html_body = html_body if html_body
439
+ self.html_body_text = html_body_text if html_body_text
440
+ self.is_body_html = is_body_html if is_body_html
441
+ self.is_draft = is_draft if is_draft
442
+ self.is_encrypted = is_encrypted if is_encrypted
443
+ self.is_signed = is_signed if is_signed
444
+ self.linked_resources = linked_resources if linked_resources
445
+ self.message_id = message_id if message_id
446
+ self.original_is_tnef = original_is_tnef if original_is_tnef
447
+ self.preferred_text_encoding = preferred_text_encoding if preferred_text_encoding
448
+ self.priority = priority if priority
449
+ self.read_receipt_to = read_receipt_to if read_receipt_to
450
+ self.reply_to_list = reply_to_list if reply_to_list
451
+ self.reverse_path = reverse_path if reverse_path
452
+ self.sender = sender if sender
453
+ self.sensitivity = sensitivity if sensitivity
454
+ self.subject = subject if subject
455
+ self.subject_encoding = subject_encoding if subject_encoding
456
+ self.time_zone_offset = time_zone_offset if time_zone_offset
457
+ self.to = to if to
458
+ self.x_mailer = x_mailer if x_mailer
459
+ end
460
+
461
+ # Show invalid properties with the reasons. Usually used together with valid?
462
+ # @return Array for valid properties with the reasons
463
+ def list_invalid_properties
464
+ invalid_properties = Array.new
465
+ if @body_type.nil?
466
+ invalid_properties.push('invalid value for "body_type", body_type cannot be nil.')
467
+ end
468
+
469
+ if @date.nil?
470
+ invalid_properties.push('invalid value for "date", date cannot be nil.')
471
+ end
472
+
473
+ if @is_body_html.nil?
474
+ invalid_properties.push('invalid value for "is_body_html", is_body_html cannot be nil.')
475
+ end
476
+
477
+ if @is_draft.nil?
478
+ invalid_properties.push('invalid value for "is_draft", is_draft cannot be nil.')
479
+ end
480
+
481
+ if @is_encrypted.nil?
482
+ invalid_properties.push('invalid value for "is_encrypted", is_encrypted cannot be nil.')
483
+ end
484
+
485
+ if @is_signed.nil?
486
+ invalid_properties.push('invalid value for "is_signed", is_signed cannot be nil.')
487
+ end
488
+
489
+ if @original_is_tnef.nil?
490
+ invalid_properties.push('invalid value for "original_is_tnef", original_is_tnef cannot be nil.')
491
+ end
492
+
493
+ if @priority.nil?
494
+ invalid_properties.push('invalid value for "priority", priority cannot be nil.')
495
+ end
496
+
497
+ if @sensitivity.nil?
498
+ invalid_properties.push('invalid value for "sensitivity", sensitivity cannot be nil.')
499
+ end
500
+
501
+ invalid_properties
502
+ end
503
+
504
+ # Check to see if the all the properties in the model are valid
505
+ # @return true if the model is valid
506
+ def valid?
507
+ return false if @body_type.nil?
508
+ return false if @date.nil?
509
+ return false if @is_body_html.nil?
510
+ return false if @is_draft.nil?
511
+ return false if @is_encrypted.nil?
512
+ return false if @is_signed.nil?
513
+ return false if @original_is_tnef.nil?
514
+ return false if @priority.nil?
515
+ return false if @sensitivity.nil?
516
+ true
517
+ end
518
+
519
+ # Checks equality by comparing each attribute.
520
+ # @param [Object] Object to be compared
521
+ def ==(o)
522
+ return true if self.equal?(o)
523
+ self.class == o.class &&
524
+ alternate_views == o.alternate_views &&
525
+ attachments == o.attachments &&
526
+ bcc == o.bcc &&
527
+ body == o.body &&
528
+ body_encoding == o.body_encoding &&
529
+ body_type == o.body_type &&
530
+ cc == o.cc &&
531
+ date == o.date &&
532
+ delivery_notification_options == o.delivery_notification_options &&
533
+ from == o.from &&
534
+ headers == o.headers &&
535
+ html_body == o.html_body &&
536
+ html_body_text == o.html_body_text &&
537
+ is_body_html == o.is_body_html &&
538
+ is_draft == o.is_draft &&
539
+ is_encrypted == o.is_encrypted &&
540
+ is_signed == o.is_signed &&
541
+ linked_resources == o.linked_resources &&
542
+ message_id == o.message_id &&
543
+ original_is_tnef == o.original_is_tnef &&
544
+ preferred_text_encoding == o.preferred_text_encoding &&
545
+ priority == o.priority &&
546
+ read_receipt_to == o.read_receipt_to &&
547
+ reply_to_list == o.reply_to_list &&
548
+ reverse_path == o.reverse_path &&
549
+ sender == o.sender &&
550
+ sensitivity == o.sensitivity &&
551
+ subject == o.subject &&
552
+ subject_encoding == o.subject_encoding &&
553
+ time_zone_offset == o.time_zone_offset &&
554
+ to == o.to &&
555
+ x_mailer == o.x_mailer
556
+ end
557
+
558
+ # @see the `==` method
559
+ # @param [Object] Object to be compared
560
+ def eql?(o)
561
+ self == o
562
+ end
563
+
564
+ # Calculates hash code according to all attributes.
565
+ # @return [Fixnum] Hash code
566
+ def hash
567
+ [alternate_views, attachments, bcc, body, body_encoding, body_type, cc, date, delivery_notification_options, from, headers, html_body, html_body_text, is_body_html, is_draft, is_encrypted, is_signed, linked_resources, message_id, original_is_tnef, preferred_text_encoding, priority, read_receipt_to, reply_to_list, reverse_path, sender, sensitivity, subject, subject_encoding, time_zone_offset, to, x_mailer].hash
568
+ end
569
+
570
+ # Builds the object from hash
571
+ # @param [Hash] attributes Model attributes in the form of hash
572
+ # @return [Object] Returns the model itself
573
+ def build_from_hash(attributes)
574
+ return nil unless attributes.is_a?(Hash)
575
+ self.class.swagger_types.each_pair do |key, type|
576
+ attribute_key = self.class.attribute_map[key]
577
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
578
+ if type =~ /\AArray<(.*)>/i
579
+ # check to ensure the input is an array given that the the attribute
580
+ # is documented as an array but the input is not
581
+ if attributes[attribute_key].is_a?(Array)
582
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
583
+ end
584
+ elsif !attributes[attribute_key].nil?
585
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
586
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
587
+ end
588
+
589
+ self
590
+ end
591
+
592
+ # Deserializes the data based on type
593
+ # @param string type Data type
594
+ # @param string value Value to be deserialized
595
+ # @return [Object] Deserialized data
596
+ def _deserialize(type, value)
597
+ case type.to_sym
598
+ when :DateTime
599
+ DateTime.parse(value)
600
+ when :Date
601
+ Date.parse(value)
602
+ when :String
603
+ value.to_s
604
+ when :Integer
605
+ value.to_i
606
+ when :Float
607
+ value.to_f
608
+ when :BOOLEAN
609
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
610
+ true
611
+ else
612
+ false
613
+ end
614
+ when :Object
615
+ # generic object (usually a Hash), return directly
616
+ value
617
+ when /\AArray<(?<inner_type>.+)>\z/
618
+ inner_type = Regexp.last_match[:inner_type]
619
+ value.map { |v| _deserialize(inner_type, v) }
620
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
621
+ k_type = Regexp.last_match[:k_type]
622
+ v_type = Regexp.last_match[:v_type]
623
+ {}.tap do |hash|
624
+ value.each do |k, v|
625
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
626
+ end
627
+ end
628
+ else # model
629
+ type = value[:type] || type
630
+ temp_model = AsposeEmailCloud.const_get(type).new
631
+ temp_model.build_from_hash(value)
632
+ end
633
+ end
634
+
635
+ # Returns the string representation of the object
636
+ # @return [String] String presentation of the object
637
+ def to_s
638
+ to_hash.to_s
639
+ end
640
+
641
+ # to_body is an alias to to_hash (backward compatibility)
642
+ # @return [Hash] Returns the object in the form of hash
643
+ def to_body
644
+ to_hash
645
+ end
646
+
647
+ # Returns the object in the form of hash
648
+ # @return [Hash] Returns the object in the form of hash
649
+ def to_hash
650
+ hash = {}
651
+ self.class.attribute_map.each_pair do |attr, param|
652
+ value = self.send(attr)
653
+ next if value.nil?
654
+ hash[param] = _to_hash(value)
655
+ end
656
+ hash
657
+ end
658
+
659
+ # Outputs non-array value in the form of hash
660
+ # For object, use to_hash. Otherwise, just return the value
661
+ # @param [Object] value Any valid value
662
+ # @return [Hash] Returns the value in the form of hash
663
+ def _to_hash(value)
664
+ if value.is_a?(Array)
665
+ value.compact.map { |v| _to_hash(v) }
666
+ elsif value.is_a?(Hash)
667
+ {}.tap do |hash|
668
+ value.each { |k, v| hash[k] = _to_hash(v) }
669
+ end
670
+ elsif value.respond_to? :to_hash
671
+ value.to_hash
672
+ else
673
+ value
674
+ end
675
+ end
676
+
677
+ end
678
+ end