aspose_email_cloud 19.12.0 → 20.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (341) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +186 -1
  3. data/lib/aspose-email-cloud/api/email_api.rb +1186 -698
  4. data/lib/aspose-email-cloud/api_client.rb +385 -382
  5. data/lib/aspose-email-cloud/api_error.rb +41 -41
  6. data/lib/aspose-email-cloud/configuration.rb +240 -240
  7. data/lib/aspose-email-cloud/models/account_base_request.rb +263 -260
  8. data/lib/aspose-email-cloud/models/add_attachment_request.rb +226 -223
  9. data/lib/aspose-email-cloud/models/ai_bcr_base64_image.rb +231 -228
  10. data/lib/aspose-email-cloud/models/ai_bcr_base64_rq.rb +228 -225
  11. data/lib/aspose-email-cloud/models/ai_bcr_image.rb +218 -215
  12. data/lib/aspose-email-cloud/models/ai_bcr_image_storage_file.rb +231 -228
  13. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data.rb +256 -253
  14. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data_part.rb +300 -297
  15. data/lib/aspose-email-cloud/models/ai_bcr_options.rb +226 -223
  16. data/lib/aspose-email-cloud/models/ai_bcr_parse_ocr_data_rq.rb +233 -0
  17. data/lib/aspose-email-cloud/models/ai_bcr_parse_storage_rq.rb +251 -248
  18. data/lib/aspose-email-cloud/models/ai_bcr_rq.rb +213 -210
  19. data/lib/aspose-email-cloud/models/ai_bcr_storage_image_rq.rb +233 -230
  20. data/lib/aspose-email-cloud/models/ai_name_component.rb +267 -264
  21. data/lib/aspose-email-cloud/models/ai_name_cultural_context.rb +270 -267
  22. data/lib/aspose-email-cloud/models/ai_name_extracted.rb +233 -230
  23. data/lib/aspose-email-cloud/models/ai_name_extracted_component.rb +231 -228
  24. data/lib/aspose-email-cloud/models/ai_name_formatted.rb +226 -223
  25. data/lib/aspose-email-cloud/models/ai_name_gender_hypothesis.rb +236 -233
  26. data/lib/aspose-email-cloud/models/ai_name_match_result.rb +233 -230
  27. data/lib/aspose-email-cloud/models/ai_name_mismatch.rb +249 -246
  28. data/lib/aspose-email-cloud/models/ai_name_parsed_match_rq.rb +266 -263
  29. data/lib/aspose-email-cloud/models/ai_name_parsed_rq.rb +246 -243
  30. data/lib/aspose-email-cloud/models/ai_name_weighted.rb +231 -228
  31. data/lib/aspose-email-cloud/models/ai_name_weighted_variants.rb +228 -225
  32. data/lib/aspose-email-cloud/models/alternate_view.rb +282 -0
  33. data/lib/aspose-email-cloud/models/append_email_account_base_request.rb +318 -315
  34. data/lib/aspose-email-cloud/models/append_email_base_request.rb +336 -333
  35. data/lib/aspose-email-cloud/models/append_email_mime_base_request.rb +355 -352
  36. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +336 -0
  37. data/lib/aspose-email-cloud/models/associated_person.rb +244 -0
  38. data/lib/aspose-email-cloud/models/attachment.rb +324 -0
  39. data/lib/aspose-email-cloud/models/attachment_base.rb +254 -0
  40. data/lib/aspose-email-cloud/models/base_object.rb +91 -88
  41. data/lib/aspose-email-cloud/models/calendar_dto.rb +570 -0
  42. data/lib/aspose-email-cloud/models/calendar_dto_alternate_rq.rb +268 -0
  43. data/lib/aspose-email-cloud/models/calendar_dto_list.rb +215 -0
  44. data/lib/aspose-email-cloud/models/calendar_reminder.rb +318 -0
  45. data/lib/aspose-email-cloud/models/contact_dto.rb +699 -0
  46. data/lib/aspose-email-cloud/models/contact_dto_list.rb +215 -0
  47. data/lib/aspose-email-cloud/models/contact_photo.rb +255 -0
  48. data/lib/aspose-email-cloud/models/content_type.rb +267 -0
  49. data/lib/aspose-email-cloud/models/content_type_parameter.rb +226 -0
  50. data/lib/aspose-email-cloud/models/create_email_request.rb +231 -228
  51. data/lib/aspose-email-cloud/models/create_folder_base_request.rb +313 -310
  52. data/lib/aspose-email-cloud/models/customer_event.rb +231 -0
  53. data/lib/aspose-email-cloud/models/daily_recurrence_pattern_dto.rb +296 -0
  54. data/lib/aspose-email-cloud/models/delete_email_thread_account_rq.rb +276 -0
  55. data/lib/aspose-email-cloud/models/delete_folder_base_request.rb +318 -315
  56. data/lib/aspose-email-cloud/models/delete_message_base_request.rb +331 -315
  57. data/lib/aspose-email-cloud/models/disc_usage.rb +235 -233
  58. data/lib/aspose-email-cloud/models/discover_email_config_oauth.rb +391 -0
  59. data/lib/aspose-email-cloud/models/discover_email_config_password.rb +304 -0
  60. data/lib/aspose-email-cloud/models/discover_email_config_rq.rb +268 -0
  61. data/lib/aspose-email-cloud/models/email_account_config.rb +323 -0
  62. data/lib/aspose-email-cloud/models/email_account_config_list.rb +215 -0
  63. data/lib/aspose-email-cloud/models/email_account_request.rb +397 -394
  64. data/lib/aspose-email-cloud/models/email_address.rb +283 -0
  65. data/lib/aspose-email-cloud/models/email_client_account.rb +350 -0
  66. data/lib/aspose-email-cloud/models/email_client_account_credentials.rb +261 -0
  67. data/lib/aspose-email-cloud/models/email_client_account_oauth_credentials.rb +385 -0
  68. data/lib/aspose-email-cloud/models/email_client_account_password_credentials.rb +298 -0
  69. data/lib/aspose-email-cloud/models/email_client_multi_account.rb +233 -0
  70. data/lib/aspose-email-cloud/models/email_document.rb +233 -230
  71. data/lib/aspose-email-cloud/models/email_document_response.rb +213 -210
  72. data/lib/aspose-email-cloud/models/email_dto.rb +681 -0
  73. data/lib/aspose-email-cloud/models/email_dto_list.rb +215 -0
  74. data/lib/aspose-email-cloud/models/email_properties.rb +233 -230
  75. data/lib/aspose-email-cloud/models/email_property.rb +268 -265
  76. data/lib/aspose-email-cloud/models/email_property_response.rb +213 -210
  77. data/lib/aspose-email-cloud/models/email_thread.rb +254 -0
  78. data/lib/aspose-email-cloud/models/email_thread_list.rb +215 -0
  79. data/lib/aspose-email-cloud/models/email_thread_read_flag_rq.rb +294 -0
  80. data/lib/aspose-email-cloud/models/enum_with_custom_of_associated_person_category.rb +230 -0
  81. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +230 -0
  82. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +230 -0
  83. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +230 -0
  84. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +230 -0
  85. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +230 -0
  86. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +230 -0
  87. data/lib/aspose-email-cloud/models/error.rb +251 -249
  88. data/lib/aspose-email-cloud/models/error_details.rb +230 -228
  89. data/lib/aspose-email-cloud/models/file_version.rb +305 -303
  90. data/lib/aspose-email-cloud/models/file_versions.rb +214 -212
  91. data/lib/aspose-email-cloud/models/files_list.rb +214 -212
  92. data/lib/aspose-email-cloud/models/files_upload_result.rb +229 -227
  93. data/lib/aspose-email-cloud/models/hierarchical_object.rb +106 -103
  94. data/lib/aspose-email-cloud/models/hierarchical_object_request.rb +231 -228
  95. data/lib/aspose-email-cloud/models/hierarchical_object_response.rb +226 -223
  96. data/lib/aspose-email-cloud/models/indexed_hierarchical_object.rb +124 -121
  97. data/lib/aspose-email-cloud/models/indexed_primitive_object.rb +122 -119
  98. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +244 -0
  99. data/lib/aspose-email-cloud/models/link.rb +252 -249
  100. data/lib/aspose-email-cloud/models/linked_resource.rb +267 -0
  101. data/lib/aspose-email-cloud/models/list_response_of_ai_bcr_ocr_data.rb +214 -211
  102. data/lib/aspose-email-cloud/models/list_response_of_ai_name_component.rb +214 -211
  103. data/lib/aspose-email-cloud/models/list_response_of_ai_name_extracted.rb +214 -211
  104. data/lib/aspose-email-cloud/models/list_response_of_ai_name_gender_hypothesis.rb +214 -211
  105. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +214 -0
  106. data/lib/aspose-email-cloud/models/list_response_of_email_account_config.rb +214 -0
  107. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +214 -0
  108. data/lib/aspose-email-cloud/models/list_response_of_email_thread.rb +214 -0
  109. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object.rb +214 -211
  110. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object_response.rb +214 -211
  111. data/lib/aspose-email-cloud/models/list_response_of_mail_server_folder.rb +214 -211
  112. data/lib/aspose-email-cloud/models/list_response_of_storage_file_location.rb +214 -211
  113. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +214 -0
  114. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +214 -0
  115. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +214 -0
  116. data/lib/aspose-email-cloud/models/list_response_of_string.rb +214 -211
  117. data/lib/aspose-email-cloud/models/mail_address.rb +257 -0
  118. data/lib/aspose-email-cloud/models/mail_server_folder.rb +226 -223
  119. data/lib/aspose-email-cloud/models/mapi_attachment_dto.rb +226 -0
  120. data/lib/aspose-email-cloud/models/mapi_binary_property_dto.rb +250 -0
  121. data/lib/aspose-email-cloud/models/mapi_boolean_property_dto.rb +255 -0
  122. data/lib/aspose-email-cloud/models/mapi_calendar_attendees_dto.rb +266 -0
  123. data/lib/aspose-email-cloud/models/mapi_calendar_daily_recurrence_pattern_dto.rb +464 -0
  124. data/lib/aspose-email-cloud/models/mapi_calendar_dto.rb +728 -0
  125. data/lib/aspose-email-cloud/models/mapi_calendar_event_recurrence_dto.rb +293 -0
  126. data/lib/aspose-email-cloud/models/mapi_calendar_exception_info_dto.rb +431 -0
  127. data/lib/aspose-email-cloud/models/mapi_calendar_recurrence_pattern_dto.rb +449 -0
  128. data/lib/aspose-email-cloud/models/mapi_calendar_time_zone_dto.rb +228 -0
  129. data/lib/aspose-email-cloud/models/mapi_calendar_time_zone_info_dto.rb +313 -0
  130. data/lib/aspose-email-cloud/models/mapi_calendar_time_zone_rule_dto.rb +362 -0
  131. data/lib/aspose-email-cloud/models/mapi_calendar_weekly_recurrence_pattern_dto.rb +464 -0
  132. data/lib/aspose-email-cloud/models/mapi_calendar_yearly_and_monthly_recurrence_pattern_dto.rb +500 -0
  133. data/lib/aspose-email-cloud/models/mapi_contact_dto.rb +569 -0
  134. data/lib/aspose-email-cloud/models/mapi_contact_electronic_address_dto.rb +283 -0
  135. data/lib/aspose-email-cloud/models/mapi_contact_electronic_address_property_set_dto.rb +327 -0
  136. data/lib/aspose-email-cloud/models/mapi_contact_event_property_set_dto.rb +236 -0
  137. data/lib/aspose-email-cloud/models/mapi_contact_name_property_set_dto.rb +335 -0
  138. data/lib/aspose-email-cloud/models/mapi_contact_other_property_set_dto.rb +319 -0
  139. data/lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb +454 -0
  140. data/lib/aspose-email-cloud/models/mapi_contact_photo_dto.rb +255 -0
  141. data/lib/aspose-email-cloud/models/mapi_contact_physical_address_dto.rb +322 -0
  142. data/lib/aspose-email-cloud/models/mapi_contact_physical_address_property_set_dto.rb +239 -0
  143. data/lib/aspose-email-cloud/models/mapi_contact_professional_property_set_dto.rb +291 -0
  144. data/lib/aspose-email-cloud/models/mapi_contact_telephone_property_set_dto.rb +457 -0
  145. data/lib/aspose-email-cloud/models/mapi_date_time_property_dto.rb +255 -0
  146. data/lib/aspose-email-cloud/models/mapi_electronic_address_dto.rb +265 -0
  147. data/lib/aspose-email-cloud/models/mapi_file_as_property_dto.rb +255 -0
  148. data/lib/aspose-email-cloud/models/mapi_importance_property_dto.rb +255 -0
  149. data/lib/aspose-email-cloud/models/mapi_int_property_dto.rb +255 -0
  150. data/lib/aspose-email-cloud/models/mapi_known_property_descriptor.rb +237 -0
  151. data/lib/aspose-email-cloud/models/mapi_legacy_free_busy_property_dto.rb +255 -0
  152. data/lib/aspose-email-cloud/models/mapi_message_dto.rb +801 -0
  153. data/lib/aspose-email-cloud/models/mapi_message_item_base_dto.rb +452 -0
  154. data/lib/aspose-email-cloud/models/mapi_multi_int_property_dto.rb +252 -0
  155. data/lib/aspose-email-cloud/models/mapi_multi_string_property_dto.rb +252 -0
  156. data/lib/aspose-email-cloud/models/mapi_physical_address_index_property_dto.rb +255 -0
  157. data/lib/aspose-email-cloud/models/mapi_pid_lid_property_descriptor.rb +322 -0
  158. data/lib/aspose-email-cloud/models/mapi_pid_name_property_descriptor.rb +304 -0
  159. data/lib/aspose-email-cloud/models/mapi_pid_property_descriptor.rb +286 -0
  160. data/lib/aspose-email-cloud/models/mapi_pid_tag_property_descriptor.rb +322 -0
  161. data/lib/aspose-email-cloud/models/mapi_property_descriptor.rb +224 -0
  162. data/lib/aspose-email-cloud/models/mapi_property_dto.rb +237 -0
  163. data/lib/aspose-email-cloud/models/mapi_recipient_dto.rb +257 -0
  164. data/lib/aspose-email-cloud/models/mapi_response_type_property_dto.rb +255 -0
  165. data/lib/aspose-email-cloud/models/mapi_string_property_dto.rb +250 -0
  166. data/lib/aspose-email-cloud/models/mime_response.rb +213 -210
  167. data/lib/aspose-email-cloud/models/monthly_recurrence_pattern_dto.rb +350 -0
  168. data/lib/aspose-email-cloud/models/move_email_message_rq.rb +302 -0
  169. data/lib/aspose-email-cloud/models/move_email_thread_rq.rb +276 -0
  170. data/lib/aspose-email-cloud/models/name_value_pair.rb +226 -0
  171. data/lib/aspose-email-cloud/models/object_exist.rb +235 -233
  172. data/lib/aspose-email-cloud/models/phone_number.rb +244 -0
  173. data/lib/aspose-email-cloud/models/postal_address.rb +353 -0
  174. data/lib/aspose-email-cloud/models/primitive_object.rb +104 -101
  175. data/lib/aspose-email-cloud/models/recurrence_pattern_dto.rb +296 -0
  176. data/lib/aspose-email-cloud/models/reminder_attendee.rb +213 -0
  177. data/lib/aspose-email-cloud/models/reminder_trigger.rb +249 -0
  178. data/lib/aspose-email-cloud/models/requests/add_calendar_attachment_request_data.rb +99 -89
  179. data/lib/aspose-email-cloud/models/requests/add_contact_attachment_request_data.rb +109 -96
  180. data/lib/aspose-email-cloud/models/requests/add_email_attachment_request_data.rb +99 -89
  181. data/lib/aspose-email-cloud/models/requests/add_mapi_attachment_request_data.rb +99 -89
  182. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_request_data.rb +79 -75
  183. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_storage_request_data.rb +79 -75
  184. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_model_request_data.rb +79 -0
  185. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +79 -0
  186. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_request_data.rb +79 -75
  187. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_storage_request_data.rb +79 -75
  188. data/lib/aspose-email-cloud/models/requests/ai_name_complete_request_data.rb +110 -91
  189. data/lib/aspose-email-cloud/models/requests/ai_name_expand_parsed_request_data.rb +79 -75
  190. data/lib/aspose-email-cloud/models/requests/ai_name_expand_request_data.rb +110 -91
  191. data/lib/aspose-email-cloud/models/requests/ai_name_format_parsed_request_data.rb +79 -75
  192. data/lib/aspose-email-cloud/models/requests/ai_name_format_request_data.rb +116 -94
  193. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_parsed_request_data.rb +79 -75
  194. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_request_data.rb +110 -91
  195. data/lib/aspose-email-cloud/models/requests/ai_name_match_parsed_request_data.rb +79 -75
  196. data/lib/aspose-email-cloud/models/requests/ai_name_match_request_data.rb +121 -99
  197. data/lib/aspose-email-cloud/models/requests/ai_name_parse_email_address_request_data.rb +110 -91
  198. data/lib/aspose-email-cloud/models/requests/ai_name_parse_request_data.rb +110 -91
  199. data/lib/aspose-email-cloud/models/requests/append_email_message_request_data.rb +79 -75
  200. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +79 -0
  201. data/lib/aspose-email-cloud/models/requests/append_mime_message_request_data.rb +79 -75
  202. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +79 -0
  203. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_file_request_data.rb +89 -0
  204. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_mapi_model_request_data.rb +79 -0
  205. data/lib/aspose-email-cloud/models/requests/convert_calendar_request_data.rb +90 -0
  206. data/lib/aspose-email-cloud/models/requests/convert_contact_model_to_file_request_data.rb +89 -0
  207. data/lib/aspose-email-cloud/models/requests/convert_contact_model_to_mapi_model_request_data.rb +79 -0
  208. data/lib/aspose-email-cloud/models/requests/convert_contact_request_data.rb +100 -0
  209. data/lib/aspose-email-cloud/models/requests/convert_email_model_to_file_request_data.rb +89 -0
  210. data/lib/aspose-email-cloud/models/requests/convert_email_model_to_mapi_model_request_data.rb +79 -0
  211. data/lib/aspose-email-cloud/models/requests/convert_email_request_data.rb +90 -0
  212. data/lib/aspose-email-cloud/models/requests/convert_mapi_calendar_model_to_calendar_model_request_data.rb +79 -0
  213. data/lib/aspose-email-cloud/models/requests/convert_mapi_calendar_model_to_file_request_data.rb +89 -0
  214. data/lib/aspose-email-cloud/models/requests/convert_mapi_contact_model_to_contact_model_request_data.rb +79 -0
  215. data/lib/aspose-email-cloud/models/requests/convert_mapi_contact_model_to_file_request_data.rb +89 -0
  216. data/lib/aspose-email-cloud/models/requests/convert_mapi_message_model_to_email_model_request_data.rb +79 -0
  217. data/lib/aspose-email-cloud/models/requests/convert_mapi_message_model_to_file_request_data.rb +89 -0
  218. data/lib/aspose-email-cloud/models/requests/copy_file_request_data.rb +107 -92
  219. data/lib/aspose-email-cloud/models/requests/copy_folder_request_data.rb +101 -89
  220. data/lib/aspose-email-cloud/models/requests/create_calendar_request_data.rb +89 -82
  221. data/lib/aspose-email-cloud/models/requests/create_contact_request_data.rb +99 -89
  222. data/lib/aspose-email-cloud/models/requests/create_email_folder_request_data.rb +79 -75
  223. data/lib/aspose-email-cloud/models/requests/create_email_request_data.rb +89 -82
  224. data/lib/aspose-email-cloud/models/requests/create_folder_request_data.rb +84 -78
  225. data/lib/aspose-email-cloud/models/requests/create_mapi_request_data.rb +89 -82
  226. data/lib/aspose-email-cloud/models/requests/delete_calendar_property_request_data.rb +109 -96
  227. data/lib/aspose-email-cloud/models/requests/delete_contact_property_request_data.rb +119 -103
  228. data/lib/aspose-email-cloud/models/requests/delete_email_folder_request_data.rb +79 -75
  229. data/lib/aspose-email-cloud/models/requests/delete_email_message_request_data.rb +79 -75
  230. data/lib/aspose-email-cloud/models/requests/delete_email_thread_request_data.rb +89 -0
  231. data/lib/aspose-email-cloud/models/requests/delete_file_request_data.rb +90 -81
  232. data/lib/aspose-email-cloud/models/requests/delete_folder_request_data.rb +90 -81
  233. data/lib/aspose-email-cloud/models/requests/delete_mapi_attachment_request_data.rb +99 -89
  234. data/lib/aspose-email-cloud/models/requests/delete_mapi_properties_request_data.rb +89 -82
  235. data/lib/aspose-email-cloud/models/requests/discover_email_config_oauth_request_data.rb +79 -0
  236. data/lib/aspose-email-cloud/models/requests/discover_email_config_password_request_data.rb +79 -0
  237. data/lib/aspose-email-cloud/models/requests/discover_email_config_request_data.rb +86 -0
  238. data/lib/aspose-email-cloud/models/requests/download_file_request_data.rb +90 -81
  239. data/lib/aspose-email-cloud/models/requests/email_request.rb +75 -75
  240. data/lib/aspose-email-cloud/models/requests/fetch_email_message_request_data.rb +115 -93
  241. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +115 -0
  242. data/lib/aspose-email-cloud/models/requests/fetch_email_thread_messages_request_data.rb +114 -0
  243. data/lib/aspose-email-cloud/models/requests/get_calendar_as_file_request_data.rb +101 -0
  244. data/lib/aspose-email-cloud/models/requests/get_calendar_attachment_request_data.rb +101 -88
  245. data/lib/aspose-email-cloud/models/requests/get_calendar_file_as_mapi_model_request_data.rb +80 -0
  246. data/lib/aspose-email-cloud/models/requests/get_calendar_file_as_model_request_data.rb +80 -0
  247. data/lib/aspose-email-cloud/models/requests/get_calendar_list_request_data.rb +108 -95
  248. data/lib/aspose-email-cloud/models/requests/get_calendar_model_as_alternate_request_data.rb +107 -0
  249. data/lib/aspose-email-cloud/models/requests/get_calendar_model_list_request_data.rb +98 -0
  250. data/lib/aspose-email-cloud/models/requests/get_calendar_model_request_data.rb +91 -0
  251. data/lib/aspose-email-cloud/models/requests/get_calendar_request_data.rb +91 -81
  252. data/lib/aspose-email-cloud/models/requests/get_contact_as_file_request_data.rb +111 -0
  253. data/lib/aspose-email-cloud/models/requests/get_contact_attachment_request_data.rb +111 -95
  254. data/lib/aspose-email-cloud/models/requests/get_contact_file_as_mapi_model_request_data.rb +90 -0
  255. data/lib/aspose-email-cloud/models/requests/get_contact_file_as_model_request_data.rb +90 -0
  256. data/lib/aspose-email-cloud/models/requests/get_contact_list_request_data.rb +103 -87
  257. data/lib/aspose-email-cloud/models/requests/get_contact_model_list_request_data.rb +103 -0
  258. data/lib/aspose-email-cloud/models/requests/get_contact_model_request_data.rb +101 -0
  259. data/lib/aspose-email-cloud/models/requests/get_contact_properties_request_data.rb +101 -88
  260. data/lib/aspose-email-cloud/models/requests/get_disc_usage_request_data.rb +74 -71
  261. data/lib/aspose-email-cloud/models/requests/get_email_as_file_request_data.rb +101 -0
  262. data/lib/aspose-email-cloud/models/requests/get_email_attachment_request_data.rb +101 -88
  263. data/lib/aspose-email-cloud/models/requests/get_email_client_account_request_data.rb +102 -0
  264. data/lib/aspose-email-cloud/models/requests/get_email_client_multi_account_request_data.rb +102 -0
  265. data/lib/aspose-email-cloud/models/requests/get_email_file_as_mapi_model_request_data.rb +90 -0
  266. data/lib/aspose-email-cloud/models/requests/get_email_file_as_model_request_data.rb +80 -0
  267. data/lib/aspose-email-cloud/models/requests/get_email_model_list_request_data.rb +103 -0
  268. data/lib/aspose-email-cloud/models/requests/get_email_model_request_data.rb +101 -0
  269. data/lib/aspose-email-cloud/models/requests/get_email_property_request_data.rb +101 -88
  270. data/lib/aspose-email-cloud/models/requests/get_email_request_data.rb +91 -81
  271. data/lib/aspose-email-cloud/models/requests/get_file_versions_request_data.rb +84 -78
  272. data/lib/aspose-email-cloud/models/requests/get_files_list_request_data.rb +84 -78
  273. data/lib/aspose-email-cloud/models/requests/get_mapi_attachment_request_data.rb +101 -88
  274. data/lib/aspose-email-cloud/models/requests/get_mapi_attachments_request_data.rb +91 -81
  275. data/lib/aspose-email-cloud/models/requests/get_mapi_calendar_model_request_data.rb +91 -0
  276. data/lib/aspose-email-cloud/models/requests/get_mapi_contact_model_request_data.rb +101 -0
  277. data/lib/aspose-email-cloud/models/requests/get_mapi_list_request_data.rb +93 -80
  278. data/lib/aspose-email-cloud/models/requests/get_mapi_message_model_request_data.rb +101 -0
  279. data/lib/aspose-email-cloud/models/requests/get_mapi_properties_request_data.rb +91 -81
  280. data/lib/aspose-email-cloud/models/requests/http_request.rb +51 -51
  281. data/lib/aspose-email-cloud/models/requests/is_email_address_disposable_request_data.rb +79 -0
  282. data/lib/aspose-email-cloud/models/requests/list_email_folders_request_data.rb +104 -88
  283. data/lib/aspose-email-cloud/models/requests/list_email_messages_request_data.rb +127 -105
  284. data/lib/aspose-email-cloud/models/requests/list_email_models_request_data.rb +122 -0
  285. data/lib/aspose-email-cloud/models/requests/list_email_threads_request_data.rb +121 -0
  286. data/lib/aspose-email-cloud/models/requests/move_email_message_request_data.rb +79 -0
  287. data/lib/aspose-email-cloud/models/requests/move_email_thread_request_data.rb +89 -0
  288. data/lib/aspose-email-cloud/models/requests/move_file_request_data.rb +107 -92
  289. data/lib/aspose-email-cloud/models/requests/move_folder_request_data.rb +101 -89
  290. data/lib/aspose-email-cloud/models/requests/object_exists_request_data.rb +90 -81
  291. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +89 -0
  292. data/lib/aspose-email-cloud/models/requests/save_contact_model_request_data.rb +99 -0
  293. data/lib/aspose-email-cloud/models/requests/save_email_client_account_request_data.rb +79 -0
  294. data/lib/aspose-email-cloud/models/requests/save_email_client_multi_account_request_data.rb +79 -0
  295. data/lib/aspose-email-cloud/models/requests/save_email_model_request_data.rb +99 -0
  296. data/lib/aspose-email-cloud/models/requests/save_mail_account_request_data.rb +79 -75
  297. data/lib/aspose-email-cloud/models/requests/save_mail_o_auth_account_request_data.rb +79 -75
  298. data/lib/aspose-email-cloud/models/requests/save_mapi_calendar_model_request_data.rb +99 -0
  299. data/lib/aspose-email-cloud/models/requests/save_mapi_contact_model_request_data.rb +99 -0
  300. data/lib/aspose-email-cloud/models/requests/save_mapi_message_model_request_data.rb +99 -0
  301. data/lib/aspose-email-cloud/models/requests/send_email_mime_request_data.rb +79 -75
  302. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +79 -0
  303. data/lib/aspose-email-cloud/models/requests/send_email_request_data.rb +79 -75
  304. data/lib/aspose-email-cloud/models/requests/set_email_property_request_data.rb +99 -89
  305. data/lib/aspose-email-cloud/models/requests/set_email_read_flag_request_data.rb +79 -75
  306. data/lib/aspose-email-cloud/models/requests/set_email_thread_read_flag_request_data.rb +89 -0
  307. data/lib/aspose-email-cloud/models/requests/storage_exists_request_data.rb +78 -75
  308. data/lib/aspose-email-cloud/models/requests/update_calendar_properties_request_data.rb +89 -82
  309. data/lib/aspose-email-cloud/models/requests/update_contact_properties_request_data.rb +99 -89
  310. data/lib/aspose-email-cloud/models/requests/update_mapi_properties_request_data.rb +89 -82
  311. data/lib/aspose-email-cloud/models/requests/upload_file_request_data.rb +96 -87
  312. data/lib/aspose-email-cloud/models/save_email_account_request.rb +434 -431
  313. data/lib/aspose-email-cloud/models/save_o_auth_email_account_request.rb +521 -505
  314. data/lib/aspose-email-cloud/models/send_email_base_request.rb +281 -278
  315. data/lib/aspose-email-cloud/models/send_email_mime_base_request.rb +300 -297
  316. data/lib/aspose-email-cloud/models/send_email_model_rq.rb +276 -0
  317. data/lib/aspose-email-cloud/models/set_email_property_request.rb +231 -228
  318. data/lib/aspose-email-cloud/models/set_message_read_flag_account_base_request.rb +318 -315
  319. data/lib/aspose-email-cloud/models/storage_exist.rb +217 -215
  320. data/lib/aspose-email-cloud/models/storage_file.rb +274 -272
  321. data/lib/aspose-email-cloud/models/storage_file_location.rb +263 -260
  322. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_account.rb +225 -0
  323. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_multi_account.rb +225 -0
  324. data/lib/aspose-email-cloud/models/storage_folder_location.rb +226 -223
  325. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +225 -0
  326. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +225 -0
  327. data/lib/aspose-email-cloud/models/storage_model_of_email_dto.rb +225 -0
  328. data/lib/aspose-email-cloud/models/storage_model_rq_of_calendar_dto.rb +225 -0
  329. data/lib/aspose-email-cloud/models/storage_model_rq_of_contact_dto.rb +225 -0
  330. data/lib/aspose-email-cloud/models/storage_model_rq_of_email_dto.rb +225 -0
  331. data/lib/aspose-email-cloud/models/storage_model_rq_of_mapi_calendar_dto.rb +225 -0
  332. data/lib/aspose-email-cloud/models/storage_model_rq_of_mapi_contact_dto.rb +225 -0
  333. data/lib/aspose-email-cloud/models/storage_model_rq_of_mapi_message_dto.rb +225 -0
  334. data/lib/aspose-email-cloud/models/task_regenerating_pattern_dto.rb +314 -0
  335. data/lib/aspose-email-cloud/models/url.rb +244 -0
  336. data/lib/aspose-email-cloud/models/value_response.rb +213 -210
  337. data/lib/aspose-email-cloud/models/value_t_of_boolean.rb +217 -0
  338. data/lib/aspose-email-cloud/models/weekly_recurrence_pattern_dto.rb +311 -0
  339. data/lib/aspose-email-cloud/models/yearly_recurrence_pattern_dto.rb +368 -0
  340. data/lib/aspose-email-cloud/version.rb +15 -15
  341. metadata +237 -52
@@ -1,210 +1,213 @@
1
- # ----------------------------------------------------------------------------
2
- # <copyright company="Aspose" file="EmailDocumentResponse.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
- # An email document response
31
- class EmailDocumentResponse
32
- # An email document requested
33
- # @return [EmailDocument]
34
- attr_accessor :document
35
-
36
- # Attribute mapping from ruby-style variable name to JSON key.
37
- def self.attribute_map
38
- {
39
- :'document' => :'document'
40
- }
41
- end
42
-
43
- # Attribute type mapping.
44
- def self.swagger_types
45
- {
46
- :'document' => :'EmailDocument'
47
- }
48
- end
49
-
50
- # Initializes the object
51
- # @param [Hash] attributes Model attributes in the form of hash
52
- def initialize(attributes = {})
53
- return unless attributes.is_a?(Hash)
54
-
55
- # convert string to symbol for hash key
56
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
57
-
58
- if attributes.has_key?(:'document')
59
- self.document = attributes[:'document']
60
- end
61
- end
62
-
63
- # Initializes the object
64
- # @param [EmailDocument] document An email document requested
65
- def initialize(document=nil)
66
- self.document = document if document
67
- end
68
-
69
- # Show invalid properties with the reasons. Usually used together with valid?
70
- # @return Array for valid properties with the reasons
71
- def list_invalid_properties
72
- invalid_properties = Array.new
73
- invalid_properties
74
- end
75
-
76
- # Check to see if the all the properties in the model are valid
77
- # @return true if the model is valid
78
- def valid?
79
- true
80
- end
81
-
82
- # Checks equality by comparing each attribute.
83
- # @param [Object] Object to be compared
84
- def ==(o)
85
- return true if self.equal?(o)
86
- self.class == o.class &&
87
- document == o.document
88
- end
89
-
90
- # @see the `==` method
91
- # @param [Object] Object to be compared
92
- def eql?(o)
93
- self == o
94
- end
95
-
96
- # Calculates hash code according to all attributes.
97
- # @return [Fixnum] Hash code
98
- def hash
99
- [document].hash
100
- end
101
-
102
- # Builds the object from hash
103
- # @param [Hash] attributes Model attributes in the form of hash
104
- # @return [Object] Returns the model itself
105
- def build_from_hash(attributes)
106
- return nil unless attributes.is_a?(Hash)
107
- self.class.swagger_types.each_pair do |key, type|
108
- attribute_key = self.class.attribute_map[key]
109
- attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
110
- if type =~ /\AArray<(.*)>/i
111
- # check to ensure the input is an array given that the the attribute
112
- # is documented as an array but the input is not
113
- if attributes[attribute_key].is_a?(Array)
114
- self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
115
- end
116
- elsif !attributes[attribute_key].nil?
117
- self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
118
- end # or else data not found in attributes(hash), not an issue as the data can be optional
119
- end
120
-
121
- self
122
- end
123
-
124
- # Deserializes the data based on type
125
- # @param string type Data type
126
- # @param string value Value to be deserialized
127
- # @return [Object] Deserialized data
128
- def _deserialize(type, value)
129
- case type.to_sym
130
- when :DateTime
131
- DateTime.parse(value)
132
- when :Date
133
- Date.parse(value)
134
- when :String
135
- value.to_s
136
- when :Integer
137
- value.to_i
138
- when :Float
139
- value.to_f
140
- when :BOOLEAN
141
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
- true
143
- else
144
- false
145
- end
146
- when :Object
147
- # generic object (usually a Hash), return directly
148
- value
149
- when /\AArray<(?<inner_type>.+)>\z/
150
- inner_type = Regexp.last_match[:inner_type]
151
- value.map { |v| _deserialize(inner_type, v) }
152
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
- k_type = Regexp.last_match[:k_type]
154
- v_type = Regexp.last_match[:v_type]
155
- {}.tap do |hash|
156
- value.each do |k, v|
157
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
- end
159
- end
160
- else # model
161
- type = value[:type] || type
162
- temp_model = AsposeEmailCloud.const_get(type).new
163
- temp_model.build_from_hash(value)
164
- end
165
- end
166
-
167
- # Returns the string representation of the object
168
- # @return [String] String presentation of the object
169
- def to_s
170
- to_hash.to_s
171
- end
172
-
173
- # to_body is an alias to to_hash (backward compatibility)
174
- # @return [Hash] Returns the object in the form of hash
175
- def to_body
176
- to_hash
177
- end
178
-
179
- # Returns the object in the form of hash
180
- # @return [Hash] Returns the object in the form of hash
181
- def to_hash
182
- hash = {}
183
- self.class.attribute_map.each_pair do |attr, param|
184
- value = self.send(attr)
185
- next if value.nil?
186
- hash[param] = _to_hash(value)
187
- end
188
- hash
189
- end
190
-
191
- # Outputs non-array value in the form of hash
192
- # For object, use to_hash. Otherwise, just return the value
193
- # @param [Object] value Any valid value
194
- # @return [Hash] Returns the value in the form of hash
195
- def _to_hash(value)
196
- if value.is_a?(Array)
197
- value.compact.map { |v| _to_hash(v) }
198
- elsif value.is_a?(Hash)
199
- {}.tap do |hash|
200
- value.each { |k, v| hash[k] = _to_hash(v) }
201
- end
202
- elsif value.respond_to? :to_hash
203
- value.to_hash
204
- else
205
- value
206
- end
207
- end
208
-
209
- end
210
- end
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="EmailDocumentResponse.rb">
3
+ # Copyright (c) 2018-2020 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
+ # An email document response
31
+ class EmailDocumentResponse
32
+ # An email document requested
33
+ # @return [EmailDocument]
34
+ attr_accessor :document
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'document' => :'document'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+ :'document' => :'EmailDocument'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
57
+
58
+ if attributes.has_key?(:'document')
59
+ self.document = attributes[:'document']
60
+ end
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [EmailDocument] document An email document requested
65
+ def initialize(document=nil)
66
+ self.document = document if document
67
+ end
68
+
69
+ # Show invalid properties with the reasons. Usually used together with valid?
70
+ # @return Array for valid properties with the reasons
71
+ def list_invalid_properties
72
+ invalid_properties = Array.new
73
+ invalid_properties
74
+ end
75
+
76
+ # Check to see if the all the properties in the model are valid
77
+ # @return true if the model is valid
78
+ def valid?
79
+ true
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param [Object] Object to be compared
84
+ def ==(o)
85
+ return true if self.equal?(o)
86
+ self.class == o.class &&
87
+ document == o.document
88
+ end
89
+
90
+ # @see the `==` method
91
+ # @param [Object] Object to be compared
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [document].hash
100
+ end
101
+
102
+ # Builds the object from hash
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ # @return [Object] Returns the model itself
105
+ def build_from_hash(attributes)
106
+ return nil unless attributes.is_a?(Hash)
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ attribute_key = self.class.attribute_map[key]
109
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
110
+ if type =~ /\AArray<(.*)>/i
111
+ # check to ensure the input is an array given that the the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[attribute_key].is_a?(Array)
114
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
115
+ end
116
+ elsif !attributes[attribute_key].nil?
117
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
118
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
119
+ end
120
+
121
+ self
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def _deserialize(type, value)
129
+ case type.to_sym
130
+ when :DateTime
131
+ DateTime.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :BOOLEAN
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ sub_type = value[:type] || value[:discriminator] || type
162
+ if AsposeEmailCloud.const_defined?(sub_type)
163
+ type = sub_type
164
+ end
165
+ temp_model = AsposeEmailCloud.const_get(type).new
166
+ temp_model.build_from_hash(value)
167
+ end
168
+ end
169
+
170
+ # Returns the string representation of the object
171
+ # @return [String] String presentation of the object
172
+ def to_s
173
+ to_hash.to_s
174
+ end
175
+
176
+ # to_body is an alias to to_hash (backward compatibility)
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_body
179
+ to_hash
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ next if value.nil?
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ # Outputs non-array value in the form of hash
195
+ # For object, use to_hash. Otherwise, just return the value
196
+ # @param [Object] value Any valid value
197
+ # @return [Hash] Returns the value in the form of hash
198
+ def _to_hash(value)
199
+ if value.is_a?(Array)
200
+ value.compact.map { |v| _to_hash(v) }
201
+ elsif value.is_a?(Hash)
202
+ {}.tap do |hash|
203
+ value.each { |k, v| hash[k] = _to_hash(v) }
204
+ end
205
+ elsif value.respond_to? :to_hash
206
+ value.to_hash
207
+ else
208
+ value
209
+ end
210
+ end
211
+
212
+ end
213
+ end
@@ -0,0 +1,681 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="EmailDto.rb">
3
+ # Copyright (c) 2018-2020 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
+ sub_type = value[:type] || value[:discriminator] || type
630
+ if AsposeEmailCloud.const_defined?(sub_type)
631
+ type = sub_type
632
+ end
633
+ temp_model = AsposeEmailCloud.const_get(type).new
634
+ temp_model.build_from_hash(value)
635
+ end
636
+ end
637
+
638
+ # Returns the string representation of the object
639
+ # @return [String] String presentation of the object
640
+ def to_s
641
+ to_hash.to_s
642
+ end
643
+
644
+ # to_body is an alias to to_hash (backward compatibility)
645
+ # @return [Hash] Returns the object in the form of hash
646
+ def to_body
647
+ to_hash
648
+ end
649
+
650
+ # Returns the object in the form of hash
651
+ # @return [Hash] Returns the object in the form of hash
652
+ def to_hash
653
+ hash = {}
654
+ self.class.attribute_map.each_pair do |attr, param|
655
+ value = self.send(attr)
656
+ next if value.nil?
657
+ hash[param] = _to_hash(value)
658
+ end
659
+ hash
660
+ end
661
+
662
+ # Outputs non-array value in the form of hash
663
+ # For object, use to_hash. Otherwise, just return the value
664
+ # @param [Object] value Any valid value
665
+ # @return [Hash] Returns the value in the form of hash
666
+ def _to_hash(value)
667
+ if value.is_a?(Array)
668
+ value.compact.map { |v| _to_hash(v) }
669
+ elsif value.is_a?(Hash)
670
+ {}.tap do |hash|
671
+ value.each { |k, v| hash[k] = _to_hash(v) }
672
+ end
673
+ elsif value.respond_to? :to_hash
674
+ value.to_hash
675
+ else
676
+ value
677
+ end
678
+ end
679
+
680
+ end
681
+ end