aspose_email_cloud 20.3.0 → 20.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +205 -187
  3. data/lib/aspose-email-cloud/api/ai_bcr_api.rb +87 -0
  4. data/lib/aspose-email-cloud/api/ai_group.rb +49 -0
  5. data/lib/aspose-email-cloud/api/ai_name_api.rb +216 -0
  6. data/lib/aspose-email-cloud/api/calendar_api.rb +209 -0
  7. data/lib/aspose-email-cloud/api/client_account_api.rb +124 -0
  8. data/lib/aspose-email-cloud/api/client_folder_api.rb +116 -0
  9. data/lib/aspose-email-cloud/api/client_group.rb +59 -0
  10. data/lib/aspose-email-cloud/api/client_message_api.rb +233 -0
  11. data/lib/aspose-email-cloud/api/client_thread_api.rb +152 -0
  12. data/lib/aspose-email-cloud/api/cloud_storage_group.rb +54 -0
  13. data/lib/aspose-email-cloud/api/contact_api.rb +174 -0
  14. data/lib/aspose-email-cloud/api/disposable_email_api.rb +60 -0
  15. data/lib/aspose-email-cloud/api/email_api.rb +107 -854
  16. data/lib/aspose-email-cloud/api/email_cloud.rb +96 -0
  17. data/lib/aspose-email-cloud/api/email_config_api.rb +114 -0
  18. data/lib/aspose-email-cloud/api/file_api.rb +95 -0
  19. data/lib/aspose-email-cloud/api/folder_api.rb +96 -0
  20. data/lib/aspose-email-cloud/api/mapi_calendar_api.rb +150 -0
  21. data/lib/aspose-email-cloud/api/mapi_contact_api.rb +150 -0
  22. data/lib/aspose-email-cloud/api/mapi_group.rb +54 -0
  23. data/lib/aspose-email-cloud/api/mapi_message_api.rb +150 -0
  24. data/lib/aspose-email-cloud/api/storage_api.rb +84 -0
  25. data/lib/aspose-email-cloud/api_client.rb +11 -10
  26. data/lib/aspose-email-cloud/api_error.rb +1 -1
  27. data/lib/aspose-email-cloud/api_invoker.rb +92 -0
  28. data/lib/aspose-email-cloud/configuration.rb +12 -12
  29. data/lib/aspose-email-cloud/models/ai_bcr_image.rb +5 -19
  30. data/lib/aspose-email-cloud/models/ai_bcr_image_storage_file.rb +12 -25
  31. data/lib/aspose-email-cloud/models/ai_bcr_options.rb +9 -27
  32. data/lib/aspose-email-cloud/models/ai_bcr_parse_request.rb +95 -0
  33. data/lib/aspose-email-cloud/models/{ai_bcr_parse_storage_rq.rb → ai_bcr_parse_storage_request.rb} +29 -53
  34. data/lib/aspose-email-cloud/models/{requests/ai_name_complete_request_data.rb → ai_name_complete_request.rb} +23 -29
  35. data/lib/aspose-email-cloud/models/ai_name_component.rb +6 -32
  36. data/lib/aspose-email-cloud/models/{list_response_of_string.rb → ai_name_component_list.rb} +9 -24
  37. data/lib/aspose-email-cloud/models/ai_name_cultural_context.rb +7 -37
  38. data/lib/aspose-email-cloud/models/{requests/ai_name_expand_request_data.rb → ai_name_expand_request.rb} +23 -29
  39. data/lib/aspose-email-cloud/models/ai_name_extracted.rb +4 -24
  40. data/lib/aspose-email-cloud/models/ai_name_extracted_component.rb +4 -22
  41. data/lib/aspose-email-cloud/models/{value_response.rb → ai_name_extracted_list.rb} +10 -24
  42. data/lib/aspose-email-cloud/models/{requests/ai_name_format_request_data.rb → ai_name_format_request.rb} +23 -29
  43. data/lib/aspose-email-cloud/models/ai_name_formatted.rb +4 -22
  44. data/lib/aspose-email-cloud/models/ai_name_gender_hypothesis.rb +4 -22
  45. data/lib/aspose-email-cloud/models/{list_response_of_ai_bcr_ocr_data.rb → ai_name_gender_hypothesis_list.rb} +9 -24
  46. data/lib/aspose-email-cloud/models/{requests/ai_name_genderize_request_data.rb → ai_name_genderize_request.rb} +23 -29
  47. data/lib/aspose-email-cloud/models/{ai_name_parsed_match_rq.rb → ai_name_match_parsed_request.rb} +8 -38
  48. data/lib/aspose-email-cloud/models/{requests/ai_name_match_request_data.rb → ai_name_match_request.rb} +26 -33
  49. data/lib/aspose-email-cloud/models/ai_name_match_result.rb +4 -24
  50. data/lib/aspose-email-cloud/models/ai_name_mismatch.rb +5 -27
  51. data/lib/aspose-email-cloud/models/{requests/ai_name_parse_email_address_request_data.rb → ai_name_parse_email_address_request.rb} +26 -29
  52. data/lib/aspose-email-cloud/models/{requests/ai_name_parse_request_data.rb → ai_name_parse_request.rb} +25 -31
  53. data/lib/aspose-email-cloud/models/{ai_name_parsed_rq.rb → ai_name_parsed_request.rb} +7 -31
  54. data/lib/aspose-email-cloud/models/ai_name_weighted.rb +4 -22
  55. data/lib/aspose-email-cloud/models/ai_name_weighted_variants.rb +4 -24
  56. data/lib/aspose-email-cloud/models/alternate_view.rb +9 -47
  57. data/lib/aspose-email-cloud/models/associated_person.rb +5 -27
  58. data/lib/aspose-email-cloud/models/attachment.rb +12 -60
  59. data/lib/aspose-email-cloud/models/attachment_base.rb +6 -34
  60. data/lib/aspose-email-cloud/models/{calendar_dto_alternate_rq.rb → calendar_as_alternate_request.rb} +8 -30
  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} +27 -42
  63. data/lib/aspose-email-cloud/models/calendar_dto.rb +35 -130
  64. data/lib/aspose-email-cloud/models/{requests/ai_bcr_parse_request_data.rb → calendar_from_file_request.rb} +23 -28
  65. data/lib/aspose-email-cloud/models/{requests/get_calendar_model_as_alternate_request_data.rb → calendar_get_as_alternate_request.rb} +22 -27
  66. data/lib/aspose-email-cloud/models/calendar_get_as_file_request.rb +96 -0
  67. data/lib/aspose-email-cloud/models/{requests/get_calendar_model_list_request_data.rb → calendar_get_list_request.rb} +26 -29
  68. data/lib/aspose-email-cloud/models/{requests/get_calendar_model_request_data.rb → calendar_get_request.rb} +26 -31
  69. data/lib/aspose-email-cloud/models/calendar_reminder.rb +10 -56
  70. data/lib/aspose-email-cloud/models/{storage_model_rq_of_calendar_dto.rb → calendar_save_request.rb} +40 -33
  71. data/lib/aspose-email-cloud/models/{calendar_dto_list.rb → calendar_storage_list.rb} +6 -22
  72. data/lib/aspose-email-cloud/models/{ai_bcr_rq.rb → client_account_base_request.rb} +20 -29
  73. data/lib/aspose-email-cloud/models/{requests/get_email_attachment_request_data.rb → client_account_get_multi_request.rb} +27 -39
  74. data/lib/aspose-email-cloud/models/{requests/get_email_request_data.rb → client_account_get_request.rb} +26 -31
  75. data/lib/aspose-email-cloud/models/{storage_file_rq_of_email_client_multi_account.rb → client_account_save_multi_request.rb} +29 -36
  76. data/lib/aspose-email-cloud/models/{storage_file_rq_of_email_client_account.rb → client_account_save_request.rb} +29 -36
  77. data/lib/aspose-email-cloud/models/client_folder_create_request.rb +246 -0
  78. data/lib/aspose-email-cloud/models/{ai_bcr_base64_image.rb → client_folder_delete_request.rb} +50 -44
  79. data/lib/aspose-email-cloud/models/{requests/list_email_folders_request_data.rb → client_folder_get_list_request.rb} +30 -39
  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/{email_property.rb → client_message_delete_request.rb} +48 -70
  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_models_request_data.rb → client_message_list_request.rb} +43 -49
  87. data/lib/aspose-email-cloud/models/{set_message_read_flag_account_base_request.rb → client_message_move_request.rb} +60 -99
  88. data/lib/aspose-email-cloud/models/client_message_send_file_request.rb +105 -0
  89. data/lib/aspose-email-cloud/models/{ai_bcr_base64_rq.rb → client_message_send_request.rb} +34 -44
  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} +52 -41
  92. data/lib/aspose-email-cloud/models/{ai_bcr_ocr_data.rb → client_thread_delete_request.rb} +59 -69
  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 +105 -0
  95. data/lib/aspose-email-cloud/models/{account_base_request.rb → client_thread_move_request.rb} +72 -65
  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 +38 -208
  100. data/lib/aspose-email-cloud/models/{requests/create_mapi_request_data.rb → contact_from_file_request.rb} +31 -36
  101. data/lib/aspose-email-cloud/models/{requests/get_email_property_request_data.rb → contact_get_as_file_request.rb} +38 -33
  102. data/lib/aspose-email-cloud/models/{requests/get_contact_model_list_request_data.rb → contact_get_list_request.rb} +18 -20
  103. data/lib/aspose-email-cloud/models/{requests/get_contact_model_request_data.rb → contact_get_request.rb} +23 -28
  104. data/lib/aspose-email-cloud/models/{list_response_of_hierarchical_object.rb → contact_list.rb} +9 -24
  105. data/lib/aspose-email-cloud/models/contact_photo.rb +46 -25
  106. data/lib/aspose-email-cloud/models/{storage_model_rq_of_contact_dto.rb → contact_save_request.rb} +40 -33
  107. data/lib/aspose-email-cloud/models/{contact_dto_list.rb → contact_storage_list.rb} +6 -22
  108. data/lib/aspose-email-cloud/models/content_type.rb +7 -39
  109. data/lib/aspose-email-cloud/models/content_type_parameter.rb +4 -22
  110. data/lib/aspose-email-cloud/models/{requests/copy_file_request_data.rb → copy_file_request.rb} +13 -20
  111. data/lib/aspose-email-cloud/models/{requests/copy_folder_request_data.rb → copy_folder_request.rb} +13 -20
  112. data/lib/aspose-email-cloud/models/{requests/create_folder_request_data.rb → create_folder_request.rb} +12 -18
  113. data/lib/aspose-email-cloud/models/customer_event.rb +4 -22
  114. data/lib/aspose-email-cloud/models/{indexed_hierarchical_object.rb → daily_recurrence_pattern_dto.rb} +261 -265
  115. data/lib/aspose-email-cloud/models/{requests/delete_file_request_data.rb → delete_file_request.rb} +12 -18
  116. data/lib/aspose-email-cloud/models/{requests/delete_folder_request_data.rb → delete_folder_request.rb} +12 -18
  117. data/lib/aspose-email-cloud/models/disc_usage.rb +4 -22
  118. data/lib/aspose-email-cloud/models/{discover_email_config_rq.rb → discover_email_config_request.rb} +7 -29
  119. data/lib/aspose-email-cloud/models/{requests/is_email_address_disposable_request_data.rb → disposable_email_is_disposable_request.rb} +18 -20
  120. data/lib/aspose-email-cloud/models/{requests/download_file_request_data.rb → download_file_request.rb} +12 -18
  121. data/lib/aspose-email-cloud/models/email_account_config.rb +10 -56
  122. data/lib/aspose-email-cloud/models/email_account_config_list.rb +4 -20
  123. data/lib/aspose-email-cloud/models/email_address.rb +44 -41
  124. data/lib/aspose-email-cloud/models/email_as_file_request.rb +218 -0
  125. data/lib/aspose-email-cloud/models/email_client_account.rb +20 -41
  126. data/lib/aspose-email-cloud/models/email_client_account_credentials.rb +3 -26
  127. data/lib/aspose-email-cloud/models/email_client_account_oauth_credentials.rb +8 -47
  128. data/lib/aspose-email-cloud/models/email_client_account_password_credentials.rb +5 -32
  129. data/lib/aspose-email-cloud/models/email_client_multi_account.rb +4 -24
  130. data/lib/aspose-email-cloud/models/{discover_email_config_oauth.rb → email_config_discover_oauth_request.rb} +11 -49
  131. data/lib/aspose-email-cloud/models/{discover_email_config_password.rb → email_config_discover_password_request.rb} +8 -34
  132. data/lib/aspose-email-cloud/models/{requests/discover_email_config_request_data.rb → email_config_discover_request.rb} +20 -23
  133. data/lib/aspose-email-cloud/models/email_convert_request.rb +94 -0
  134. data/lib/aspose-email-cloud/models/email_dto.rb +34 -192
  135. data/lib/aspose-email-cloud/models/{requests/save_contact_model_request_data.rb → email_from_file_request.rb} +27 -42
  136. data/lib/aspose-email-cloud/models/{requests/get_email_as_file_request_data.rb → email_get_as_file_request.rb} +19 -24
  137. data/lib/aspose-email-cloud/models/{requests/get_email_model_list_request_data.rb → email_get_list_request.rb} +20 -22
  138. data/lib/aspose-email-cloud/models/{requests/get_email_model_request_data.rb → email_get_request.rb} +25 -30
  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} +7 -12
  141. data/lib/aspose-email-cloud/models/{storage_model_rq_of_email_dto.rb → email_save_request.rb} +40 -33
  142. data/lib/aspose-email-cloud/models/{email_dto_list.rb → email_storage_list.rb} +6 -22
  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 +23 -22
  146. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +23 -22
  147. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +23 -22
  148. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +23 -22
  149. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +23 -22
  150. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +23 -22
  151. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +23 -22
  152. data/lib/aspose-email-cloud/models/error.rb +6 -32
  153. data/lib/aspose-email-cloud/models/error_details.rb +4 -22
  154. data/lib/aspose-email-cloud/models/file_version.rb +10 -48
  155. data/lib/aspose-email-cloud/models/file_versions.rb +3 -19
  156. data/lib/aspose-email-cloud/models/files_list.rb +3 -19
  157. data/lib/aspose-email-cloud/models/files_upload_result.rb +4 -26
  158. data/lib/aspose-email-cloud/models/{requests/get_disc_usage_request_data.rb → get_disc_usage_request.rb} +11 -16
  159. data/lib/aspose-email-cloud/models/{requests/get_file_versions_request_data.rb → get_file_versions_request.rb} +12 -18
  160. data/lib/aspose-email-cloud/models/{requests/get_files_list_request_data.rb → get_files_list_request.rb} +12 -18
  161. data/lib/aspose-email-cloud/models/{requests/http_request.rb → http_request.rb} +2 -6
  162. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +5 -27
  163. data/lib/aspose-email-cloud/models/linked_resource.rb +8 -40
  164. data/lib/aspose-email-cloud/models/list_response_of_ai_name_component.rb +3 -19
  165. data/lib/aspose-email-cloud/models/list_response_of_ai_name_extracted.rb +3 -19
  166. data/lib/aspose-email-cloud/models/list_response_of_ai_name_gender_hypothesis.rb +3 -19
  167. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +3 -19
  168. data/lib/aspose-email-cloud/models/list_response_of_email_account_config.rb +3 -19
  169. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +3 -19
  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 +3 -19
  173. data/lib/aspose-email-cloud/models/list_response_of_storage_file_location.rb +3 -19
  174. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +3 -19
  175. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +3 -19
  176. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +3 -19
  177. data/lib/aspose-email-cloud/models/mail_address.rb +18 -31
  178. data/lib/aspose-email-cloud/models/mail_message_base.rb +205 -0
  179. data/lib/aspose-email-cloud/models/mail_message_base64.rb +252 -0
  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 +4 -22
  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} +23 -28
  186. data/lib/aspose-email-cloud/models/mapi_binary_property_dto.rb +223 -0
  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/{add_attachment_request.rb → mapi_calendar_attendees_dto.rb} +52 -42
  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} +69 -110
  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} +23 -28
  195. data/lib/aspose-email-cloud/models/{requests/get_calendar_request_data.rb → mapi_calendar_get_request.rb} +29 -31
  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_model_rq.rb → mapi_calendar_time_zone_info_dto.rb} +85 -88
  200. data/lib/aspose-email-cloud/models/{delete_message_base_request.rb → mapi_calendar_time_zone_rule_dto.rb} +133 -107
  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/{delete_folder_base_request.rb → mapi_contact_electronic_address_property_set_dto.rb} +92 -129
  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/{requests/get_contact_properties_request_data.rb → mapi_contact_get_request.rb} +31 -33
  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/{indexed_primitive_object.rb → mapi_contact_photo_dto.rb} +252 -263
  214. data/lib/aspose-email-cloud/models/{link.rb → mapi_contact_physical_address_dto.rb} +88 -64
  215. data/lib/aspose-email-cloud/models/{ai_bcr_parse_ocr_data_rq.rb → mapi_contact_physical_address_property_set_dto.rb} +33 -49
  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/{base_object.rb → mapi_electronic_address_dto.rb} +235 -232
  221. data/lib/aspose-email-cloud/models/{primitive_object.rb → mapi_file_as_property_dto.rb} +228 -245
  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/convert_email_request_data.rb → mapi_message_from_file_request.rb} +21 -27
  229. data/lib/aspose-email-cloud/models/mapi_message_get_request.rb +99 -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/{email_document_response.rb → mapi_property_dto.rb} +29 -28
  241. data/lib/aspose-email-cloud/models/{hierarchical_object.rb → mapi_recipient_dto.rb} +231 -247
  242. data/lib/aspose-email-cloud/models/mapi_response_type_property_dto.rb +228 -0
  243. data/lib/aspose-email-cloud/models/mapi_string_property_dto.rb +223 -0
  244. data/lib/aspose-email-cloud/models/monthly_recurrence_pattern_dto.rb +303 -0
  245. data/lib/aspose-email-cloud/models/{requests/move_file_request_data.rb → move_file_request.rb} +13 -20
  246. data/lib/aspose-email-cloud/models/{requests/move_folder_request_data.rb → move_folder_request.rb} +16 -20
  247. data/lib/aspose-email-cloud/models/name_value_pair.rb +4 -22
  248. data/lib/aspose-email-cloud/models/object_exist.rb +4 -22
  249. data/lib/aspose-email-cloud/models/{requests/object_exists_request_data.rb → object_exists_request.rb} +12 -18
  250. data/lib/aspose-email-cloud/models/phone_number.rb +5 -27
  251. data/lib/aspose-email-cloud/models/postal_address.rb +13 -67
  252. data/lib/aspose-email-cloud/models/recurrence_pattern_dto.rb +261 -0
  253. data/lib/aspose-email-cloud/models/reminder_attendee.rb +27 -17
  254. data/lib/aspose-email-cloud/models/reminder_trigger.rb +5 -27
  255. data/lib/aspose-email-cloud/models/storage_exist.rb +3 -17
  256. data/lib/aspose-email-cloud/models/{requests/storage_exists_request_data.rb → storage_exists_request.rb} +15 -18
  257. data/lib/aspose-email-cloud/models/storage_file.rb +7 -37
  258. data/lib/aspose-email-cloud/models/storage_file_location.rb +6 -28
  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 +4 -22
  261. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +14 -22
  262. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +14 -22
  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 +14 -22
  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} +15 -20
  271. data/lib/aspose-email-cloud/models/url.rb +5 -27
  272. data/lib/aspose-email-cloud/models/value_t_of_boolean.rb +3 -17
  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/{create_folder_base_request.rb → yearly_recurrence_pattern_dto.rb} +115 -111
  276. data/lib/aspose-email-cloud/version.rb +15 -15
  277. metadata +247 -214
  278. data/lib/aspose-email-cloud/models/ai_bcr_storage_image_rq.rb +0 -233
  279. data/lib/aspose-email-cloud/models/append_email_account_base_request.rb +0 -318
  280. data/lib/aspose-email-cloud/models/append_email_base_request.rb +0 -336
  281. data/lib/aspose-email-cloud/models/append_email_mime_base_request.rb +0 -355
  282. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +0 -336
  283. data/lib/aspose-email-cloud/models/create_email_request.rb +0 -231
  284. data/lib/aspose-email-cloud/models/email_account_request.rb +0 -397
  285. data/lib/aspose-email-cloud/models/email_document.rb +0 -233
  286. data/lib/aspose-email-cloud/models/email_properties.rb +0 -233
  287. data/lib/aspose-email-cloud/models/email_property_response.rb +0 -213
  288. data/lib/aspose-email-cloud/models/hierarchical_object_request.rb +0 -231
  289. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object_response.rb +0 -214
  290. data/lib/aspose-email-cloud/models/requests/add_calendar_attachment_request_data.rb +0 -99
  291. data/lib/aspose-email-cloud/models/requests/add_contact_attachment_request_data.rb +0 -109
  292. data/lib/aspose-email-cloud/models/requests/add_email_attachment_request_data.rb +0 -99
  293. data/lib/aspose-email-cloud/models/requests/add_mapi_attachment_request_data.rb +0 -99
  294. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_storage_request_data.rb +0 -79
  295. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_model_request_data.rb +0 -79
  296. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +0 -79
  297. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_storage_request_data.rb +0 -79
  298. data/lib/aspose-email-cloud/models/requests/ai_name_expand_parsed_request_data.rb +0 -79
  299. data/lib/aspose-email-cloud/models/requests/ai_name_format_parsed_request_data.rb +0 -79
  300. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_parsed_request_data.rb +0 -79
  301. data/lib/aspose-email-cloud/models/requests/ai_name_match_parsed_request_data.rb +0 -79
  302. data/lib/aspose-email-cloud/models/requests/append_email_message_request_data.rb +0 -79
  303. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +0 -79
  304. data/lib/aspose-email-cloud/models/requests/append_mime_message_request_data.rb +0 -79
  305. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +0 -79
  306. data/lib/aspose-email-cloud/models/requests/create_calendar_request_data.rb +0 -89
  307. data/lib/aspose-email-cloud/models/requests/create_contact_request_data.rb +0 -99
  308. data/lib/aspose-email-cloud/models/requests/create_email_folder_request_data.rb +0 -79
  309. data/lib/aspose-email-cloud/models/requests/create_email_request_data.rb +0 -89
  310. data/lib/aspose-email-cloud/models/requests/delete_calendar_property_request_data.rb +0 -109
  311. data/lib/aspose-email-cloud/models/requests/delete_contact_property_request_data.rb +0 -119
  312. data/lib/aspose-email-cloud/models/requests/delete_email_folder_request_data.rb +0 -79
  313. data/lib/aspose-email-cloud/models/requests/delete_email_message_request_data.rb +0 -79
  314. data/lib/aspose-email-cloud/models/requests/delete_mapi_attachment_request_data.rb +0 -99
  315. data/lib/aspose-email-cloud/models/requests/delete_mapi_properties_request_data.rb +0 -89
  316. data/lib/aspose-email-cloud/models/requests/discover_email_config_oauth_request_data.rb +0 -79
  317. data/lib/aspose-email-cloud/models/requests/discover_email_config_password_request_data.rb +0 -79
  318. data/lib/aspose-email-cloud/models/requests/fetch_email_message_request_data.rb +0 -109
  319. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +0 -109
  320. data/lib/aspose-email-cloud/models/requests/get_calendar_attachment_request_data.rb +0 -101
  321. data/lib/aspose-email-cloud/models/requests/get_calendar_list_request_data.rb +0 -108
  322. data/lib/aspose-email-cloud/models/requests/get_contact_attachment_request_data.rb +0 -111
  323. data/lib/aspose-email-cloud/models/requests/get_contact_list_request_data.rb +0 -103
  324. data/lib/aspose-email-cloud/models/requests/get_email_client_account_request_data.rb +0 -102
  325. data/lib/aspose-email-cloud/models/requests/get_email_client_multi_account_request_data.rb +0 -102
  326. data/lib/aspose-email-cloud/models/requests/get_mapi_attachment_request_data.rb +0 -101
  327. data/lib/aspose-email-cloud/models/requests/get_mapi_attachments_request_data.rb +0 -91
  328. data/lib/aspose-email-cloud/models/requests/get_mapi_list_request_data.rb +0 -93
  329. data/lib/aspose-email-cloud/models/requests/get_mapi_properties_request_data.rb +0 -91
  330. data/lib/aspose-email-cloud/models/requests/list_email_messages_request_data.rb +0 -127
  331. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +0 -89
  332. data/lib/aspose-email-cloud/models/requests/save_email_client_account_request_data.rb +0 -79
  333. data/lib/aspose-email-cloud/models/requests/save_email_client_multi_account_request_data.rb +0 -79
  334. data/lib/aspose-email-cloud/models/requests/save_mail_account_request_data.rb +0 -79
  335. data/lib/aspose-email-cloud/models/requests/save_mail_o_auth_account_request_data.rb +0 -79
  336. data/lib/aspose-email-cloud/models/requests/send_email_mime_request_data.rb +0 -79
  337. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +0 -79
  338. data/lib/aspose-email-cloud/models/requests/send_email_request_data.rb +0 -79
  339. data/lib/aspose-email-cloud/models/requests/set_email_property_request_data.rb +0 -99
  340. data/lib/aspose-email-cloud/models/requests/set_email_read_flag_request_data.rb +0 -79
  341. data/lib/aspose-email-cloud/models/requests/update_calendar_properties_request_data.rb +0 -89
  342. data/lib/aspose-email-cloud/models/requests/update_contact_properties_request_data.rb +0 -99
  343. data/lib/aspose-email-cloud/models/requests/update_mapi_properties_request_data.rb +0 -89
  344. data/lib/aspose-email-cloud/models/save_email_account_request.rb +0 -434
  345. data/lib/aspose-email-cloud/models/save_o_auth_email_account_request.rb +0 -521
  346. data/lib/aspose-email-cloud/models/send_email_base_request.rb +0 -281
  347. data/lib/aspose-email-cloud/models/send_email_mime_base_request.rb +0 -300
  348. data/lib/aspose-email-cloud/models/set_email_property_request.rb +0 -231
@@ -0,0 +1,251 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="MapiPidPropertyDescriptor.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 pid property descriptor base class
30
+ class MapiPidPropertyDescriptor < MapiPropertyDescriptor
31
+ def discriminator #getter method
32
+ self.class.name.split('::').last
33
+ end
34
+
35
+ def discriminator=(discriminator) #setter method, parameter ignored
36
+ @discriminator = self.class.name.split('::').last
37
+ end
38
+ # The name used to refer to the property in the documentation. The prefix of the canonical name identifies the basic characteristics of a property to the implementer. The canonical naming structure uses three categories that are denoted by the following prefixes to the canonical property name: * PidLid prefix: Properties identified by an unsigned 32-bit quantity along with a property set. * PidName prefix: Properties identified by a string name along with a property set. * PidTag prefix: Properties identified by an unsigned 16-bit quantity.
39
+ # @return [String]
40
+ attr_accessor :canonical_name
41
+ # [MS-OXCDATA]: Data Structures Enum, available values: Unspecified, Null, Integer16, Integer32, Floating32, Floating64, Currency, FloatingTime, ErrorCode, Boolean, Integer64, String, String8, Time, Guid, ServerId, Restriction, RuleAction, Binary, MultipleInteger16, MultipleInteger32, MultipleFloating32, MultipleFloating64, MultipleCurrency, MultipleFloatingTime, MultipleBoolean, MultipleInteger64, MultipleString, MultipleString8, MultipleTime, MultipleGuid, MultipleBinary, Object
42
+ # @return [String]
43
+ attr_accessor :data_type
44
+ # Indicates if data type contains of multiple values
45
+ # @return [BOOLEAN]
46
+ attr_accessor :multiple_values_data_type
47
+ # A string that identifies the property
48
+ # @return [String]
49
+ attr_accessor :name
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'discriminator' => :'discriminator',
54
+ :'canonical_name' => :'canonicalName',
55
+ :'data_type' => :'dataType',
56
+ :'multiple_values_data_type' => :'multipleValuesDataType',
57
+ :'name' => :'name'
58
+ }
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.swagger_types
63
+ {
64
+ :'discriminator' => :'String',
65
+ :'canonical_name' => :'String',
66
+ :'data_type' => :'String',
67
+ :'multiple_values_data_type' => :'BOOLEAN',
68
+ :'name' => :'String'
69
+ }
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [String] canonical_name The name used to refer to the property in the documentation. The prefix of the canonical name identifies the basic characteristics of a property to the implementer. The canonical naming structure uses three categories that are denoted by the following prefixes to the canonical property name: * PidLid prefix: Properties identified by an unsigned 32-bit quantity along with a property set. * PidName prefix: Properties identified by a string name along with a property set. * PidTag prefix: Properties identified by an unsigned 16-bit quantity.
74
+ # @param [String] data_type [MS-OXCDATA]: Data Structures Enum, available values: Unspecified, Null, Integer16, Integer32, Floating32, Floating64, Currency, FloatingTime, ErrorCode, Boolean, Integer64, String, String8, Time, Guid, ServerId, Restriction, RuleAction, Binary, MultipleInteger16, MultipleInteger32, MultipleFloating32, MultipleFloating64, MultipleCurrency, MultipleFloatingTime, MultipleBoolean, MultipleInteger64, MultipleString, MultipleString8, MultipleTime, MultipleGuid, MultipleBinary, Object
75
+ # @param [BOOLEAN] multiple_values_data_type Indicates if data type contains of multiple values
76
+ # @param [String] name A string that identifies the property
77
+ def initialize(#,
78
+ canonical_name: nil,
79
+ data_type: nil,
80
+ multiple_values_data_type: nil,
81
+ name: nil)
82
+ self.canonical_name = canonical_name if canonical_name
83
+ self.data_type = data_type if data_type
84
+ self.multiple_values_data_type = multiple_values_data_type if multiple_values_data_type
85
+ self.name = name if name
86
+ end
87
+
88
+ # Show invalid properties with the reasons. Usually used together with valid?
89
+ # @return Array for valid properties with the reasons
90
+ def list_invalid_properties
91
+ invalid_properties = Array.new
92
+ if @discriminator.nil?
93
+ invalid_properties.push('invalid value for "discriminator", discriminator cannot be nil.')
94
+ end
95
+
96
+ if @data_type.nil?
97
+ invalid_properties.push('invalid value for "data_type", data_type cannot be nil.')
98
+ end
99
+
100
+ if @multiple_values_data_type.nil?
101
+ invalid_properties.push('invalid value for "multiple_values_data_type", multiple_values_data_type cannot be nil.')
102
+ end
103
+
104
+ invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ return false if @discriminator.nil?
111
+ return false if @data_type.nil?
112
+ return false if @multiple_values_data_type.nil?
113
+ true
114
+ end
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] Object to be compared
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ discriminator == o.discriminator &&
122
+ canonical_name == o.canonical_name &&
123
+ data_type == o.data_type &&
124
+ multiple_values_data_type == o.multiple_values_data_type &&
125
+ name == o.name
126
+ end
127
+
128
+ # @see the `==` method
129
+ # @param [Object] Object to be compared
130
+ def eql?(o)
131
+ self == o
132
+ end
133
+
134
+ # Calculates hash code according to all attributes.
135
+ # @return [Fixnum] Hash code
136
+ def hash
137
+ [discriminator, canonical_name, data_type, multiple_values_data_type, name].hash
138
+ end
139
+
140
+ # Builds the object from hash
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ # @return [Object] Returns the model itself
143
+ def build_from_hash(attributes)
144
+ return nil unless attributes.is_a?(Hash)
145
+ self.class.swagger_types.each_pair do |key, type|
146
+ attribute_key = self.class.attribute_map[key]
147
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[attribute_key].is_a?(Array)
152
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
153
+ end
154
+ elsif !attributes[attribute_key].nil?
155
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
156
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+
162
+ # Deserializes the data based on type
163
+ # @param string type Data type
164
+ # @param string value Value to be deserialized
165
+ # @return [Object] Deserialized data
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(value)
170
+ when :Date
171
+ Date.parse(value)
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BOOLEAN
179
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
180
+ true
181
+ else
182
+ false
183
+ end
184
+ when :Object
185
+ # generic object (usually a Hash), return directly
186
+ value
187
+ when /\AArray<(?<inner_type>.+)>\z/
188
+ inner_type = Regexp.last_match[:inner_type]
189
+ value.map { |v| _deserialize(inner_type, v) }
190
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
191
+ k_type = Regexp.last_match[:k_type]
192
+ v_type = Regexp.last_match[:v_type]
193
+ {}.tap do |hash|
194
+ value.each do |k, v|
195
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
196
+ end
197
+ end
198
+ else # model
199
+ sub_type = value[:type] || value[:discriminator] || type
200
+ if AsposeEmailCloud.const_defined?(sub_type)
201
+ type = sub_type
202
+ end
203
+ temp_model = AsposeEmailCloud.const_get(type).new
204
+ temp_model.build_from_hash(value)
205
+ end
206
+ end
207
+
208
+ # Returns the string representation of the object
209
+ # @return [String] String presentation of the object
210
+ def to_s
211
+ to_hash.to_s
212
+ end
213
+
214
+ # to_body is an alias to to_hash (backward compatibility)
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_body
217
+ to_hash
218
+ end
219
+
220
+ # Returns the object in the form of hash
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_hash
223
+ hash = {}
224
+ self.class.attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ next if value.nil?
227
+ hash[param] = _to_hash(value)
228
+ end
229
+ hash
230
+ end
231
+
232
+ # Outputs non-array value in the form of hash
233
+ # For object, use to_hash. Otherwise, just return the value
234
+ # @param [Object] value Any valid value
235
+ # @return [Hash] Returns the value in the form of hash
236
+ def _to_hash(value)
237
+ if value.is_a?(Array)
238
+ value.compact.map { |v| _to_hash(v) }
239
+ elsif value.is_a?(Hash)
240
+ {}.tap do |hash|
241
+ value.each { |k, v| hash[k] = _to_hash(v) }
242
+ end
243
+ elsif value.respond_to? :to_hash
244
+ value.to_hash
245
+ else
246
+ value
247
+ end
248
+ end
249
+
250
+ end
251
+ end
@@ -0,0 +1,279 @@
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="MapiPidTagPropertyDescriptor.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
+ # A property that is defined by a 16-bit property ID and a 16-bit property type. The property ID for a tagged property is in the range 0x001 - 0x7FFF. Property IDs in the range 0x8000 - 0x8FFF are reserved for assignment to named properties
30
+ class MapiPidTagPropertyDescriptor < MapiPidPropertyDescriptor
31
+ def discriminator #getter method
32
+ self.class.name.split('::').last
33
+ end
34
+
35
+ def discriminator=(discriminator) #setter method, parameter ignored
36
+ @discriminator = self.class.name.split('::').last
37
+ end
38
+ # The name used to refer to the property in the documentation. The prefix of the canonical name identifies the basic characteristics of a property to the implementer. The canonical naming structure uses three categories that are denoted by the following prefixes to the canonical property name: * PidLid prefix: Properties identified by an unsigned 32-bit quantity along with a property set. * PidName prefix: Properties identified by a string name along with a property set. * PidTag prefix: Properties identified by an unsigned 16-bit quantity.
39
+ # @return [String]
40
+ attr_accessor :canonical_name
41
+ # [MS-OXCDATA]: Data Structures Enum, available values: Unspecified, Null, Integer16, Integer32, Floating32, Floating64, Currency, FloatingTime, ErrorCode, Boolean, Integer64, String, String8, Time, Guid, ServerId, Restriction, RuleAction, Binary, MultipleInteger16, MultipleInteger32, MultipleFloating32, MultipleFloating64, MultipleCurrency, MultipleFloatingTime, MultipleBoolean, MultipleInteger64, MultipleString, MultipleString8, MultipleTime, MultipleGuid, MultipleBinary, Object
42
+ # @return [String]
43
+ attr_accessor :data_type
44
+ # Indicates if data type contains of multiple values
45
+ # @return [BOOLEAN]
46
+ attr_accessor :multiple_values_data_type
47
+ # A string that identifies the property
48
+ # @return [String]
49
+ attr_accessor :name
50
+ # An unsigned 16-bit quantity that identifies a tagged property. Property IDs are not necessarily unique. With the exception of property IDs in the range from 0x6800 to 0x7BFF, the combination of property ID and data type are unique. Property IDs in the range from 0x6800 to 0x7BFF are defined by the message class.
51
+ # @return [Integer]
52
+ attr_accessor :id
53
+ # A property tag is a 32-bit number that contains a unique property identifier in bits 16 through 31 and a property type in bits 0 through 15.
54
+ # @return [Integer]
55
+ attr_accessor :tag
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ :'discriminator' => :'discriminator',
60
+ :'canonical_name' => :'canonicalName',
61
+ :'data_type' => :'dataType',
62
+ :'multiple_values_data_type' => :'multipleValuesDataType',
63
+ :'name' => :'name',
64
+ :'id' => :'id',
65
+ :'tag' => :'tag'
66
+ }
67
+ end
68
+
69
+ # Attribute type mapping.
70
+ def self.swagger_types
71
+ {
72
+ :'discriminator' => :'String',
73
+ :'canonical_name' => :'String',
74
+ :'data_type' => :'String',
75
+ :'multiple_values_data_type' => :'BOOLEAN',
76
+ :'name' => :'String',
77
+ :'id' => :'Integer',
78
+ :'tag' => :'Integer'
79
+ }
80
+ end
81
+
82
+ # Initializes the object
83
+ # @param [String] canonical_name The name used to refer to the property in the documentation. The prefix of the canonical name identifies the basic characteristics of a property to the implementer. The canonical naming structure uses three categories that are denoted by the following prefixes to the canonical property name: * PidLid prefix: Properties identified by an unsigned 32-bit quantity along with a property set. * PidName prefix: Properties identified by a string name along with a property set. * PidTag prefix: Properties identified by an unsigned 16-bit quantity.
84
+ # @param [String] data_type [MS-OXCDATA]: Data Structures Enum, available values: Unspecified, Null, Integer16, Integer32, Floating32, Floating64, Currency, FloatingTime, ErrorCode, Boolean, Integer64, String, String8, Time, Guid, ServerId, Restriction, RuleAction, Binary, MultipleInteger16, MultipleInteger32, MultipleFloating32, MultipleFloating64, MultipleCurrency, MultipleFloatingTime, MultipleBoolean, MultipleInteger64, MultipleString, MultipleString8, MultipleTime, MultipleGuid, MultipleBinary, Object
85
+ # @param [BOOLEAN] multiple_values_data_type Indicates if data type contains of multiple values
86
+ # @param [String] name A string that identifies the property
87
+ # @param [Integer] id An unsigned 16-bit quantity that identifies a tagged property. Property IDs are not necessarily unique. With the exception of property IDs in the range from 0x6800 to 0x7BFF, the combination of property ID and data type are unique. Property IDs in the range from 0x6800 to 0x7BFF are defined by the message class.
88
+ # @param [Integer] tag A property tag is a 32-bit number that contains a unique property identifier in bits 16 through 31 and a property type in bits 0 through 15.
89
+ def initialize(#,
90
+ canonical_name: nil,
91
+ data_type: nil,
92
+ multiple_values_data_type: nil,
93
+ name: nil,
94
+ id: nil,
95
+ tag: nil)
96
+ self.canonical_name = canonical_name if canonical_name
97
+ self.data_type = data_type if data_type
98
+ self.multiple_values_data_type = multiple_values_data_type if multiple_values_data_type
99
+ self.name = name if name
100
+ self.id = id if id
101
+ self.tag = tag if tag
102
+ end
103
+
104
+ # Show invalid properties with the reasons. Usually used together with valid?
105
+ # @return Array for valid properties with the reasons
106
+ def list_invalid_properties
107
+ invalid_properties = Array.new
108
+ if @discriminator.nil?
109
+ invalid_properties.push('invalid value for "discriminator", discriminator cannot be nil.')
110
+ end
111
+
112
+ if @data_type.nil?
113
+ invalid_properties.push('invalid value for "data_type", data_type cannot be nil.')
114
+ end
115
+
116
+ if @multiple_values_data_type.nil?
117
+ invalid_properties.push('invalid value for "multiple_values_data_type", multiple_values_data_type cannot be nil.')
118
+ end
119
+
120
+ if @id.nil?
121
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
122
+ end
123
+
124
+ if @tag.nil?
125
+ invalid_properties.push('invalid value for "tag", tag cannot be nil.')
126
+ end
127
+
128
+ invalid_properties
129
+ end
130
+
131
+ # Check to see if the all the properties in the model are valid
132
+ # @return true if the model is valid
133
+ def valid?
134
+ return false if @discriminator.nil?
135
+ return false if @data_type.nil?
136
+ return false if @multiple_values_data_type.nil?
137
+ return false if @id.nil?
138
+ return false if @tag.nil?
139
+ true
140
+ end
141
+
142
+ # Checks equality by comparing each attribute.
143
+ # @param [Object] Object to be compared
144
+ def ==(o)
145
+ return true if self.equal?(o)
146
+ self.class == o.class &&
147
+ discriminator == o.discriminator &&
148
+ canonical_name == o.canonical_name &&
149
+ data_type == o.data_type &&
150
+ multiple_values_data_type == o.multiple_values_data_type &&
151
+ name == o.name &&
152
+ id == o.id &&
153
+ tag == o.tag
154
+ end
155
+
156
+ # @see the `==` method
157
+ # @param [Object] Object to be compared
158
+ def eql?(o)
159
+ self == o
160
+ end
161
+
162
+ # Calculates hash code according to all attributes.
163
+ # @return [Fixnum] Hash code
164
+ def hash
165
+ [discriminator, canonical_name, data_type, multiple_values_data_type, name, id, tag].hash
166
+ end
167
+
168
+ # Builds the object from hash
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ # @return [Object] Returns the model itself
171
+ def build_from_hash(attributes)
172
+ return nil unless attributes.is_a?(Hash)
173
+ self.class.swagger_types.each_pair do |key, type|
174
+ attribute_key = self.class.attribute_map[key]
175
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
176
+ if type =~ /\AArray<(.*)>/i
177
+ # check to ensure the input is an array given that the the attribute
178
+ # is documented as an array but the input is not
179
+ if attributes[attribute_key].is_a?(Array)
180
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
181
+ end
182
+ elsif !attributes[attribute_key].nil?
183
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
184
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
185
+ end
186
+
187
+ self
188
+ end
189
+
190
+ # Deserializes the data based on type
191
+ # @param string type Data type
192
+ # @param string value Value to be deserialized
193
+ # @return [Object] Deserialized data
194
+ def _deserialize(type, value)
195
+ case type.to_sym
196
+ when :DateTime
197
+ DateTime.parse(value)
198
+ when :Date
199
+ Date.parse(value)
200
+ when :String
201
+ value.to_s
202
+ when :Integer
203
+ value.to_i
204
+ when :Float
205
+ value.to_f
206
+ when :BOOLEAN
207
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
208
+ true
209
+ else
210
+ false
211
+ end
212
+ when :Object
213
+ # generic object (usually a Hash), return directly
214
+ value
215
+ when /\AArray<(?<inner_type>.+)>\z/
216
+ inner_type = Regexp.last_match[:inner_type]
217
+ value.map { |v| _deserialize(inner_type, v) }
218
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
219
+ k_type = Regexp.last_match[:k_type]
220
+ v_type = Regexp.last_match[:v_type]
221
+ {}.tap do |hash|
222
+ value.each do |k, v|
223
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
224
+ end
225
+ end
226
+ else # model
227
+ sub_type = value[:type] || value[:discriminator] || type
228
+ if AsposeEmailCloud.const_defined?(sub_type)
229
+ type = sub_type
230
+ end
231
+ temp_model = AsposeEmailCloud.const_get(type).new
232
+ temp_model.build_from_hash(value)
233
+ end
234
+ end
235
+
236
+ # Returns the string representation of the object
237
+ # @return [String] String presentation of the object
238
+ def to_s
239
+ to_hash.to_s
240
+ end
241
+
242
+ # to_body is an alias to to_hash (backward compatibility)
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_body
245
+ to_hash
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ next if value.nil?
255
+ hash[param] = _to_hash(value)
256
+ end
257
+ hash
258
+ end
259
+
260
+ # Outputs non-array value in the form of hash
261
+ # For object, use to_hash. Otherwise, just return the value
262
+ # @param [Object] value Any valid value
263
+ # @return [Hash] Returns the value in the form of hash
264
+ def _to_hash(value)
265
+ if value.is_a?(Array)
266
+ value.compact.map { |v| _to_hash(v) }
267
+ elsif value.is_a?(Hash)
268
+ {}.tap do |hash|
269
+ value.each { |k, v| hash[k] = _to_hash(v) }
270
+ end
271
+ elsif value.respond_to? :to_hash
272
+ value.to_hash
273
+ else
274
+ value
275
+ end
276
+ end
277
+
278
+ end
279
+ end