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,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