aspose_email_cloud 20.1.0 → 20.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (355) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +215 -174
  3. data/lib/aspose-email-cloud/api/ai_bcr_api.rb +84 -0
  4. data/lib/aspose-email-cloud/api/ai_group.rb +49 -0
  5. data/lib/aspose-email-cloud/api/ai_name_api.rb +213 -0
  6. data/lib/aspose-email-cloud/api/calendar_api.rb +206 -0
  7. data/lib/aspose-email-cloud/api/client_account_api.rb +121 -0
  8. data/lib/aspose-email-cloud/api/client_folder_api.rb +113 -0
  9. data/lib/aspose-email-cloud/api/client_group.rb +59 -0
  10. data/lib/aspose-email-cloud/api/client_message_api.rb +230 -0
  11. data/lib/aspose-email-cloud/api/client_thread_api.rb +149 -0
  12. data/lib/aspose-email-cloud/api/cloud_storage_group.rb +54 -0
  13. data/lib/aspose-email-cloud/api/contact_api.rb +171 -0
  14. data/lib/aspose-email-cloud/api/disposable_email_api.rb +57 -0
  15. data/lib/aspose-email-cloud/api/email_api.rb +171 -855
  16. data/lib/aspose-email-cloud/api/email_cloud.rb +96 -0
  17. data/lib/aspose-email-cloud/api/email_config_api.rb +111 -0
  18. data/lib/aspose-email-cloud/api/file_api.rb +92 -0
  19. data/lib/aspose-email-cloud/api/folder_api.rb +93 -0
  20. data/lib/aspose-email-cloud/api/mapi_calendar_api.rb +147 -0
  21. data/lib/aspose-email-cloud/api/mapi_contact_api.rb +147 -0
  22. data/lib/aspose-email-cloud/api/mapi_group.rb +54 -0
  23. data/lib/aspose-email-cloud/api/mapi_message_api.rb +147 -0
  24. data/lib/aspose-email-cloud/api/storage_api.rb +81 -0
  25. data/lib/aspose-email-cloud/api_client.rb +387 -382
  26. data/lib/aspose-email-cloud/api_error.rb +41 -41
  27. data/lib/aspose-email-cloud/api_invoker.rb +92 -0
  28. data/lib/aspose-email-cloud/configuration.rb +240 -240
  29. data/lib/aspose-email-cloud/models/ai_bcr_image.rb +204 -215
  30. data/lib/aspose-email-cloud/models/ai_bcr_image_storage_file.rb +218 -228
  31. data/lib/aspose-email-cloud/models/ai_bcr_options.rb +208 -223
  32. data/lib/aspose-email-cloud/models/ai_bcr_parse_request.rb +93 -0
  33. data/lib/aspose-email-cloud/models/{ai_bcr_parse_storage_rq.rb → ai_bcr_parse_storage_request.rb} +227 -248
  34. data/lib/aspose-email-cloud/models/{requests/ai_name_complete_request_data.rb → ai_name_complete_request.rb} +104 -91
  35. data/lib/aspose-email-cloud/models/ai_name_component.rb +241 -264
  36. data/lib/aspose-email-cloud/models/ai_name_component_list.rb +199 -0
  37. data/lib/aspose-email-cloud/models/ai_name_cultural_context.rb +240 -267
  38. data/lib/aspose-email-cloud/models/{requests/ai_name_expand_request_data.rb → ai_name_expand_request.rb} +104 -91
  39. data/lib/aspose-email-cloud/models/ai_name_extracted.rb +213 -230
  40. data/lib/aspose-email-cloud/models/ai_name_extracted_component.rb +213 -228
  41. data/lib/aspose-email-cloud/models/ai_name_extracted_list.rb +199 -0
  42. data/lib/aspose-email-cloud/models/ai_name_format_request.rb +110 -0
  43. data/lib/aspose-email-cloud/models/ai_name_formatted.rb +208 -223
  44. data/lib/aspose-email-cloud/models/ai_name_gender_hypothesis.rb +218 -233
  45. data/lib/aspose-email-cloud/models/{list_response_of_ai_bcr_ocr_data.rb → ai_name_gender_hypothesis_list.rb} +199 -211
  46. data/lib/aspose-email-cloud/models/ai_name_genderize_request.rb +104 -0
  47. data/lib/aspose-email-cloud/models/{ai_name_parsed_match_rq.rb → ai_name_match_parsed_request.rb} +236 -263
  48. data/lib/aspose-email-cloud/models/ai_name_match_request.rb +114 -0
  49. data/lib/aspose-email-cloud/models/ai_name_match_result.rb +213 -230
  50. data/lib/aspose-email-cloud/models/ai_name_mismatch.rb +227 -246
  51. data/lib/aspose-email-cloud/models/ai_name_parse_email_address_request.rb +105 -0
  52. data/lib/aspose-email-cloud/models/ai_name_parse_request.rb +104 -0
  53. data/lib/aspose-email-cloud/models/{ai_name_parsed_rq.rb → ai_name_parsed_request.rb} +222 -243
  54. data/lib/aspose-email-cloud/models/ai_name_weighted.rb +213 -228
  55. data/lib/aspose-email-cloud/models/ai_name_weighted_variants.rb +208 -225
  56. data/lib/aspose-email-cloud/models/alternate_view.rb +244 -279
  57. data/lib/aspose-email-cloud/models/associated_person.rb +222 -241
  58. data/lib/aspose-email-cloud/models/attachment.rb +276 -321
  59. data/lib/aspose-email-cloud/models/attachment_base.rb +226 -251
  60. data/lib/aspose-email-cloud/models/{calendar_dto_alternate_rq.rb → calendar_as_alternate_request.rb} +246 -265
  61. data/lib/aspose-email-cloud/models/calendar_as_file_request.rb +218 -0
  62. data/lib/aspose-email-cloud/models/{requests/save_email_model_request_data.rb → calendar_convert_request.rb} +84 -89
  63. data/lib/aspose-email-cloud/models/calendar_dto.rb +462 -554
  64. data/lib/aspose-email-cloud/models/{requests/ai_bcr_ocr_storage_request_data.rb → calendar_from_file_request.rb} +74 -75
  65. data/lib/aspose-email-cloud/models/calendar_get_as_alternate_request.rb +102 -0
  66. data/lib/aspose-email-cloud/models/calendar_get_as_file_request.rb +96 -0
  67. data/lib/aspose-email-cloud/models/{requests/get_email_model_list_request_data.rb → calendar_get_list_request.rb} +93 -87
  68. data/lib/aspose-email-cloud/models/{requests/get_email_request_data.rb → calendar_get_request.rb} +86 -81
  69. data/lib/aspose-email-cloud/models/calendar_reminder.rb +272 -315
  70. data/lib/aspose-email-cloud/models/{storage_model_rq_of_calendar_dto.rb → calendar_save_request.rb} +232 -222
  71. data/lib/aspose-email-cloud/models/{calendar_dto_list.rb → calendar_storage_list.rb} +199 -212
  72. data/lib/aspose-email-cloud/models/client_account_base_request.rb +204 -0
  73. data/lib/aspose-email-cloud/models/{requests/get_email_attachment_request_data.rb → client_account_get_multi_request.rb} +87 -88
  74. data/lib/aspose-email-cloud/models/{requests/create_email_request_data.rb → client_account_get_request.rb} +86 -82
  75. data/lib/aspose-email-cloud/models/client_account_save_multi_request.rb +218 -0
  76. data/lib/aspose-email-cloud/models/client_account_save_request.rb +218 -0
  77. data/lib/aspose-email-cloud/models/{email_property.rb → client_folder_create_request.rb} +246 -265
  78. data/lib/aspose-email-cloud/models/{ai_bcr_base64_image.rb → client_folder_delete_request.rb} +237 -228
  79. data/lib/aspose-email-cloud/models/client_folder_get_list_request.rb +93 -0
  80. data/lib/aspose-email-cloud/models/client_message_append_file_request.rb +114 -0
  81. data/lib/aspose-email-cloud/models/client_message_append_request.rb +241 -0
  82. data/lib/aspose-email-cloud/models/client_message_base_request.rb +237 -0
  83. data/lib/aspose-email-cloud/models/{ai_bcr_ocr_data.rb → client_message_delete_request.rb} +246 -253
  84. data/lib/aspose-email-cloud/models/client_message_fetch_file_request.rb +108 -0
  85. data/lib/aspose-email-cloud/models/client_message_fetch_request.rb +114 -0
  86. data/lib/aspose-email-cloud/models/{requests/list_email_messages_request_data.rb → client_message_list_request.rb} +121 -105
  87. data/lib/aspose-email-cloud/models/{set_message_read_flag_account_base_request.rb → client_message_move_request.rb} +279 -315
  88. data/lib/aspose-email-cloud/models/client_message_send_file_request.rb +103 -0
  89. data/lib/aspose-email-cloud/models/client_message_send_request.rb +218 -0
  90. data/lib/aspose-email-cloud/models/client_message_set_is_read_request.rb +251 -0
  91. data/lib/aspose-email-cloud/models/{hierarchical_object_response.rb → client_thread_base_request.rb} +237 -223
  92. data/lib/aspose-email-cloud/models/{hierarchical_object.rb → client_thread_delete_request.rb} +246 -244
  93. data/lib/aspose-email-cloud/models/client_thread_get_list_request.rb +108 -0
  94. data/lib/aspose-email-cloud/models/client_thread_get_messages_request.rb +103 -0
  95. data/lib/aspose-email-cloud/models/{account_base_request.rb → client_thread_move_request.rb} +270 -260
  96. data/lib/aspose-email-cloud/models/client_thread_set_is_read_request.rb +260 -0
  97. data/lib/aspose-email-cloud/models/contact_as_file_request.rb +218 -0
  98. data/lib/aspose-email-cloud/models/contact_convert_request.rb +94 -0
  99. data/lib/aspose-email-cloud/models/contact_dto.rb +529 -696
  100. data/lib/aspose-email-cloud/models/{requests/convert_email_request_data.rb → contact_from_file_request.rb} +84 -83
  101. data/lib/aspose-email-cloud/models/contact_get_as_file_request.rb +106 -0
  102. data/lib/aspose-email-cloud/models/{requests/get_contact_model_list_request_data.rb → contact_get_list_request.rb} +99 -87
  103. data/lib/aspose-email-cloud/models/{requests/get_contact_model_request_data.rb → contact_get_request.rb} +96 -88
  104. data/lib/aspose-email-cloud/models/contact_list.rb +199 -0
  105. data/lib/aspose-email-cloud/models/contact_photo.rb +252 -228
  106. data/lib/aspose-email-cloud/models/{storage_model_rq_of_contact_dto.rb → contact_save_request.rb} +232 -222
  107. data/lib/aspose-email-cloud/models/{contact_dto_list.rb → contact_storage_list.rb} +199 -212
  108. data/lib/aspose-email-cloud/models/content_type.rb +235 -264
  109. data/lib/aspose-email-cloud/models/content_type_parameter.rb +208 -223
  110. data/lib/aspose-email-cloud/models/{requests/copy_file_request_data.rb → copy_file_request.rb} +101 -92
  111. data/lib/aspose-email-cloud/models/{requests/copy_folder_request_data.rb → copy_folder_request.rb} +95 -89
  112. data/lib/aspose-email-cloud/models/{requests/create_folder_request_data.rb → create_folder_request.rb} +79 -78
  113. data/lib/aspose-email-cloud/models/customer_event.rb +213 -228
  114. data/lib/aspose-email-cloud/models/daily_recurrence_pattern_dto.rb +261 -0
  115. data/lib/aspose-email-cloud/models/{requests/delete_file_request_data.rb → delete_file_request.rb} +85 -81
  116. data/lib/aspose-email-cloud/models/{requests/delete_folder_request_data.rb → delete_folder_request.rb} +85 -81
  117. data/lib/aspose-email-cloud/models/disc_usage.rb +218 -233
  118. data/lib/aspose-email-cloud/models/discover_email_config_request.rb +246 -0
  119. data/lib/aspose-email-cloud/models/{requests/ai_bcr_parse_model_request_data.rb → disposable_email_is_disposable_request.rb} +75 -75
  120. data/lib/aspose-email-cloud/models/{requests/download_file_request_data.rb → download_file_request.rb} +85 -81
  121. data/lib/aspose-email-cloud/models/{link.rb → email_account_config.rb} +277 -249
  122. data/lib/aspose-email-cloud/models/{list_response_of_hierarchical_object.rb → email_account_config_list.rb} +199 -211
  123. data/lib/aspose-email-cloud/models/email_address.rb +273 -267
  124. data/lib/aspose-email-cloud/models/email_as_file_request.rb +218 -0
  125. data/lib/aspose-email-cloud/models/{email_account_request.rb → email_client_account.rb} +316 -394
  126. data/lib/aspose-email-cloud/models/{ai_bcr_parse_ocr_data_rq.rb → email_client_account_credentials.rb} +238 -230
  127. data/lib/aspose-email-cloud/models/{save_o_auth_email_account_request.rb → email_client_account_oauth_credentials.rb} +346 -505
  128. data/lib/aspose-email-cloud/models/{indexed_hierarchical_object.rb → email_client_account_password_credentials.rb} +271 -262
  129. data/lib/aspose-email-cloud/models/email_client_multi_account.rb +213 -0
  130. data/lib/aspose-email-cloud/models/email_config_discover_oauth_request.rb +353 -0
  131. data/lib/aspose-email-cloud/models/email_config_discover_password_request.rb +278 -0
  132. data/lib/aspose-email-cloud/models/email_config_discover_request.rb +81 -0
  133. data/lib/aspose-email-cloud/models/email_convert_request.rb +94 -0
  134. data/lib/aspose-email-cloud/models/email_dto.rb +523 -678
  135. data/lib/aspose-email-cloud/models/email_from_file_request.rb +84 -0
  136. data/lib/aspose-email-cloud/models/{requests/get_email_as_file_request_data.rb → email_get_as_file_request.rb} +96 -88
  137. data/lib/aspose-email-cloud/models/email_get_list_request.rb +99 -0
  138. data/lib/aspose-email-cloud/models/email_get_request.rb +96 -0
  139. data/lib/aspose-email-cloud/models/email_list.rb +199 -0
  140. data/lib/aspose-email-cloud/models/{requests/email_request.rb → email_request.rb} +72 -75
  141. data/lib/aspose-email-cloud/models/{storage_model_rq_of_email_dto.rb → email_save_request.rb} +232 -222
  142. data/lib/aspose-email-cloud/models/{email_dto_list.rb → email_storage_list.rb} +199 -212
  143. data/lib/aspose-email-cloud/models/email_thread.rb +226 -0
  144. data/lib/aspose-email-cloud/models/email_thread_list.rb +199 -0
  145. data/lib/aspose-email-cloud/models/enum_with_custom_of_associated_person_category.rb +231 -227
  146. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +231 -227
  147. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +231 -227
  148. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +231 -227
  149. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +231 -227
  150. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +231 -227
  151. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +231 -227
  152. data/lib/aspose-email-cloud/models/error.rb +226 -249
  153. data/lib/aspose-email-cloud/models/error_details.rb +213 -228
  154. data/lib/aspose-email-cloud/models/file_version.rb +268 -303
  155. data/lib/aspose-email-cloud/models/file_versions.rb +199 -212
  156. data/lib/aspose-email-cloud/models/files_list.rb +199 -212
  157. data/lib/aspose-email-cloud/models/files_upload_result.rb +208 -227
  158. data/lib/aspose-email-cloud/models/{requests/get_disc_usage_request_data.rb → get_disc_usage_request.rb} +70 -71
  159. data/lib/aspose-email-cloud/models/{requests/get_file_versions_request_data.rb → get_file_versions_request.rb} +79 -78
  160. data/lib/aspose-email-cloud/models/{requests/get_files_list_request_data.rb → get_files_list_request.rb} +79 -78
  161. data/lib/aspose-email-cloud/models/{requests/http_request.rb → http_request.rb} +47 -51
  162. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +222 -241
  163. data/lib/aspose-email-cloud/models/linked_resource.rb +235 -264
  164. data/lib/aspose-email-cloud/models/list_response_of_ai_name_component.rb +198 -211
  165. data/lib/aspose-email-cloud/models/list_response_of_ai_name_extracted.rb +198 -211
  166. data/lib/aspose-email-cloud/models/list_response_of_ai_name_gender_hypothesis.rb +198 -211
  167. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +198 -211
  168. data/lib/aspose-email-cloud/models/list_response_of_email_account_config.rb +198 -0
  169. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +198 -211
  170. data/lib/aspose-email-cloud/models/list_response_of_email_thread.rb +198 -0
  171. data/lib/aspose-email-cloud/models/list_response_of_mail_message_base.rb +198 -0
  172. data/lib/aspose-email-cloud/models/list_response_of_mail_server_folder.rb +198 -211
  173. data/lib/aspose-email-cloud/models/list_response_of_storage_file_location.rb +198 -211
  174. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +198 -211
  175. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +198 -211
  176. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +198 -211
  177. data/lib/aspose-email-cloud/models/mail_address.rb +231 -241
  178. data/lib/aspose-email-cloud/models/mail_message_base.rb +205 -0
  179. data/lib/aspose-email-cloud/models/{indexed_primitive_object.rb → mail_message_base64.rb} +252 -260
  180. data/lib/aspose-email-cloud/models/mail_message_base_list.rb +199 -0
  181. data/lib/aspose-email-cloud/models/mail_message_dto.rb +219 -0
  182. data/lib/aspose-email-cloud/models/mail_message_mapi.rb +219 -0
  183. data/lib/aspose-email-cloud/models/mail_server_folder.rb +208 -223
  184. data/lib/aspose-email-cloud/models/mail_server_folder_list.rb +199 -0
  185. data/lib/aspose-email-cloud/models/{mime_response.rb → mapi_attachment_dto.rb} +208 -210
  186. data/lib/aspose-email-cloud/models/{base_object.rb → mapi_binary_property_dto.rb} +223 -229
  187. data/lib/aspose-email-cloud/models/mapi_boolean_property_dto.rb +228 -0
  188. data/lib/aspose-email-cloud/models/mapi_calendar_as_file_request.rb +218 -0
  189. data/lib/aspose-email-cloud/models/{ai_bcr_base64_rq.rb → mapi_calendar_attendees_dto.rb} +236 -225
  190. data/lib/aspose-email-cloud/models/mapi_calendar_daily_recurrence_pattern_dto.rb +381 -0
  191. data/lib/aspose-email-cloud/models/mapi_calendar_dto.rb +561 -0
  192. data/lib/aspose-email-cloud/models/{ai_bcr_ocr_data_part.rb → mapi_calendar_event_recurrence_dto.rb} +259 -297
  193. data/lib/aspose-email-cloud/models/mapi_calendar_exception_info_dto.rb +361 -0
  194. data/lib/aspose-email-cloud/models/{requests/ai_bcr_ocr_request_data.rb → mapi_calendar_from_file_request.rb} +74 -75
  195. data/lib/aspose-email-cloud/models/mapi_calendar_get_request.rb +87 -0
  196. data/lib/aspose-email-cloud/models/mapi_calendar_recurrence_pattern_dto.rb +372 -0
  197. data/lib/aspose-email-cloud/models/mapi_calendar_save_request.rb +232 -0
  198. data/lib/aspose-email-cloud/models/mapi_calendar_time_zone_dto.rb +208 -0
  199. data/lib/aspose-email-cloud/models/{send_email_base_request.rb → mapi_calendar_time_zone_info_dto.rb} +273 -278
  200. data/lib/aspose-email-cloud/models/{delete_folder_base_request.rb → mapi_calendar_time_zone_rule_dto.rb} +344 -315
  201. data/lib/aspose-email-cloud/models/mapi_calendar_weekly_recurrence_pattern_dto.rb +381 -0
  202. data/lib/aspose-email-cloud/models/mapi_calendar_yearly_and_monthly_recurrence_pattern_dto.rb +409 -0
  203. data/lib/aspose-email-cloud/models/mapi_contact_as_file_request.rb +218 -0
  204. data/lib/aspose-email-cloud/models/mapi_contact_dto.rb +440 -0
  205. data/lib/aspose-email-cloud/models/mapi_contact_electronic_address_dto.rb +249 -0
  206. data/lib/aspose-email-cloud/models/mapi_contact_electronic_address_property_set_dto.rb +281 -0
  207. data/lib/aspose-email-cloud/models/mapi_contact_event_property_set_dto.rb +218 -0
  208. data/lib/aspose-email-cloud/models/mapi_contact_from_file_request.rb +84 -0
  209. data/lib/aspose-email-cloud/models/mapi_contact_get_request.rb +97 -0
  210. data/lib/aspose-email-cloud/models/mapi_contact_name_property_set_dto.rb +285 -0
  211. data/lib/aspose-email-cloud/models/mapi_contact_other_property_set_dto.rb +277 -0
  212. data/lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb +366 -0
  213. data/lib/aspose-email-cloud/models/mapi_contact_photo_dto.rb +252 -0
  214. data/lib/aspose-email-cloud/models/mapi_contact_physical_address_dto.rb +276 -0
  215. data/lib/aspose-email-cloud/models/{ai_bcr_storage_image_rq.rb → mapi_contact_physical_address_property_set_dto.rb} +217 -230
  216. data/lib/aspose-email-cloud/models/mapi_contact_professional_property_set_dto.rb +253 -0
  217. data/lib/aspose-email-cloud/models/mapi_contact_save_request.rb +232 -0
  218. data/lib/aspose-email-cloud/models/mapi_contact_telephone_property_set_dto.rb +371 -0
  219. data/lib/aspose-email-cloud/models/mapi_date_time_property_dto.rb +228 -0
  220. data/lib/aspose-email-cloud/models/mapi_electronic_address_dto.rb +235 -0
  221. data/lib/aspose-email-cloud/models/mapi_file_as_property_dto.rb +228 -0
  222. data/lib/aspose-email-cloud/models/mapi_importance_property_dto.rb +228 -0
  223. data/lib/aspose-email-cloud/models/mapi_int_property_dto.rb +228 -0
  224. data/lib/aspose-email-cloud/models/mapi_known_property_descriptor.rb +238 -0
  225. data/lib/aspose-email-cloud/models/mapi_legacy_free_busy_property_dto.rb +228 -0
  226. data/lib/aspose-email-cloud/models/mapi_message_as_file_request.rb +218 -0
  227. data/lib/aspose-email-cloud/models/mapi_message_dto.rb +604 -0
  228. data/lib/aspose-email-cloud/models/{requests/get_email_model_request_data.rb → mapi_message_from_file_request.rb} +84 -88
  229. data/lib/aspose-email-cloud/models/mapi_message_get_request.rb +97 -0
  230. data/lib/aspose-email-cloud/models/mapi_message_item_base_dto.rb +359 -0
  231. data/lib/aspose-email-cloud/models/mapi_message_save_request.rb +232 -0
  232. data/lib/aspose-email-cloud/models/mapi_multi_int_property_dto.rb +223 -0
  233. data/lib/aspose-email-cloud/models/mapi_multi_string_property_dto.rb +223 -0
  234. data/lib/aspose-email-cloud/models/mapi_physical_address_index_property_dto.rb +228 -0
  235. data/lib/aspose-email-cloud/models/mapi_pid_lid_property_descriptor.rb +279 -0
  236. data/lib/aspose-email-cloud/models/mapi_pid_name_property_descriptor.rb +265 -0
  237. data/lib/aspose-email-cloud/models/mapi_pid_property_descriptor.rb +251 -0
  238. data/lib/aspose-email-cloud/models/mapi_pid_tag_property_descriptor.rb +279 -0
  239. data/lib/aspose-email-cloud/models/mapi_property_descriptor.rb +205 -0
  240. data/lib/aspose-email-cloud/models/mapi_property_dto.rb +214 -0
  241. data/lib/aspose-email-cloud/models/mapi_recipient_dto.rb +231 -0
  242. data/lib/aspose-email-cloud/models/{primitive_object.rb → mapi_response_type_property_dto.rb} +228 -242
  243. data/lib/aspose-email-cloud/models/mapi_string_property_dto.rb +223 -0
  244. data/lib/aspose-email-cloud/models/{create_folder_base_request.rb → monthly_recurrence_pattern_dto.rb} +303 -310
  245. data/lib/aspose-email-cloud/models/{requests/move_file_request_data.rb → move_file_request.rb} +101 -92
  246. data/lib/aspose-email-cloud/models/{requests/move_folder_request_data.rb → move_folder_request.rb} +96 -89
  247. data/lib/aspose-email-cloud/models/{value_response.rb → name_value_pair.rb} +208 -210
  248. data/lib/aspose-email-cloud/models/object_exist.rb +218 -233
  249. data/lib/aspose-email-cloud/models/{requests/object_exists_request_data.rb → object_exists_request.rb} +85 -81
  250. data/lib/aspose-email-cloud/models/phone_number.rb +222 -241
  251. data/lib/aspose-email-cloud/models/postal_address.rb +299 -350
  252. data/lib/aspose-email-cloud/models/recurrence_pattern_dto.rb +261 -0
  253. data/lib/aspose-email-cloud/models/reminder_attendee.rb +223 -210
  254. data/lib/aspose-email-cloud/models/reminder_trigger.rb +227 -246
  255. data/lib/aspose-email-cloud/models/storage_exist.rb +204 -215
  256. data/lib/aspose-email-cloud/models/{requests/storage_exists_request_data.rb → storage_exists_request.rb} +74 -75
  257. data/lib/aspose-email-cloud/models/storage_file.rb +245 -272
  258. data/lib/aspose-email-cloud/models/storage_file_location.rb +241 -260
  259. data/lib/aspose-email-cloud/models/storage_file_location_list.rb +199 -0
  260. data/lib/aspose-email-cloud/models/storage_folder_location.rb +208 -223
  261. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +217 -222
  262. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +217 -222
  263. data/lib/aspose-email-cloud/models/storage_model_of_email_client_account.rb +217 -0
  264. data/lib/aspose-email-cloud/models/storage_model_of_email_client_multi_account.rb +217 -0
  265. data/lib/aspose-email-cloud/models/storage_model_of_email_dto.rb +217 -222
  266. data/lib/aspose-email-cloud/models/storage_model_of_mapi_calendar_dto.rb +217 -0
  267. data/lib/aspose-email-cloud/models/storage_model_of_mapi_contact_dto.rb +217 -0
  268. data/lib/aspose-email-cloud/models/storage_model_of_mapi_message_dto.rb +217 -0
  269. data/lib/aspose-email-cloud/models/task_regenerating_pattern_dto.rb +275 -0
  270. data/lib/aspose-email-cloud/models/{requests/upload_file_request_data.rb → upload_file_request.rb} +90 -87
  271. data/lib/aspose-email-cloud/models/url.rb +222 -241
  272. data/lib/aspose-email-cloud/models/{list_response_of_string.rb → value_t_of_boolean.rb} +203 -211
  273. data/lib/aspose-email-cloud/models/value_t_of_string.rb +222 -0
  274. data/lib/aspose-email-cloud/models/weekly_recurrence_pattern_dto.rb +270 -0
  275. data/lib/aspose-email-cloud/models/yearly_recurrence_pattern_dto.rb +317 -0
  276. data/lib/aspose-email-cloud/version.rb +15 -15
  277. metadata +254 -198
  278. data/lib/aspose-email-cloud/models/add_attachment_request.rb +0 -223
  279. data/lib/aspose-email-cloud/models/ai_bcr_rq.rb +0 -210
  280. data/lib/aspose-email-cloud/models/append_email_account_base_request.rb +0 -315
  281. data/lib/aspose-email-cloud/models/append_email_base_request.rb +0 -333
  282. data/lib/aspose-email-cloud/models/append_email_mime_base_request.rb +0 -352
  283. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +0 -333
  284. data/lib/aspose-email-cloud/models/create_email_request.rb +0 -228
  285. data/lib/aspose-email-cloud/models/delete_message_base_request.rb +0 -315
  286. data/lib/aspose-email-cloud/models/email_document.rb +0 -230
  287. data/lib/aspose-email-cloud/models/email_document_response.rb +0 -210
  288. data/lib/aspose-email-cloud/models/email_properties.rb +0 -230
  289. data/lib/aspose-email-cloud/models/email_property_response.rb +0 -210
  290. data/lib/aspose-email-cloud/models/hierarchical_object_request.rb +0 -228
  291. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object_response.rb +0 -211
  292. data/lib/aspose-email-cloud/models/requests/add_calendar_attachment_request_data.rb +0 -89
  293. data/lib/aspose-email-cloud/models/requests/add_contact_attachment_request_data.rb +0 -96
  294. data/lib/aspose-email-cloud/models/requests/add_email_attachment_request_data.rb +0 -89
  295. data/lib/aspose-email-cloud/models/requests/add_mapi_attachment_request_data.rb +0 -89
  296. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +0 -75
  297. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_request_data.rb +0 -75
  298. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_storage_request_data.rb +0 -75
  299. data/lib/aspose-email-cloud/models/requests/ai_name_expand_parsed_request_data.rb +0 -75
  300. data/lib/aspose-email-cloud/models/requests/ai_name_format_parsed_request_data.rb +0 -75
  301. data/lib/aspose-email-cloud/models/requests/ai_name_format_request_data.rb +0 -94
  302. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_parsed_request_data.rb +0 -75
  303. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_request_data.rb +0 -91
  304. data/lib/aspose-email-cloud/models/requests/ai_name_match_parsed_request_data.rb +0 -75
  305. data/lib/aspose-email-cloud/models/requests/ai_name_match_request_data.rb +0 -99
  306. data/lib/aspose-email-cloud/models/requests/ai_name_parse_email_address_request_data.rb +0 -91
  307. data/lib/aspose-email-cloud/models/requests/ai_name_parse_request_data.rb +0 -91
  308. data/lib/aspose-email-cloud/models/requests/append_email_message_request_data.rb +0 -75
  309. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +0 -75
  310. data/lib/aspose-email-cloud/models/requests/append_mime_message_request_data.rb +0 -75
  311. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +0 -75
  312. data/lib/aspose-email-cloud/models/requests/create_calendar_request_data.rb +0 -82
  313. data/lib/aspose-email-cloud/models/requests/create_contact_request_data.rb +0 -89
  314. data/lib/aspose-email-cloud/models/requests/create_email_folder_request_data.rb +0 -75
  315. data/lib/aspose-email-cloud/models/requests/create_mapi_request_data.rb +0 -82
  316. data/lib/aspose-email-cloud/models/requests/delete_calendar_property_request_data.rb +0 -96
  317. data/lib/aspose-email-cloud/models/requests/delete_contact_property_request_data.rb +0 -103
  318. data/lib/aspose-email-cloud/models/requests/delete_email_folder_request_data.rb +0 -75
  319. data/lib/aspose-email-cloud/models/requests/delete_email_message_request_data.rb +0 -75
  320. data/lib/aspose-email-cloud/models/requests/delete_mapi_attachment_request_data.rb +0 -89
  321. data/lib/aspose-email-cloud/models/requests/delete_mapi_properties_request_data.rb +0 -82
  322. data/lib/aspose-email-cloud/models/requests/fetch_email_message_request_data.rb +0 -93
  323. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +0 -93
  324. data/lib/aspose-email-cloud/models/requests/get_calendar_attachment_request_data.rb +0 -88
  325. data/lib/aspose-email-cloud/models/requests/get_calendar_list_request_data.rb +0 -95
  326. data/lib/aspose-email-cloud/models/requests/get_calendar_model_as_alternate_request_data.rb +0 -91
  327. data/lib/aspose-email-cloud/models/requests/get_calendar_model_list_request_data.rb +0 -85
  328. data/lib/aspose-email-cloud/models/requests/get_calendar_model_request_data.rb +0 -81
  329. data/lib/aspose-email-cloud/models/requests/get_calendar_request_data.rb +0 -81
  330. data/lib/aspose-email-cloud/models/requests/get_contact_attachment_request_data.rb +0 -95
  331. data/lib/aspose-email-cloud/models/requests/get_contact_list_request_data.rb +0 -87
  332. data/lib/aspose-email-cloud/models/requests/get_contact_properties_request_data.rb +0 -88
  333. data/lib/aspose-email-cloud/models/requests/get_email_property_request_data.rb +0 -88
  334. data/lib/aspose-email-cloud/models/requests/get_mapi_attachment_request_data.rb +0 -88
  335. data/lib/aspose-email-cloud/models/requests/get_mapi_attachments_request_data.rb +0 -81
  336. data/lib/aspose-email-cloud/models/requests/get_mapi_list_request_data.rb +0 -80
  337. data/lib/aspose-email-cloud/models/requests/get_mapi_properties_request_data.rb +0 -81
  338. data/lib/aspose-email-cloud/models/requests/list_email_folders_request_data.rb +0 -88
  339. data/lib/aspose-email-cloud/models/requests/list_email_models_request_data.rb +0 -105
  340. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +0 -82
  341. data/lib/aspose-email-cloud/models/requests/save_contact_model_request_data.rb +0 -89
  342. data/lib/aspose-email-cloud/models/requests/save_mail_account_request_data.rb +0 -75
  343. data/lib/aspose-email-cloud/models/requests/save_mail_o_auth_account_request_data.rb +0 -75
  344. data/lib/aspose-email-cloud/models/requests/send_email_mime_request_data.rb +0 -75
  345. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +0 -75
  346. data/lib/aspose-email-cloud/models/requests/send_email_request_data.rb +0 -75
  347. data/lib/aspose-email-cloud/models/requests/set_email_property_request_data.rb +0 -89
  348. data/lib/aspose-email-cloud/models/requests/set_email_read_flag_request_data.rb +0 -75
  349. data/lib/aspose-email-cloud/models/requests/update_calendar_properties_request_data.rb +0 -82
  350. data/lib/aspose-email-cloud/models/requests/update_contact_properties_request_data.rb +0 -89
  351. data/lib/aspose-email-cloud/models/requests/update_mapi_properties_request_data.rb +0 -82
  352. data/lib/aspose-email-cloud/models/save_email_account_request.rb +0 -431
  353. data/lib/aspose-email-cloud/models/send_email_mime_base_request.rb +0 -297
  354. data/lib/aspose-email-cloud/models/send_email_model_rq.rb +0 -273
  355. data/lib/aspose-email-cloud/models/set_email_property_request.rb +0 -228
@@ -0,0 +1,228 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="MapiLegacyFreeBusyPropertyDto.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
+ require 'date'
27
+
28
+ module AsposeEmailCloud
29
+ # Mapi property with LegacyFreeBusyType value
30
+ class MapiLegacyFreeBusyPropertyDto < MapiPropertyDto
31
+ # Property descriptor
32
+ # @return [MapiPropertyDescriptor]
33
+ attr_accessor :descriptor
34
+ def discriminator #getter method
35
+ self.class.name.split('::').last
36
+ end
37
+
38
+ def discriminator=(discriminator) #setter method, parameter ignored
39
+ @discriminator = self.class.name.split('::').last
40
+ end
41
+ # Represents the free/busy status for a calendar event. Enum, available values: Free, Tentative, Busy, Oof, WorkingElsewhere, NoData
42
+ # @return [String]
43
+ attr_accessor :value
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'descriptor' => :'descriptor',
48
+ :'discriminator' => :'discriminator',
49
+ :'value' => :'value'
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.swagger_types
55
+ {
56
+ :'descriptor' => :'MapiPropertyDescriptor',
57
+ :'discriminator' => :'String',
58
+ :'value' => :'String'
59
+ }
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [MapiPropertyDescriptor] descriptor Property descriptor
64
+ # @param [String] value Represents the free/busy status for a calendar event. Enum, available values: Free, Tentative, Busy, Oof, WorkingElsewhere, NoData
65
+ def initialize(
66
+ descriptor: nil,
67
+ value: nil)
68
+ self.descriptor = descriptor if descriptor
69
+ self.value = value if value
70
+ end
71
+
72
+ # Show invalid properties with the reasons. Usually used together with valid?
73
+ # @return Array for valid properties with the reasons
74
+ def list_invalid_properties
75
+ invalid_properties = Array.new
76
+ if @discriminator.nil?
77
+ invalid_properties.push('invalid value for "discriminator", discriminator cannot be nil.')
78
+ end
79
+
80
+ if @value.nil?
81
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
82
+ end
83
+
84
+ invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+ return false if @discriminator.nil?
91
+ return false if @value.nil?
92
+ true
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param [Object] Object to be compared
97
+ def ==(o)
98
+ return true if self.equal?(o)
99
+ self.class == o.class &&
100
+ descriptor == o.descriptor &&
101
+ discriminator == o.discriminator &&
102
+ value == o.value
103
+ end
104
+
105
+ # @see the `==` method
106
+ # @param [Object] Object to be compared
107
+ def eql?(o)
108
+ self == o
109
+ end
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Fixnum] Hash code
113
+ def hash
114
+ [descriptor, discriminator, value].hash
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def build_from_hash(attributes)
121
+ return nil unless attributes.is_a?(Hash)
122
+ self.class.swagger_types.each_pair do |key, type|
123
+ attribute_key = self.class.attribute_map[key]
124
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
125
+ if type =~ /\AArray<(.*)>/i
126
+ # check to ensure the input is an array given that the the attribute
127
+ # is documented as an array but the input is not
128
+ if attributes[attribute_key].is_a?(Array)
129
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
130
+ end
131
+ elsif !attributes[attribute_key].nil?
132
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
133
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
134
+ end
135
+
136
+ self
137
+ end
138
+
139
+ # Deserializes the data based on type
140
+ # @param string type Data type
141
+ # @param string value Value to be deserialized
142
+ # @return [Object] Deserialized data
143
+ def _deserialize(type, value)
144
+ case type.to_sym
145
+ when :DateTime
146
+ DateTime.parse(value)
147
+ when :Date
148
+ Date.parse(value)
149
+ when :String
150
+ value.to_s
151
+ when :Integer
152
+ value.to_i
153
+ when :Float
154
+ value.to_f
155
+ when :BOOLEAN
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ sub_type = value[:type] || value[:discriminator] || type
177
+ if AsposeEmailCloud.const_defined?(sub_type)
178
+ type = sub_type
179
+ end
180
+ temp_model = AsposeEmailCloud.const_get(type).new
181
+ temp_model.build_from_hash(value)
182
+ end
183
+ end
184
+
185
+ # Returns the string representation of the object
186
+ # @return [String] String presentation of the object
187
+ def to_s
188
+ to_hash.to_s
189
+ end
190
+
191
+ # to_body is an alias to to_hash (backward compatibility)
192
+ # @return [Hash] Returns the object in the form of hash
193
+ def to_body
194
+ to_hash
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ next if value.nil?
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end
226
+
227
+ end
228
+ end
@@ -0,0 +1,218 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="MapiMessageAsFileRequest.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
+ require 'date'
27
+
28
+ module AsposeEmailCloud
29
+ # Convert MapiMessage to file request.
30
+ class MapiMessageAsFileRequest
31
+ # Email document format. Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html, Tnef, Oft
32
+ # @return [String]
33
+ attr_accessor :format
34
+ # MAPI message model.
35
+ # @return [MapiMessageDto]
36
+ attr_accessor :value
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+ :'format' => :'format',
41
+ :'value' => :'value'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.swagger_types
47
+ {
48
+ :'format' => :'String',
49
+ :'value' => :'MapiMessageDto'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [String] format Email document format. Enum, available values: Eml, Msg, MsgUnicode, Mhtml, Html, Tnef, Oft
55
+ # @param [MapiMessageDto] value MAPI message model.
56
+ def initialize(
57
+ format: nil,
58
+ value: nil)
59
+ self.format = format if format
60
+ self.value = value if value
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ if @format.nil?
68
+ invalid_properties.push('invalid value for "format", format cannot be nil.')
69
+ end
70
+
71
+ if @value.nil?
72
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
73
+ end
74
+
75
+ invalid_properties
76
+ end
77
+
78
+ # Check to see if the all the properties in the model are valid
79
+ # @return true if the model is valid
80
+ def valid?
81
+ return false if @format.nil?
82
+ return false if @value.nil?
83
+ true
84
+ end
85
+
86
+ # Checks equality by comparing each attribute.
87
+ # @param [Object] Object to be compared
88
+ def ==(o)
89
+ return true if self.equal?(o)
90
+ self.class == o.class &&
91
+ format == o.format &&
92
+ value == o.value
93
+ end
94
+
95
+ # @see the `==` method
96
+ # @param [Object] Object to be compared
97
+ def eql?(o)
98
+ self == o
99
+ end
100
+
101
+ # Calculates hash code according to all attributes.
102
+ # @return [Fixnum] Hash code
103
+ def hash
104
+ [format, value].hash
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ self.class.swagger_types.each_pair do |key, type|
113
+ attribute_key = self.class.attribute_map[key]
114
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
115
+ if type =~ /\AArray<(.*)>/i
116
+ # check to ensure the input is an array given that the the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[attribute_key].is_a?(Array)
119
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
120
+ end
121
+ elsif !attributes[attribute_key].nil?
122
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
123
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Deserializes the data based on type
130
+ # @param string type Data type
131
+ # @param string value Value to be deserialized
132
+ # @return [Object] Deserialized data
133
+ def _deserialize(type, value)
134
+ case type.to_sym
135
+ when :DateTime
136
+ DateTime.parse(value)
137
+ when :Date
138
+ Date.parse(value)
139
+ when :String
140
+ value.to_s
141
+ when :Integer
142
+ value.to_i
143
+ when :Float
144
+ value.to_f
145
+ when :BOOLEAN
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ sub_type = value[:type] || value[:discriminator] || type
167
+ if AsposeEmailCloud.const_defined?(sub_type)
168
+ type = sub_type
169
+ end
170
+ temp_model = AsposeEmailCloud.const_get(type).new
171
+ temp_model.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ next if value.nil?
194
+ hash[param] = _to_hash(value)
195
+ end
196
+ hash
197
+ end
198
+
199
+ # Outputs non-array value in the form of hash
200
+ # For object, use to_hash. Otherwise, just return the value
201
+ # @param [Object] value Any valid value
202
+ # @return [Hash] Returns the value in the form of hash
203
+ def _to_hash(value)
204
+ if value.is_a?(Array)
205
+ value.compact.map { |v| _to_hash(v) }
206
+ elsif value.is_a?(Hash)
207
+ {}.tap do |hash|
208
+ value.each { |k, v| hash[k] = _to_hash(v) }
209
+ end
210
+ elsif value.respond_to? :to_hash
211
+ value.to_hash
212
+ else
213
+ value
214
+ end
215
+ end
216
+
217
+ end
218
+ end
@@ -0,0 +1,604 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="MapiMessageDto.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
+ require 'date'
27
+
28
+ module AsposeEmailCloud
29
+ # Represents an Outlook Message format document.
30
+ class MapiMessageDto < MapiMessageItemBaseDto
31
+ # Message item attachments.
32
+ # @return [Array<MapiAttachmentDto>]
33
+ attr_accessor :attachments
34
+ # Billing information associated with an item.
35
+ # @return [String]
36
+ attr_accessor :billing
37
+ # Message text.
38
+ # @return [String]
39
+ attr_accessor :body
40
+ # Gets the BodyRtf of the message converted to HTML, if present, otherwise an empty string.
41
+ # @return [String]
42
+ attr_accessor :body_html
43
+ # RTF formatted message text.
44
+ # @return [String]
45
+ attr_accessor :body_rtf
46
+ # The content type of message body. Enum, available values: PlainText, Html, Rtf
47
+ # @return [String]
48
+ attr_accessor :body_type
49
+ # Contains keywords or categories for the message object.
50
+ # @return [Array<String>]
51
+ attr_accessor :categories
52
+ # Contains the names of the companies that are associated with an item.
53
+ # @return [Array<String>]
54
+ attr_accessor :companies
55
+ # The item id, uses with a server.
56
+ # @return [String]
57
+ attr_accessor :item_id
58
+ # Case-sensitive string that identifies the sender-defined message class, such as IPM.Note. The message class specifies the type, purpose, or content of the message.
59
+ # @return [String]
60
+ attr_accessor :message_class
61
+ # Contains the mileage information that is associated with an item.
62
+ # @return [String]
63
+ attr_accessor :mileage
64
+ # Recipients of the message.
65
+ # @return [Array<MapiRecipientDto>]
66
+ attr_accessor :recipients
67
+ # Contains values that indicate the message sensitivity. Enum, available values: None, Personal, Private, CompanyConfidential
68
+ # @return [String]
69
+ attr_accessor :sensitivity
70
+ # Subject of the message.
71
+ # @return [String]
72
+ attr_accessor :subject
73
+ # Subject prefix that typically indicates some action on a message, such as \"FW: \" for forwarding.
74
+ # @return [String]
75
+ attr_accessor :subject_prefix
76
+ # List of MAPI properties
77
+ # @return [Array<MapiPropertyDto>]
78
+ attr_accessor :properties
79
+ def discriminator #getter method
80
+ self.class.name.split('::').last
81
+ end
82
+
83
+ def discriminator=(discriminator) #setter method, parameter ignored
84
+ @discriminator = self.class.name.split('::').last
85
+ end
86
+ # Message text
87
+ # @return [String]
88
+ attr_accessor :message_body
89
+ # Date and time the message sender submitted a message.
90
+ # @return [DateTime]
91
+ attr_accessor :client_submit_time
92
+ # Topic of the first message in a conversation thread.
93
+ # @return [String]
94
+ attr_accessor :conversation_topic
95
+ # Date and time a message was delivered.
96
+ # @return [DateTime]
97
+ attr_accessor :delivery_time
98
+ # List of the display names of any blind carbon copy (BCC) message recipients, separated by semicolons (;).
99
+ # @return [String]
100
+ attr_accessor :display_bcc
101
+ # List of the display names of any carbon copy (CC) message recipients, separated by semicolons (;).
102
+ # @return [String]
103
+ attr_accessor :display_cc
104
+ # Display name for the message.
105
+ # @return [String]
106
+ attr_accessor :display_name
107
+ # Prefix of the display name.
108
+ # @return [String]
109
+ attr_accessor :display_name_prefix
110
+ # List of the display names of the primary (To) message recipients, separated by semicolons (;).
111
+ # @return [String]
112
+ attr_accessor :display_to
113
+ # Message flags. Items: Mapi message flags. Enum, available values: MsgFlagZero, MsgFlagRead, MsgFlagUnmodified, MsgFlagSubmit, MsgFlagUnsent, MsgFlagHasAttach, MsgFlagFromMe, MsgFlagAssociated, MsgFlagResend, MsgFlagNotifyRead, MsgFlagNotifyUnread, MsgFlagEverRead, MsgFlagOriginX400, MsgFlagOriginInternet, MsgFlagOriginMiscExt
114
+ # @return [Array<String>]
115
+ attr_accessor :flags
116
+ # Transport message headers
117
+ # @return [Hash<String, String>]
118
+ attr_accessor :headers
119
+ # Internet message id of the message.
120
+ # @return [String]
121
+ attr_accessor :internet_message_id
122
+ # Represents outlook message format. Enum, available values: Ascii, Unicode
123
+ # @return [String]
124
+ attr_accessor :message_format
125
+ # Normalized subject of the message.
126
+ # @return [String]
127
+ attr_accessor :normalized_subject
128
+ # Value indicating whether the read receipt is requested.
129
+ # @return [BOOLEAN]
130
+ attr_accessor :read_receipt_requested
131
+ # Reply to names.
132
+ # @return [String]
133
+ attr_accessor :reply_to
134
+ # Message sender's e-mail address type.
135
+ # @return [String]
136
+ attr_accessor :sender_address_type
137
+ # Message sender's e-mail address.
138
+ # @return [String]
139
+ attr_accessor :sender_email_address
140
+ # Message sender's display name.
141
+ # @return [String]
142
+ attr_accessor :sender_name
143
+ # Message sender's e-mail address.
144
+ # @return [String]
145
+ attr_accessor :sender_smtp_address
146
+ # Address type for the messaging user represented by the sender.
147
+ # @return [String]
148
+ attr_accessor :sent_representing_address_type
149
+ # E-mail address for the messaging user represented by the sender.
150
+ # @return [String]
151
+ attr_accessor :sent_representing_email_address
152
+ # Display name for the messaging user represented by the sender.
153
+ # @return [String]
154
+ attr_accessor :sent_representing_name
155
+ # E-mail address for the messaging user represented by the sender.
156
+ # @return [String]
157
+ attr_accessor :sent_representing_smtp_address
158
+ # Transport-specific message envelope information.
159
+ # @return [String]
160
+ attr_accessor :transport_message_headers
161
+ # Attribute mapping from ruby-style variable name to JSON key.
162
+ def self.attribute_map
163
+ {
164
+ :'attachments' => :'attachments',
165
+ :'billing' => :'billing',
166
+ :'body' => :'body',
167
+ :'body_html' => :'bodyHtml',
168
+ :'body_rtf' => :'bodyRtf',
169
+ :'body_type' => :'bodyType',
170
+ :'categories' => :'categories',
171
+ :'companies' => :'companies',
172
+ :'item_id' => :'itemId',
173
+ :'message_class' => :'messageClass',
174
+ :'mileage' => :'mileage',
175
+ :'recipients' => :'recipients',
176
+ :'sensitivity' => :'sensitivity',
177
+ :'subject' => :'subject',
178
+ :'subject_prefix' => :'subjectPrefix',
179
+ :'properties' => :'properties',
180
+ :'discriminator' => :'discriminator',
181
+ :'message_body' => :'messageBody',
182
+ :'client_submit_time' => :'clientSubmitTime',
183
+ :'conversation_topic' => :'conversationTopic',
184
+ :'delivery_time' => :'deliveryTime',
185
+ :'display_bcc' => :'displayBcc',
186
+ :'display_cc' => :'displayCc',
187
+ :'display_name' => :'displayName',
188
+ :'display_name_prefix' => :'displayNamePrefix',
189
+ :'display_to' => :'displayTo',
190
+ :'flags' => :'flags',
191
+ :'headers' => :'headers',
192
+ :'internet_message_id' => :'internetMessageId',
193
+ :'message_format' => :'messageFormat',
194
+ :'normalized_subject' => :'normalizedSubject',
195
+ :'read_receipt_requested' => :'readReceiptRequested',
196
+ :'reply_to' => :'replyTo',
197
+ :'sender_address_type' => :'senderAddressType',
198
+ :'sender_email_address' => :'senderEmailAddress',
199
+ :'sender_name' => :'senderName',
200
+ :'sender_smtp_address' => :'senderSmtpAddress',
201
+ :'sent_representing_address_type' => :'sentRepresentingAddressType',
202
+ :'sent_representing_email_address' => :'sentRepresentingEmailAddress',
203
+ :'sent_representing_name' => :'sentRepresentingName',
204
+ :'sent_representing_smtp_address' => :'sentRepresentingSmtpAddress',
205
+ :'transport_message_headers' => :'transportMessageHeaders'
206
+ }
207
+ end
208
+
209
+ # Attribute type mapping.
210
+ def self.swagger_types
211
+ {
212
+ :'attachments' => :'Array<MapiAttachmentDto>',
213
+ :'billing' => :'String',
214
+ :'body' => :'String',
215
+ :'body_html' => :'String',
216
+ :'body_rtf' => :'String',
217
+ :'body_type' => :'String',
218
+ :'categories' => :'Array<String>',
219
+ :'companies' => :'Array<String>',
220
+ :'item_id' => :'String',
221
+ :'message_class' => :'String',
222
+ :'mileage' => :'String',
223
+ :'recipients' => :'Array<MapiRecipientDto>',
224
+ :'sensitivity' => :'String',
225
+ :'subject' => :'String',
226
+ :'subject_prefix' => :'String',
227
+ :'properties' => :'Array<MapiPropertyDto>',
228
+ :'discriminator' => :'String',
229
+ :'message_body' => :'String',
230
+ :'client_submit_time' => :'DateTime',
231
+ :'conversation_topic' => :'String',
232
+ :'delivery_time' => :'DateTime',
233
+ :'display_bcc' => :'String',
234
+ :'display_cc' => :'String',
235
+ :'display_name' => :'String',
236
+ :'display_name_prefix' => :'String',
237
+ :'display_to' => :'String',
238
+ :'flags' => :'Array<String>',
239
+ :'headers' => :'Hash<String, String>',
240
+ :'internet_message_id' => :'String',
241
+ :'message_format' => :'String',
242
+ :'normalized_subject' => :'String',
243
+ :'read_receipt_requested' => :'BOOLEAN',
244
+ :'reply_to' => :'String',
245
+ :'sender_address_type' => :'String',
246
+ :'sender_email_address' => :'String',
247
+ :'sender_name' => :'String',
248
+ :'sender_smtp_address' => :'String',
249
+ :'sent_representing_address_type' => :'String',
250
+ :'sent_representing_email_address' => :'String',
251
+ :'sent_representing_name' => :'String',
252
+ :'sent_representing_smtp_address' => :'String',
253
+ :'transport_message_headers' => :'String'
254
+ }
255
+ end
256
+
257
+ # Initializes the object
258
+ # @param [Array<MapiAttachmentDto>] attachments Message item attachments.
259
+ # @param [String] billing Billing information associated with an item.
260
+ # @param [String] body Message text.
261
+ # @param [String] body_html Gets the BodyRtf of the message converted to HTML, if present, otherwise an empty string.
262
+ # @param [String] body_rtf RTF formatted message text.
263
+ # @param [String] body_type The content type of message body. Enum, available values: PlainText, Html, Rtf
264
+ # @param [Array<String>] categories Contains keywords or categories for the message object.
265
+ # @param [Array<String>] companies Contains the names of the companies that are associated with an item.
266
+ # @param [String] item_id The item id, uses with a server.
267
+ # @param [String] message_class Case-sensitive string that identifies the sender-defined message class, such as IPM.Note. The message class specifies the type, purpose, or content of the message.
268
+ # @param [String] mileage Contains the mileage information that is associated with an item.
269
+ # @param [Array<MapiRecipientDto>] recipients Recipients of the message.
270
+ # @param [String] sensitivity Contains values that indicate the message sensitivity. Enum, available values: None, Personal, Private, CompanyConfidential
271
+ # @param [String] subject Subject of the message.
272
+ # @param [String] subject_prefix Subject prefix that typically indicates some action on a message, such as \"FW: \" for forwarding.
273
+ # @param [Array<MapiPropertyDto>] properties List of MAPI properties
274
+ # @param [String] message_body Message text
275
+ # @param [DateTime] client_submit_time Date and time the message sender submitted a message.
276
+ # @param [String] conversation_topic Topic of the first message in a conversation thread.
277
+ # @param [DateTime] delivery_time Date and time a message was delivered.
278
+ # @param [String] display_bcc List of the display names of any blind carbon copy (BCC) message recipients, separated by semicolons (;).
279
+ # @param [String] display_cc List of the display names of any carbon copy (CC) message recipients, separated by semicolons (;).
280
+ # @param [String] display_name Display name for the message.
281
+ # @param [String] display_name_prefix Prefix of the display name.
282
+ # @param [String] display_to List of the display names of the primary (To) message recipients, separated by semicolons (;).
283
+ # @param [Array<String>] flags Message flags. Items: Mapi message flags. Enum, available values: MsgFlagZero, MsgFlagRead, MsgFlagUnmodified, MsgFlagSubmit, MsgFlagUnsent, MsgFlagHasAttach, MsgFlagFromMe, MsgFlagAssociated, MsgFlagResend, MsgFlagNotifyRead, MsgFlagNotifyUnread, MsgFlagEverRead, MsgFlagOriginX400, MsgFlagOriginInternet, MsgFlagOriginMiscExt
284
+ # @param [Hash<String, String>] headers Transport message headers
285
+ # @param [String] internet_message_id Internet message id of the message.
286
+ # @param [String] message_format Represents outlook message format. Enum, available values: Ascii, Unicode
287
+ # @param [String] normalized_subject Normalized subject of the message.
288
+ # @param [BOOLEAN] read_receipt_requested Value indicating whether the read receipt is requested.
289
+ # @param [String] reply_to Reply to names.
290
+ # @param [String] sender_address_type Message sender's e-mail address type.
291
+ # @param [String] sender_email_address Message sender's e-mail address.
292
+ # @param [String] sender_name Message sender's display name.
293
+ # @param [String] sender_smtp_address Message sender's e-mail address.
294
+ # @param [String] sent_representing_address_type Address type for the messaging user represented by the sender.
295
+ # @param [String] sent_representing_email_address E-mail address for the messaging user represented by the sender.
296
+ # @param [String] sent_representing_name Display name for the messaging user represented by the sender.
297
+ # @param [String] sent_representing_smtp_address E-mail address for the messaging user represented by the sender.
298
+ # @param [String] transport_message_headers Transport-specific message envelope information.
299
+ def initialize(
300
+ attachments: nil,
301
+ billing: nil,
302
+ body: nil,
303
+ body_html: nil,
304
+ body_rtf: nil,
305
+ body_type: nil,
306
+ categories: nil,
307
+ companies: nil,
308
+ item_id: nil,
309
+ message_class: nil,
310
+ mileage: nil,
311
+ recipients: nil,
312
+ sensitivity: nil,
313
+ subject: nil,
314
+ subject_prefix: nil,
315
+ properties: nil,
316
+ message_body: nil,
317
+ client_submit_time: nil,
318
+ conversation_topic: nil,
319
+ delivery_time: nil,
320
+ display_bcc: nil,
321
+ display_cc: nil,
322
+ display_name: nil,
323
+ display_name_prefix: nil,
324
+ display_to: nil,
325
+ flags: nil,
326
+ headers: nil,
327
+ internet_message_id: nil,
328
+ message_format: nil,
329
+ normalized_subject: nil,
330
+ read_receipt_requested: nil,
331
+ reply_to: nil,
332
+ sender_address_type: nil,
333
+ sender_email_address: nil,
334
+ sender_name: nil,
335
+ sender_smtp_address: nil,
336
+ sent_representing_address_type: nil,
337
+ sent_representing_email_address: nil,
338
+ sent_representing_name: nil,
339
+ sent_representing_smtp_address: nil,
340
+ transport_message_headers: nil)
341
+ self.attachments = attachments if attachments
342
+ self.billing = billing if billing
343
+ self.body = body if body
344
+ self.body_html = body_html if body_html
345
+ self.body_rtf = body_rtf if body_rtf
346
+ self.body_type = body_type if body_type
347
+ self.categories = categories if categories
348
+ self.companies = companies if companies
349
+ self.item_id = item_id if item_id
350
+ self.message_class = message_class if message_class
351
+ self.mileage = mileage if mileage
352
+ self.recipients = recipients if recipients
353
+ self.sensitivity = sensitivity if sensitivity
354
+ self.subject = subject if subject
355
+ self.subject_prefix = subject_prefix if subject_prefix
356
+ self.properties = properties if properties
357
+ self.message_body = message_body if message_body
358
+ self.client_submit_time = client_submit_time if client_submit_time
359
+ self.conversation_topic = conversation_topic if conversation_topic
360
+ self.delivery_time = delivery_time if delivery_time
361
+ self.display_bcc = display_bcc if display_bcc
362
+ self.display_cc = display_cc if display_cc
363
+ self.display_name = display_name if display_name
364
+ self.display_name_prefix = display_name_prefix if display_name_prefix
365
+ self.display_to = display_to if display_to
366
+ self.flags = flags if flags
367
+ self.headers = headers if headers
368
+ self.internet_message_id = internet_message_id if internet_message_id
369
+ self.message_format = message_format if message_format
370
+ self.normalized_subject = normalized_subject if normalized_subject
371
+ self.read_receipt_requested = read_receipt_requested if read_receipt_requested
372
+ self.reply_to = reply_to if reply_to
373
+ self.sender_address_type = sender_address_type if sender_address_type
374
+ self.sender_email_address = sender_email_address if sender_email_address
375
+ self.sender_name = sender_name if sender_name
376
+ self.sender_smtp_address = sender_smtp_address if sender_smtp_address
377
+ self.sent_representing_address_type = sent_representing_address_type if sent_representing_address_type
378
+ self.sent_representing_email_address = sent_representing_email_address if sent_representing_email_address
379
+ self.sent_representing_name = sent_representing_name if sent_representing_name
380
+ self.sent_representing_smtp_address = sent_representing_smtp_address if sent_representing_smtp_address
381
+ self.transport_message_headers = transport_message_headers if transport_message_headers
382
+ end
383
+
384
+ # Show invalid properties with the reasons. Usually used together with valid?
385
+ # @return Array for valid properties with the reasons
386
+ def list_invalid_properties
387
+ invalid_properties = Array.new
388
+ if @body_type.nil?
389
+ invalid_properties.push('invalid value for "body_type", body_type cannot be nil.')
390
+ end
391
+
392
+ if @sensitivity.nil?
393
+ invalid_properties.push('invalid value for "sensitivity", sensitivity cannot be nil.')
394
+ end
395
+
396
+ if @discriminator.nil?
397
+ invalid_properties.push('invalid value for "discriminator", discriminator cannot be nil.')
398
+ end
399
+
400
+ if @client_submit_time.nil?
401
+ invalid_properties.push('invalid value for "client_submit_time", client_submit_time cannot be nil.')
402
+ end
403
+
404
+ if @delivery_time.nil?
405
+ invalid_properties.push('invalid value for "delivery_time", delivery_time cannot be nil.')
406
+ end
407
+
408
+ if @message_format.nil?
409
+ invalid_properties.push('invalid value for "message_format", message_format cannot be nil.')
410
+ end
411
+
412
+ if @read_receipt_requested.nil?
413
+ invalid_properties.push('invalid value for "read_receipt_requested", read_receipt_requested cannot be nil.')
414
+ end
415
+
416
+ invalid_properties
417
+ end
418
+
419
+ # Check to see if the all the properties in the model are valid
420
+ # @return true if the model is valid
421
+ def valid?
422
+ return false if @body_type.nil?
423
+ return false if @sensitivity.nil?
424
+ return false if @discriminator.nil?
425
+ return false if @client_submit_time.nil?
426
+ return false if @delivery_time.nil?
427
+ return false if @message_format.nil?
428
+ return false if @read_receipt_requested.nil?
429
+ true
430
+ end
431
+
432
+ # Checks equality by comparing each attribute.
433
+ # @param [Object] Object to be compared
434
+ def ==(o)
435
+ return true if self.equal?(o)
436
+ self.class == o.class &&
437
+ attachments == o.attachments &&
438
+ billing == o.billing &&
439
+ body == o.body &&
440
+ body_html == o.body_html &&
441
+ body_rtf == o.body_rtf &&
442
+ body_type == o.body_type &&
443
+ categories == o.categories &&
444
+ companies == o.companies &&
445
+ item_id == o.item_id &&
446
+ message_class == o.message_class &&
447
+ mileage == o.mileage &&
448
+ recipients == o.recipients &&
449
+ sensitivity == o.sensitivity &&
450
+ subject == o.subject &&
451
+ subject_prefix == o.subject_prefix &&
452
+ properties == o.properties &&
453
+ discriminator == o.discriminator &&
454
+ message_body == o.message_body &&
455
+ client_submit_time == o.client_submit_time &&
456
+ conversation_topic == o.conversation_topic &&
457
+ delivery_time == o.delivery_time &&
458
+ display_bcc == o.display_bcc &&
459
+ display_cc == o.display_cc &&
460
+ display_name == o.display_name &&
461
+ display_name_prefix == o.display_name_prefix &&
462
+ display_to == o.display_to &&
463
+ flags == o.flags &&
464
+ headers == o.headers &&
465
+ internet_message_id == o.internet_message_id &&
466
+ message_format == o.message_format &&
467
+ normalized_subject == o.normalized_subject &&
468
+ read_receipt_requested == o.read_receipt_requested &&
469
+ reply_to == o.reply_to &&
470
+ sender_address_type == o.sender_address_type &&
471
+ sender_email_address == o.sender_email_address &&
472
+ sender_name == o.sender_name &&
473
+ sender_smtp_address == o.sender_smtp_address &&
474
+ sent_representing_address_type == o.sent_representing_address_type &&
475
+ sent_representing_email_address == o.sent_representing_email_address &&
476
+ sent_representing_name == o.sent_representing_name &&
477
+ sent_representing_smtp_address == o.sent_representing_smtp_address &&
478
+ transport_message_headers == o.transport_message_headers
479
+ end
480
+
481
+ # @see the `==` method
482
+ # @param [Object] Object to be compared
483
+ def eql?(o)
484
+ self == o
485
+ end
486
+
487
+ # Calculates hash code according to all attributes.
488
+ # @return [Fixnum] Hash code
489
+ def hash
490
+ [attachments, billing, body, body_html, body_rtf, body_type, categories, companies, item_id, message_class, mileage, recipients, sensitivity, subject, subject_prefix, properties, discriminator, message_body, client_submit_time, conversation_topic, delivery_time, display_bcc, display_cc, display_name, display_name_prefix, display_to, flags, headers, internet_message_id, message_format, normalized_subject, read_receipt_requested, reply_to, sender_address_type, sender_email_address, sender_name, sender_smtp_address, sent_representing_address_type, sent_representing_email_address, sent_representing_name, sent_representing_smtp_address, transport_message_headers].hash
491
+ end
492
+
493
+ # Builds the object from hash
494
+ # @param [Hash] attributes Model attributes in the form of hash
495
+ # @return [Object] Returns the model itself
496
+ def build_from_hash(attributes)
497
+ return nil unless attributes.is_a?(Hash)
498
+ self.class.swagger_types.each_pair do |key, type|
499
+ attribute_key = self.class.attribute_map[key]
500
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
501
+ if type =~ /\AArray<(.*)>/i
502
+ # check to ensure the input is an array given that the the attribute
503
+ # is documented as an array but the input is not
504
+ if attributes[attribute_key].is_a?(Array)
505
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
506
+ end
507
+ elsif !attributes[attribute_key].nil?
508
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
509
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
510
+ end
511
+
512
+ self
513
+ end
514
+
515
+ # Deserializes the data based on type
516
+ # @param string type Data type
517
+ # @param string value Value to be deserialized
518
+ # @return [Object] Deserialized data
519
+ def _deserialize(type, value)
520
+ case type.to_sym
521
+ when :DateTime
522
+ DateTime.parse(value)
523
+ when :Date
524
+ Date.parse(value)
525
+ when :String
526
+ value.to_s
527
+ when :Integer
528
+ value.to_i
529
+ when :Float
530
+ value.to_f
531
+ when :BOOLEAN
532
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
533
+ true
534
+ else
535
+ false
536
+ end
537
+ when :Object
538
+ # generic object (usually a Hash), return directly
539
+ value
540
+ when /\AArray<(?<inner_type>.+)>\z/
541
+ inner_type = Regexp.last_match[:inner_type]
542
+ value.map { |v| _deserialize(inner_type, v) }
543
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
544
+ k_type = Regexp.last_match[:k_type]
545
+ v_type = Regexp.last_match[:v_type]
546
+ {}.tap do |hash|
547
+ value.each do |k, v|
548
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
549
+ end
550
+ end
551
+ else # model
552
+ sub_type = value[:type] || value[:discriminator] || type
553
+ if AsposeEmailCloud.const_defined?(sub_type)
554
+ type = sub_type
555
+ end
556
+ temp_model = AsposeEmailCloud.const_get(type).new
557
+ temp_model.build_from_hash(value)
558
+ end
559
+ end
560
+
561
+ # Returns the string representation of the object
562
+ # @return [String] String presentation of the object
563
+ def to_s
564
+ to_hash.to_s
565
+ end
566
+
567
+ # to_body is an alias to to_hash (backward compatibility)
568
+ # @return [Hash] Returns the object in the form of hash
569
+ def to_body
570
+ to_hash
571
+ end
572
+
573
+ # Returns the object in the form of hash
574
+ # @return [Hash] Returns the object in the form of hash
575
+ def to_hash
576
+ hash = {}
577
+ self.class.attribute_map.each_pair do |attr, param|
578
+ value = self.send(attr)
579
+ next if value.nil?
580
+ hash[param] = _to_hash(value)
581
+ end
582
+ hash
583
+ end
584
+
585
+ # Outputs non-array value in the form of hash
586
+ # For object, use to_hash. Otherwise, just return the value
587
+ # @param [Object] value Any valid value
588
+ # @return [Hash] Returns the value in the form of hash
589
+ def _to_hash(value)
590
+ if value.is_a?(Array)
591
+ value.compact.map { |v| _to_hash(v) }
592
+ elsif value.is_a?(Hash)
593
+ {}.tap do |hash|
594
+ value.each { |k, v| hash[k] = _to_hash(v) }
595
+ end
596
+ elsif value.respond_to? :to_hash
597
+ value.to_hash
598
+ else
599
+ value
600
+ end
601
+ end
602
+
603
+ end
604
+ end