aspose_email_cloud 20.2.0 → 20.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +13 -0
  3. data/lib/aspose-email-cloud/api/email_api.rb +921 -879
  4. data/lib/aspose-email-cloud/api_client.rb +386 -382
  5. data/lib/aspose-email-cloud/api_error.rb +41 -41
  6. data/lib/aspose-email-cloud/configuration.rb +240 -240
  7. data/lib/aspose-email-cloud/models/account_base_request.rb +263 -260
  8. data/lib/aspose-email-cloud/models/add_attachment_request.rb +226 -223
  9. data/lib/aspose-email-cloud/models/ai_bcr_base64_image.rb +231 -228
  10. data/lib/aspose-email-cloud/models/ai_bcr_base64_rq.rb +228 -225
  11. data/lib/aspose-email-cloud/models/ai_bcr_image.rb +218 -215
  12. data/lib/aspose-email-cloud/models/ai_bcr_image_storage_file.rb +231 -228
  13. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data.rb +256 -253
  14. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data_part.rb +300 -297
  15. data/lib/aspose-email-cloud/models/ai_bcr_options.rb +226 -223
  16. data/lib/aspose-email-cloud/models/ai_bcr_parse_ocr_data_rq.rb +233 -230
  17. data/lib/aspose-email-cloud/models/ai_bcr_parse_storage_rq.rb +251 -248
  18. data/lib/aspose-email-cloud/models/ai_bcr_rq.rb +213 -210
  19. data/lib/aspose-email-cloud/models/ai_bcr_storage_image_rq.rb +233 -230
  20. data/lib/aspose-email-cloud/models/ai_name_component.rb +267 -264
  21. data/lib/aspose-email-cloud/models/ai_name_cultural_context.rb +270 -267
  22. data/lib/aspose-email-cloud/models/ai_name_extracted.rb +233 -230
  23. data/lib/aspose-email-cloud/models/ai_name_extracted_component.rb +231 -228
  24. data/lib/aspose-email-cloud/models/ai_name_formatted.rb +226 -223
  25. data/lib/aspose-email-cloud/models/ai_name_gender_hypothesis.rb +236 -233
  26. data/lib/aspose-email-cloud/models/ai_name_match_result.rb +233 -230
  27. data/lib/aspose-email-cloud/models/ai_name_mismatch.rb +249 -246
  28. data/lib/aspose-email-cloud/models/ai_name_parsed_match_rq.rb +266 -263
  29. data/lib/aspose-email-cloud/models/ai_name_parsed_rq.rb +246 -243
  30. data/lib/aspose-email-cloud/models/ai_name_weighted.rb +231 -228
  31. data/lib/aspose-email-cloud/models/ai_name_weighted_variants.rb +228 -225
  32. data/lib/aspose-email-cloud/models/alternate_view.rb +282 -279
  33. data/lib/aspose-email-cloud/models/append_email_account_base_request.rb +318 -315
  34. data/lib/aspose-email-cloud/models/append_email_base_request.rb +336 -333
  35. data/lib/aspose-email-cloud/models/append_email_mime_base_request.rb +355 -352
  36. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +336 -333
  37. data/lib/aspose-email-cloud/models/associated_person.rb +244 -241
  38. data/lib/aspose-email-cloud/models/attachment.rb +324 -321
  39. data/lib/aspose-email-cloud/models/attachment_base.rb +254 -251
  40. data/lib/aspose-email-cloud/models/base_object.rb +5 -2
  41. data/lib/aspose-email-cloud/models/calendar_dto.rb +557 -554
  42. data/lib/aspose-email-cloud/models/calendar_dto_alternate_rq.rb +268 -265
  43. data/lib/aspose-email-cloud/models/calendar_dto_list.rb +215 -212
  44. data/lib/aspose-email-cloud/models/calendar_reminder.rb +318 -315
  45. data/lib/aspose-email-cloud/models/contact_dto.rb +699 -696
  46. data/lib/aspose-email-cloud/models/contact_dto_list.rb +215 -212
  47. data/lib/aspose-email-cloud/models/contact_photo.rb +231 -228
  48. data/lib/aspose-email-cloud/models/content_type.rb +267 -264
  49. data/lib/aspose-email-cloud/models/content_type_parameter.rb +226 -223
  50. data/lib/aspose-email-cloud/models/create_email_request.rb +231 -228
  51. data/lib/aspose-email-cloud/models/create_folder_base_request.rb +313 -310
  52. data/lib/aspose-email-cloud/models/customer_event.rb +231 -228
  53. data/lib/aspose-email-cloud/models/delete_folder_base_request.rb +318 -315
  54. data/lib/aspose-email-cloud/models/delete_message_base_request.rb +318 -315
  55. data/lib/aspose-email-cloud/models/disc_usage.rb +236 -233
  56. data/lib/aspose-email-cloud/models/discover_email_config_oauth.rb +391 -388
  57. data/lib/aspose-email-cloud/models/discover_email_config_password.rb +304 -301
  58. data/lib/aspose-email-cloud/models/discover_email_config_rq.rb +268 -265
  59. data/lib/aspose-email-cloud/models/email_account_config.rb +323 -320
  60. data/lib/aspose-email-cloud/models/email_account_config_list.rb +215 -212
  61. data/lib/aspose-email-cloud/models/email_account_request.rb +397 -394
  62. data/lib/aspose-email-cloud/models/email_address.rb +270 -267
  63. data/lib/aspose-email-cloud/models/email_client_account.rb +337 -0
  64. data/lib/aspose-email-cloud/models/email_client_account_credentials.rb +261 -0
  65. data/lib/aspose-email-cloud/models/email_client_account_oauth_credentials.rb +385 -0
  66. data/lib/aspose-email-cloud/models/email_client_account_password_credentials.rb +298 -0
  67. data/lib/aspose-email-cloud/models/email_client_multi_account.rb +233 -0
  68. data/lib/aspose-email-cloud/models/email_document.rb +233 -230
  69. data/lib/aspose-email-cloud/models/email_document_response.rb +213 -210
  70. data/lib/aspose-email-cloud/models/email_dto.rb +681 -678
  71. data/lib/aspose-email-cloud/models/email_dto_list.rb +215 -212
  72. data/lib/aspose-email-cloud/models/email_properties.rb +233 -230
  73. data/lib/aspose-email-cloud/models/email_property.rb +268 -265
  74. data/lib/aspose-email-cloud/models/email_property_response.rb +213 -210
  75. data/lib/aspose-email-cloud/models/enum_with_custom_of_associated_person_category.rb +230 -227
  76. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +230 -227
  77. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +230 -227
  78. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +230 -227
  79. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +230 -227
  80. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +230 -227
  81. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +230 -227
  82. data/lib/aspose-email-cloud/models/error.rb +252 -249
  83. data/lib/aspose-email-cloud/models/error_details.rb +231 -228
  84. data/lib/aspose-email-cloud/models/file_version.rb +306 -303
  85. data/lib/aspose-email-cloud/models/file_versions.rb +215 -212
  86. data/lib/aspose-email-cloud/models/files_list.rb +215 -212
  87. data/lib/aspose-email-cloud/models/files_upload_result.rb +230 -227
  88. data/lib/aspose-email-cloud/models/hierarchical_object.rb +5 -2
  89. data/lib/aspose-email-cloud/models/hierarchical_object_request.rb +231 -228
  90. data/lib/aspose-email-cloud/models/hierarchical_object_response.rb +226 -223
  91. data/lib/aspose-email-cloud/models/indexed_hierarchical_object.rb +5 -2
  92. data/lib/aspose-email-cloud/models/indexed_primitive_object.rb +5 -2
  93. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +244 -241
  94. data/lib/aspose-email-cloud/models/link.rb +252 -249
  95. data/lib/aspose-email-cloud/models/linked_resource.rb +267 -264
  96. data/lib/aspose-email-cloud/models/list_response_of_ai_bcr_ocr_data.rb +214 -211
  97. data/lib/aspose-email-cloud/models/list_response_of_ai_name_component.rb +214 -211
  98. data/lib/aspose-email-cloud/models/list_response_of_ai_name_extracted.rb +214 -211
  99. data/lib/aspose-email-cloud/models/list_response_of_ai_name_gender_hypothesis.rb +214 -211
  100. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +214 -211
  101. data/lib/aspose-email-cloud/models/list_response_of_email_account_config.rb +214 -211
  102. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +214 -211
  103. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object.rb +214 -211
  104. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object_response.rb +214 -211
  105. data/lib/aspose-email-cloud/models/list_response_of_mail_server_folder.rb +214 -211
  106. data/lib/aspose-email-cloud/models/list_response_of_storage_file_location.rb +214 -211
  107. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +214 -211
  108. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +214 -211
  109. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +214 -211
  110. data/lib/aspose-email-cloud/models/list_response_of_string.rb +214 -211
  111. data/lib/aspose-email-cloud/models/mail_address.rb +244 -241
  112. data/lib/aspose-email-cloud/models/mail_server_folder.rb +226 -223
  113. data/lib/aspose-email-cloud/models/mime_response.rb +213 -210
  114. data/lib/aspose-email-cloud/models/name_value_pair.rb +226 -222
  115. data/lib/aspose-email-cloud/models/object_exist.rb +236 -233
  116. data/lib/aspose-email-cloud/models/phone_number.rb +244 -241
  117. data/lib/aspose-email-cloud/models/postal_address.rb +353 -350
  118. data/lib/aspose-email-cloud/models/primitive_object.rb +5 -2
  119. data/lib/aspose-email-cloud/models/reminder_attendee.rb +213 -210
  120. data/lib/aspose-email-cloud/models/reminder_trigger.rb +249 -246
  121. data/lib/aspose-email-cloud/models/requests/add_calendar_attachment_request_data.rb +99 -99
  122. data/lib/aspose-email-cloud/models/requests/add_contact_attachment_request_data.rb +109 -109
  123. data/lib/aspose-email-cloud/models/requests/add_email_attachment_request_data.rb +99 -99
  124. data/lib/aspose-email-cloud/models/requests/add_mapi_attachment_request_data.rb +99 -99
  125. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_request_data.rb +79 -79
  126. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_storage_request_data.rb +79 -79
  127. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_model_request_data.rb +79 -79
  128. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +79 -79
  129. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_request_data.rb +79 -79
  130. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_storage_request_data.rb +79 -79
  131. data/lib/aspose-email-cloud/models/requests/ai_name_complete_request_data.rb +110 -110
  132. data/lib/aspose-email-cloud/models/requests/ai_name_expand_parsed_request_data.rb +79 -79
  133. data/lib/aspose-email-cloud/models/requests/ai_name_expand_request_data.rb +110 -110
  134. data/lib/aspose-email-cloud/models/requests/ai_name_format_parsed_request_data.rb +79 -79
  135. data/lib/aspose-email-cloud/models/requests/ai_name_format_request_data.rb +116 -116
  136. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_parsed_request_data.rb +79 -79
  137. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_request_data.rb +110 -110
  138. data/lib/aspose-email-cloud/models/requests/ai_name_match_parsed_request_data.rb +79 -79
  139. data/lib/aspose-email-cloud/models/requests/ai_name_match_request_data.rb +121 -121
  140. data/lib/aspose-email-cloud/models/requests/ai_name_parse_email_address_request_data.rb +110 -110
  141. data/lib/aspose-email-cloud/models/requests/ai_name_parse_request_data.rb +110 -110
  142. data/lib/aspose-email-cloud/models/requests/append_email_message_request_data.rb +79 -79
  143. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +79 -79
  144. data/lib/aspose-email-cloud/models/requests/append_mime_message_request_data.rb +79 -79
  145. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +79 -79
  146. data/lib/aspose-email-cloud/models/requests/convert_email_request_data.rb +90 -90
  147. data/lib/aspose-email-cloud/models/requests/copy_file_request_data.rb +108 -108
  148. data/lib/aspose-email-cloud/models/requests/copy_folder_request_data.rb +102 -102
  149. data/lib/aspose-email-cloud/models/requests/create_calendar_request_data.rb +89 -89
  150. data/lib/aspose-email-cloud/models/requests/create_contact_request_data.rb +99 -99
  151. data/lib/aspose-email-cloud/models/requests/create_email_folder_request_data.rb +79 -79
  152. data/lib/aspose-email-cloud/models/requests/create_email_request_data.rb +89 -89
  153. data/lib/aspose-email-cloud/models/requests/create_folder_request_data.rb +85 -85
  154. data/lib/aspose-email-cloud/models/requests/create_mapi_request_data.rb +89 -89
  155. data/lib/aspose-email-cloud/models/requests/delete_calendar_property_request_data.rb +109 -109
  156. data/lib/aspose-email-cloud/models/requests/delete_contact_property_request_data.rb +119 -119
  157. data/lib/aspose-email-cloud/models/requests/delete_email_folder_request_data.rb +79 -79
  158. data/lib/aspose-email-cloud/models/requests/delete_email_message_request_data.rb +79 -79
  159. data/lib/aspose-email-cloud/models/requests/delete_file_request_data.rb +91 -91
  160. data/lib/aspose-email-cloud/models/requests/delete_folder_request_data.rb +91 -91
  161. data/lib/aspose-email-cloud/models/requests/delete_mapi_attachment_request_data.rb +99 -99
  162. data/lib/aspose-email-cloud/models/requests/delete_mapi_properties_request_data.rb +89 -89
  163. data/lib/aspose-email-cloud/models/requests/discover_email_config_oauth_request_data.rb +79 -79
  164. data/lib/aspose-email-cloud/models/requests/discover_email_config_password_request_data.rb +79 -79
  165. data/lib/aspose-email-cloud/models/requests/discover_email_config_request_data.rb +86 -86
  166. data/lib/aspose-email-cloud/models/requests/download_file_request_data.rb +91 -91
  167. data/lib/aspose-email-cloud/models/requests/email_request.rb +75 -75
  168. data/lib/aspose-email-cloud/models/requests/fetch_email_message_request_data.rb +109 -109
  169. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +109 -109
  170. data/lib/aspose-email-cloud/models/requests/get_calendar_attachment_request_data.rb +101 -101
  171. data/lib/aspose-email-cloud/models/requests/get_calendar_list_request_data.rb +108 -108
  172. data/lib/aspose-email-cloud/models/requests/get_calendar_model_as_alternate_request_data.rb +107 -107
  173. data/lib/aspose-email-cloud/models/requests/get_calendar_model_list_request_data.rb +98 -98
  174. data/lib/aspose-email-cloud/models/requests/get_calendar_model_request_data.rb +91 -91
  175. data/lib/aspose-email-cloud/models/requests/get_calendar_request_data.rb +91 -91
  176. data/lib/aspose-email-cloud/models/requests/get_contact_attachment_request_data.rb +111 -111
  177. data/lib/aspose-email-cloud/models/requests/get_contact_list_request_data.rb +103 -103
  178. data/lib/aspose-email-cloud/models/requests/get_contact_model_list_request_data.rb +103 -103
  179. data/lib/aspose-email-cloud/models/requests/get_contact_model_request_data.rb +101 -101
  180. data/lib/aspose-email-cloud/models/requests/get_contact_properties_request_data.rb +101 -101
  181. data/lib/aspose-email-cloud/models/requests/get_disc_usage_request_data.rb +75 -75
  182. data/lib/aspose-email-cloud/models/requests/get_email_as_file_request_data.rb +101 -101
  183. data/lib/aspose-email-cloud/models/requests/get_email_attachment_request_data.rb +101 -101
  184. data/lib/aspose-email-cloud/models/requests/get_email_client_account_request_data.rb +102 -0
  185. data/lib/aspose-email-cloud/models/requests/get_email_client_multi_account_request_data.rb +102 -0
  186. data/lib/aspose-email-cloud/models/requests/get_email_model_list_request_data.rb +103 -103
  187. data/lib/aspose-email-cloud/models/requests/get_email_model_request_data.rb +101 -101
  188. data/lib/aspose-email-cloud/models/requests/get_email_property_request_data.rb +101 -101
  189. data/lib/aspose-email-cloud/models/requests/get_email_request_data.rb +91 -91
  190. data/lib/aspose-email-cloud/models/requests/get_file_versions_request_data.rb +85 -85
  191. data/lib/aspose-email-cloud/models/requests/get_files_list_request_data.rb +85 -85
  192. data/lib/aspose-email-cloud/models/requests/get_mapi_attachment_request_data.rb +101 -101
  193. data/lib/aspose-email-cloud/models/requests/get_mapi_attachments_request_data.rb +91 -91
  194. data/lib/aspose-email-cloud/models/requests/get_mapi_list_request_data.rb +93 -93
  195. data/lib/aspose-email-cloud/models/requests/get_mapi_properties_request_data.rb +91 -91
  196. data/lib/aspose-email-cloud/models/requests/http_request.rb +51 -51
  197. data/lib/aspose-email-cloud/models/requests/is_email_address_disposable_request_data.rb +79 -0
  198. data/lib/aspose-email-cloud/models/requests/list_email_folders_request_data.rb +104 -104
  199. data/lib/aspose-email-cloud/models/requests/list_email_messages_request_data.rb +127 -127
  200. data/lib/aspose-email-cloud/models/requests/list_email_models_request_data.rb +127 -127
  201. data/lib/aspose-email-cloud/models/requests/move_file_request_data.rb +108 -108
  202. data/lib/aspose-email-cloud/models/requests/move_folder_request_data.rb +102 -102
  203. data/lib/aspose-email-cloud/models/requests/object_exists_request_data.rb +91 -91
  204. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +89 -89
  205. data/lib/aspose-email-cloud/models/requests/save_contact_model_request_data.rb +99 -99
  206. data/lib/aspose-email-cloud/models/requests/save_email_client_account_request_data.rb +79 -0
  207. data/lib/aspose-email-cloud/models/requests/save_email_client_multi_account_request_data.rb +79 -0
  208. data/lib/aspose-email-cloud/models/requests/save_email_model_request_data.rb +99 -99
  209. data/lib/aspose-email-cloud/models/requests/save_mail_account_request_data.rb +79 -79
  210. data/lib/aspose-email-cloud/models/requests/save_mail_o_auth_account_request_data.rb +79 -79
  211. data/lib/aspose-email-cloud/models/requests/send_email_mime_request_data.rb +79 -79
  212. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +79 -79
  213. data/lib/aspose-email-cloud/models/requests/send_email_request_data.rb +79 -79
  214. data/lib/aspose-email-cloud/models/requests/set_email_property_request_data.rb +99 -99
  215. data/lib/aspose-email-cloud/models/requests/set_email_read_flag_request_data.rb +79 -79
  216. data/lib/aspose-email-cloud/models/requests/storage_exists_request_data.rb +79 -79
  217. data/lib/aspose-email-cloud/models/requests/update_calendar_properties_request_data.rb +89 -89
  218. data/lib/aspose-email-cloud/models/requests/update_contact_properties_request_data.rb +99 -99
  219. data/lib/aspose-email-cloud/models/requests/update_mapi_properties_request_data.rb +89 -89
  220. data/lib/aspose-email-cloud/models/requests/upload_file_request_data.rb +97 -97
  221. data/lib/aspose-email-cloud/models/save_email_account_request.rb +434 -431
  222. data/lib/aspose-email-cloud/models/save_o_auth_email_account_request.rb +521 -505
  223. data/lib/aspose-email-cloud/models/send_email_base_request.rb +281 -278
  224. data/lib/aspose-email-cloud/models/send_email_mime_base_request.rb +300 -297
  225. data/lib/aspose-email-cloud/models/send_email_model_rq.rb +276 -273
  226. data/lib/aspose-email-cloud/models/set_email_property_request.rb +231 -228
  227. data/lib/aspose-email-cloud/models/set_message_read_flag_account_base_request.rb +318 -315
  228. data/lib/aspose-email-cloud/models/storage_exist.rb +218 -215
  229. data/lib/aspose-email-cloud/models/storage_file.rb +275 -272
  230. data/lib/aspose-email-cloud/models/storage_file_location.rb +263 -260
  231. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_account.rb +225 -0
  232. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_multi_account.rb +225 -0
  233. data/lib/aspose-email-cloud/models/storage_folder_location.rb +226 -223
  234. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +225 -222
  235. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +225 -222
  236. data/lib/aspose-email-cloud/models/storage_model_of_email_dto.rb +225 -222
  237. data/lib/aspose-email-cloud/models/storage_model_rq_of_calendar_dto.rb +225 -222
  238. data/lib/aspose-email-cloud/models/storage_model_rq_of_contact_dto.rb +225 -222
  239. data/lib/aspose-email-cloud/models/storage_model_rq_of_email_dto.rb +225 -222
  240. data/lib/aspose-email-cloud/models/url.rb +244 -241
  241. data/lib/aspose-email-cloud/models/value_response.rb +213 -210
  242. data/lib/aspose-email-cloud/models/value_t_of_boolean.rb +217 -0
  243. data/lib/aspose-email-cloud/version.rb +1 -1
  244. metadata +15 -2
@@ -1,505 +1,521 @@
1
- # ----------------------------------------------------------------------------
2
- # <copyright company="Aspose" file="SaveOAuthEmailAccountRequest.rb">
3
- # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
- # </copyright>
5
- # <summary>
6
- # Permission is hereby granted, free of charge, to any person obtaining a
7
- # copy of this software and associated documentation files (the "Software"),
8
- # to deal in the Software without restriction, including without limitation
9
- # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
- # and/or sell copies of the Software, and to permit persons to whom the
11
- # Software is furnished to do so, subject to the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be included in
14
- # all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
- # DEALINGS IN THE SOFTWARE.
23
- # </summary>
24
- # ----------------------------------------------------------------------------
25
-
26
-
27
- require 'date'
28
-
29
- module AsposeEmailCloud
30
- # Save email account settings with OAuth request
31
- class SaveOAuthEmailAccountRequest
32
- # Email account host
33
- # @return [String]
34
- attr_accessor :host
35
-
36
- # Email account port
37
- # @return [Integer]
38
- attr_accessor :port
39
-
40
- # Email account login
41
- # @return [String]
42
- attr_accessor :login
43
-
44
- # Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
45
- # @return [String]
46
- attr_accessor :security_options
47
-
48
- # Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
49
- # @return [String]
50
- attr_accessor :protocol_type
51
-
52
- # Email account description
53
- # @return [String]
54
- attr_accessor :description
55
-
56
- # A storage file location info to store email account
57
- # @return [StorageFileLocation]
58
- attr_accessor :storage_file
59
-
60
- # OAuth client identifier
61
- # @return [String]
62
- attr_accessor :client_id
63
-
64
- # OAuth client secret
65
- # @return [String]
66
- attr_accessor :client_secret
67
-
68
- # OAuth refresh token
69
- # @return [String]
70
- attr_accessor :refresh_token
71
-
72
- # Attribute mapping from ruby-style variable name to JSON key.
73
- def self.attribute_map
74
- {
75
- :'host' => :'host',
76
- :'port' => :'port',
77
- :'login' => :'login',
78
- :'security_options' => :'securityOptions',
79
- :'protocol_type' => :'protocolType',
80
- :'description' => :'description',
81
- :'storage_file' => :'storageFile',
82
- :'client_id' => :'clientId',
83
- :'client_secret' => :'clientSecret',
84
- :'refresh_token' => :'refreshToken'
85
- }
86
- end
87
-
88
- # Attribute type mapping.
89
- def self.swagger_types
90
- {
91
- :'host' => :'String',
92
- :'port' => :'Integer',
93
- :'login' => :'String',
94
- :'security_options' => :'String',
95
- :'protocol_type' => :'String',
96
- :'description' => :'String',
97
- :'storage_file' => :'StorageFileLocation',
98
- :'client_id' => :'String',
99
- :'client_secret' => :'String',
100
- :'refresh_token' => :'String'
101
- }
102
- end
103
-
104
- # Initializes the object
105
- # @param [Hash] attributes Model attributes in the form of hash
106
- def initialize(attributes = {})
107
- return unless attributes.is_a?(Hash)
108
-
109
- # convert string to symbol for hash key
110
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
111
-
112
- if attributes.has_key?(:'host')
113
- self.host = attributes[:'host']
114
- end
115
-
116
- if attributes.has_key?(:'port')
117
- self.port = attributes[:'port']
118
- end
119
-
120
- if attributes.has_key?(:'login')
121
- self.login = attributes[:'login']
122
- end
123
-
124
- if attributes.has_key?(:'securityOptions')
125
- self.security_options = attributes[:'securityOptions']
126
- end
127
-
128
- if attributes.has_key?(:'protocolType')
129
- self.protocol_type = attributes[:'protocolType']
130
- end
131
-
132
- if attributes.has_key?(:'description')
133
- self.description = attributes[:'description']
134
- end
135
-
136
- if attributes.has_key?(:'storageFile')
137
- self.storage_file = attributes[:'storageFile']
138
- end
139
-
140
- if attributes.has_key?(:'clientId')
141
- self.client_id = attributes[:'clientId']
142
- end
143
-
144
- if attributes.has_key?(:'clientSecret')
145
- self.client_secret = attributes[:'clientSecret']
146
- end
147
-
148
- if attributes.has_key?(:'refreshToken')
149
- self.refresh_token = attributes[:'refreshToken']
150
- end
151
- end
152
-
153
- # Initializes the object
154
- # @param [String] host Email account host
155
- # @param [Integer] port Email account port
156
- # @param [String] login Email account login
157
- # @param [String] security_options Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
158
- # @param [String] protocol_type Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
159
- # @param [String] description Email account description
160
- # @param [StorageFileLocation] storage_file A storage file location info to store email account
161
- # @param [String] client_id OAuth client identifier
162
- # @param [String] client_secret OAuth client secret
163
- # @param [String] refresh_token OAuth refresh token
164
- def initialize(host=nil, port=nil, login=nil, security_options=nil, protocol_type=nil, description=nil, storage_file=nil, client_id=nil, client_secret=nil, refresh_token=nil)
165
- self.host = host if host
166
- self.port = port if port
167
- self.login = login if login
168
- self.security_options = security_options if security_options
169
- self.protocol_type = protocol_type if protocol_type
170
- self.description = description if description
171
- self.storage_file = storage_file if storage_file
172
- self.client_id = client_id if client_id
173
- self.client_secret = client_secret if client_secret
174
- self.refresh_token = refresh_token if refresh_token
175
- end
176
-
177
- # Show invalid properties with the reasons. Usually used together with valid?
178
- # @return Array for valid properties with the reasons
179
- def list_invalid_properties
180
- invalid_properties = Array.new
181
- if @host.nil?
182
- invalid_properties.push('invalid value for "host", host cannot be nil.')
183
- end
184
-
185
- if @host.to_s.length < 1
186
- invalid_properties.push('invalid value for "host", the character length must be great than or equal to 1.')
187
- end
188
-
189
- if @port.nil?
190
- invalid_properties.push('invalid value for "port", port cannot be nil.')
191
- end
192
-
193
- if @login.nil?
194
- invalid_properties.push('invalid value for "login", login cannot be nil.')
195
- end
196
-
197
- if @login.to_s.length < 1
198
- invalid_properties.push('invalid value for "login", the character length must be great than or equal to 1.')
199
- end
200
-
201
- if @security_options.nil?
202
- invalid_properties.push('invalid value for "security_options", security_options cannot be nil.')
203
- end
204
-
205
- if @security_options.to_s.length < 1
206
- invalid_properties.push('invalid value for "security_options", the character length must be great than or equal to 1.')
207
- end
208
-
209
- if @protocol_type.nil?
210
- invalid_properties.push('invalid value for "protocol_type", protocol_type cannot be nil.')
211
- end
212
-
213
- if @protocol_type.to_s.length < 1
214
- invalid_properties.push('invalid value for "protocol_type", the character length must be great than or equal to 1.')
215
- end
216
-
217
- if @storage_file.nil?
218
- invalid_properties.push('invalid value for "storage_file", storage_file cannot be nil.')
219
- end
220
-
221
- if @client_id.nil?
222
- invalid_properties.push('invalid value for "client_id", client_id cannot be nil.')
223
- end
224
-
225
- if @client_id.to_s.length < 1
226
- invalid_properties.push('invalid value for "client_id", the character length must be great than or equal to 1.')
227
- end
228
-
229
- if @client_secret.nil?
230
- invalid_properties.push('invalid value for "client_secret", client_secret cannot be nil.')
231
- end
232
-
233
- if @client_secret.to_s.length < 1
234
- invalid_properties.push('invalid value for "client_secret", the character length must be great than or equal to 1.')
235
- end
236
-
237
- if @refresh_token.nil?
238
- invalid_properties.push('invalid value for "refresh_token", refresh_token cannot be nil.')
239
- end
240
-
241
- if @refresh_token.to_s.length < 1
242
- invalid_properties.push('invalid value for "refresh_token", the character length must be great than or equal to 1.')
243
- end
244
-
245
- invalid_properties
246
- end
247
-
248
- # Check to see if the all the properties in the model are valid
249
- # @return true if the model is valid
250
- def valid?
251
- return false if @host.nil?
252
- return false if @host.to_s.length < 1
253
- return false if @port.nil?
254
- return false if @login.nil?
255
- return false if @login.to_s.length < 1
256
- return false if @security_options.nil?
257
- return false if @security_options.to_s.length < 1
258
- return false if @protocol_type.nil?
259
- return false if @protocol_type.to_s.length < 1
260
- return false if @storage_file.nil?
261
- return false if @client_id.nil?
262
- return false if @client_id.to_s.length < 1
263
- return false if @client_secret.nil?
264
- return false if @client_secret.to_s.length < 1
265
- return false if @refresh_token.nil?
266
- return false if @refresh_token.to_s.length < 1
267
- true
268
- end
269
-
270
- # Custom attribute writer method with validation
271
- # @param [Object] host Value to be assigned
272
- def host=(host)
273
- if host.nil?
274
- fail ArgumentError, 'host cannot be nil'
275
- end
276
-
277
- if host.to_s.length < 1
278
- fail ArgumentError, 'invalid value for "host", the character length must be great than or equal to 1.'
279
- end
280
-
281
- @host = host
282
- end
283
-
284
- # Custom attribute writer method with validation
285
- # @param [Object] login Value to be assigned
286
- def login=(login)
287
- if login.nil?
288
- fail ArgumentError, 'login cannot be nil'
289
- end
290
-
291
- if login.to_s.length < 1
292
- fail ArgumentError, 'invalid value for "login", the character length must be great than or equal to 1.'
293
- end
294
-
295
- @login = login
296
- end
297
-
298
- # Custom attribute writer method with validation
299
- # @param [Object] security_options Value to be assigned
300
- def security_options=(security_options)
301
- if security_options.nil?
302
- fail ArgumentError, 'security_options cannot be nil'
303
- end
304
-
305
- if security_options.to_s.length < 1
306
- fail ArgumentError, 'invalid value for "security_options", the character length must be great than or equal to 1.'
307
- end
308
-
309
- @security_options = security_options
310
- end
311
-
312
- # Custom attribute writer method with validation
313
- # @param [Object] protocol_type Value to be assigned
314
- def protocol_type=(protocol_type)
315
- if protocol_type.nil?
316
- fail ArgumentError, 'protocol_type cannot be nil'
317
- end
318
-
319
- if protocol_type.to_s.length < 1
320
- fail ArgumentError, 'invalid value for "protocol_type", the character length must be great than or equal to 1.'
321
- end
322
-
323
- @protocol_type = protocol_type
324
- end
325
-
326
- # Custom attribute writer method with validation
327
- # @param [Object] client_id Value to be assigned
328
- def client_id=(client_id)
329
- if client_id.nil?
330
- fail ArgumentError, 'client_id cannot be nil'
331
- end
332
-
333
- if client_id.to_s.length < 1
334
- fail ArgumentError, 'invalid value for "client_id", the character length must be great than or equal to 1.'
335
- end
336
-
337
- @client_id = client_id
338
- end
339
-
340
- # Custom attribute writer method with validation
341
- # @param [Object] client_secret Value to be assigned
342
- def client_secret=(client_secret)
343
- if client_secret.nil?
344
- fail ArgumentError, 'client_secret cannot be nil'
345
- end
346
-
347
- if client_secret.to_s.length < 1
348
- fail ArgumentError, 'invalid value for "client_secret", the character length must be great than or equal to 1.'
349
- end
350
-
351
- @client_secret = client_secret
352
- end
353
-
354
- # Custom attribute writer method with validation
355
- # @param [Object] refresh_token Value to be assigned
356
- def refresh_token=(refresh_token)
357
- if refresh_token.nil?
358
- fail ArgumentError, 'refresh_token cannot be nil'
359
- end
360
-
361
- if refresh_token.to_s.length < 1
362
- fail ArgumentError, 'invalid value for "refresh_token", the character length must be great than or equal to 1.'
363
- end
364
-
365
- @refresh_token = refresh_token
366
- end
367
-
368
- # Checks equality by comparing each attribute.
369
- # @param [Object] Object to be compared
370
- def ==(o)
371
- return true if self.equal?(o)
372
- self.class == o.class &&
373
- host == o.host &&
374
- port == o.port &&
375
- login == o.login &&
376
- security_options == o.security_options &&
377
- protocol_type == o.protocol_type &&
378
- description == o.description &&
379
- storage_file == o.storage_file &&
380
- client_id == o.client_id &&
381
- client_secret == o.client_secret &&
382
- refresh_token == o.refresh_token
383
- end
384
-
385
- # @see the `==` method
386
- # @param [Object] Object to be compared
387
- def eql?(o)
388
- self == o
389
- end
390
-
391
- # Calculates hash code according to all attributes.
392
- # @return [Fixnum] Hash code
393
- def hash
394
- [host, port, login, security_options, protocol_type, description, storage_file, client_id, client_secret, refresh_token].hash
395
- end
396
-
397
- # Builds the object from hash
398
- # @param [Hash] attributes Model attributes in the form of hash
399
- # @return [Object] Returns the model itself
400
- def build_from_hash(attributes)
401
- return nil unless attributes.is_a?(Hash)
402
- self.class.swagger_types.each_pair do |key, type|
403
- attribute_key = self.class.attribute_map[key]
404
- attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
405
- if type =~ /\AArray<(.*)>/i
406
- # check to ensure the input is an array given that the the attribute
407
- # is documented as an array but the input is not
408
- if attributes[attribute_key].is_a?(Array)
409
- self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
410
- end
411
- elsif !attributes[attribute_key].nil?
412
- self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
413
- end # or else data not found in attributes(hash), not an issue as the data can be optional
414
- end
415
-
416
- self
417
- end
418
-
419
- # Deserializes the data based on type
420
- # @param string type Data type
421
- # @param string value Value to be deserialized
422
- # @return [Object] Deserialized data
423
- def _deserialize(type, value)
424
- case type.to_sym
425
- when :DateTime
426
- DateTime.parse(value)
427
- when :Date
428
- Date.parse(value)
429
- when :String
430
- value.to_s
431
- when :Integer
432
- value.to_i
433
- when :Float
434
- value.to_f
435
- when :BOOLEAN
436
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
437
- true
438
- else
439
- false
440
- end
441
- when :Object
442
- # generic object (usually a Hash), return directly
443
- value
444
- when /\AArray<(?<inner_type>.+)>\z/
445
- inner_type = Regexp.last_match[:inner_type]
446
- value.map { |v| _deserialize(inner_type, v) }
447
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
448
- k_type = Regexp.last_match[:k_type]
449
- v_type = Regexp.last_match[:v_type]
450
- {}.tap do |hash|
451
- value.each do |k, v|
452
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
453
- end
454
- end
455
- else # model
456
- type = value[:type] || type
457
- temp_model = AsposeEmailCloud.const_get(type).new
458
- temp_model.build_from_hash(value)
459
- end
460
- end
461
-
462
- # Returns the string representation of the object
463
- # @return [String] String presentation of the object
464
- def to_s
465
- to_hash.to_s
466
- end
467
-
468
- # to_body is an alias to to_hash (backward compatibility)
469
- # @return [Hash] Returns the object in the form of hash
470
- def to_body
471
- to_hash
472
- end
473
-
474
- # Returns the object in the form of hash
475
- # @return [Hash] Returns the object in the form of hash
476
- def to_hash
477
- hash = {}
478
- self.class.attribute_map.each_pair do |attr, param|
479
- value = self.send(attr)
480
- next if value.nil?
481
- hash[param] = _to_hash(value)
482
- end
483
- hash
484
- end
485
-
486
- # Outputs non-array value in the form of hash
487
- # For object, use to_hash. Otherwise, just return the value
488
- # @param [Object] value Any valid value
489
- # @return [Hash] Returns the value in the form of hash
490
- def _to_hash(value)
491
- if value.is_a?(Array)
492
- value.compact.map { |v| _to_hash(v) }
493
- elsif value.is_a?(Hash)
494
- {}.tap do |hash|
495
- value.each { |k, v| hash[k] = _to_hash(v) }
496
- end
497
- elsif value.respond_to? :to_hash
498
- value.to_hash
499
- else
500
- value
501
- end
502
- end
503
-
504
- end
505
- end
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="SaveOAuthEmailAccountRequest.rb">
3
+ # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a
7
+ # copy of this software and associated documentation files (the "Software"),
8
+ # to deal in the Software without restriction, including without limitation
9
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
+ # and/or sell copies of the Software, and to permit persons to whom the
11
+ # Software is furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ # DEALINGS IN THE SOFTWARE.
23
+ # </summary>
24
+ # ----------------------------------------------------------------------------
25
+
26
+
27
+ require 'date'
28
+
29
+ module AsposeEmailCloud
30
+ # Save email account settings with OAuth request
31
+ class SaveOAuthEmailAccountRequest
32
+ # Email account host
33
+ # @return [String]
34
+ attr_accessor :host
35
+
36
+ # Email account port
37
+ # @return [Integer]
38
+ attr_accessor :port
39
+
40
+ # Email account login
41
+ # @return [String]
42
+ attr_accessor :login
43
+
44
+ # Email account security mode Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
45
+ # @return [String]
46
+ attr_accessor :security_options
47
+
48
+ # Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
49
+ # @return [String]
50
+ attr_accessor :protocol_type
51
+
52
+ # Email account description
53
+ # @return [String]
54
+ attr_accessor :description
55
+
56
+ # A storage file location info to store email account
57
+ # @return [StorageFileLocation]
58
+ attr_accessor :storage_file
59
+
60
+ # OAuth client identifier
61
+ # @return [String]
62
+ attr_accessor :client_id
63
+
64
+ # OAuth client secret
65
+ # @return [String]
66
+ attr_accessor :client_secret
67
+
68
+ # OAuth refresh token
69
+ # @return [String]
70
+ attr_accessor :refresh_token
71
+
72
+ # The url to obtain access token. If not specified, will try to discover from email account host.
73
+ # @return [String]
74
+ attr_accessor :request_url
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'host' => :'host',
80
+ :'port' => :'port',
81
+ :'login' => :'login',
82
+ :'security_options' => :'securityOptions',
83
+ :'protocol_type' => :'protocolType',
84
+ :'description' => :'description',
85
+ :'storage_file' => :'storageFile',
86
+ :'client_id' => :'clientId',
87
+ :'client_secret' => :'clientSecret',
88
+ :'refresh_token' => :'refreshToken',
89
+ :'request_url' => :'requestUrl'
90
+ }
91
+ end
92
+
93
+ # Attribute type mapping.
94
+ def self.swagger_types
95
+ {
96
+ :'host' => :'String',
97
+ :'port' => :'Integer',
98
+ :'login' => :'String',
99
+ :'security_options' => :'String',
100
+ :'protocol_type' => :'String',
101
+ :'description' => :'String',
102
+ :'storage_file' => :'StorageFileLocation',
103
+ :'client_id' => :'String',
104
+ :'client_secret' => :'String',
105
+ :'refresh_token' => :'String',
106
+ :'request_url' => :'String'
107
+ }
108
+ end
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ def initialize(attributes = {})
113
+ return unless attributes.is_a?(Hash)
114
+
115
+ # convert string to symbol for hash key
116
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
117
+
118
+ if attributes.has_key?(:'host')
119
+ self.host = attributes[:'host']
120
+ end
121
+
122
+ if attributes.has_key?(:'port')
123
+ self.port = attributes[:'port']
124
+ end
125
+
126
+ if attributes.has_key?(:'login')
127
+ self.login = attributes[:'login']
128
+ end
129
+
130
+ if attributes.has_key?(:'securityOptions')
131
+ self.security_options = attributes[:'securityOptions']
132
+ end
133
+
134
+ if attributes.has_key?(:'protocolType')
135
+ self.protocol_type = attributes[:'protocolType']
136
+ end
137
+
138
+ if attributes.has_key?(:'description')
139
+ self.description = attributes[:'description']
140
+ end
141
+
142
+ if attributes.has_key?(:'storageFile')
143
+ self.storage_file = attributes[:'storageFile']
144
+ end
145
+
146
+ if attributes.has_key?(:'clientId')
147
+ self.client_id = attributes[:'clientId']
148
+ end
149
+
150
+ if attributes.has_key?(:'clientSecret')
151
+ self.client_secret = attributes[:'clientSecret']
152
+ end
153
+
154
+ if attributes.has_key?(:'refreshToken')
155
+ self.refresh_token = attributes[:'refreshToken']
156
+ end
157
+
158
+ if attributes.has_key?(:'requestUrl')
159
+ self.request_url = attributes[:'requestUrl']
160
+ end
161
+ end
162
+
163
+ # Initializes the object
164
+ # @param [String] host Email account host
165
+ # @param [Integer] port Email account port
166
+ # @param [String] login Email account login
167
+ # @param [String] security_options Email account security mode Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
168
+ # @param [String] protocol_type Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
169
+ # @param [String] description Email account description
170
+ # @param [StorageFileLocation] storage_file A storage file location info to store email account
171
+ # @param [String] client_id OAuth client identifier
172
+ # @param [String] client_secret OAuth client secret
173
+ # @param [String] refresh_token OAuth refresh token
174
+ # @param [String] request_url The url to obtain access token. If not specified, will try to discover from email account host.
175
+ def initialize(host=nil, port=nil, login=nil, security_options=nil, protocol_type=nil, description=nil, storage_file=nil, client_id=nil, client_secret=nil, refresh_token=nil, request_url=nil)
176
+ self.host = host if host
177
+ self.port = port if port
178
+ self.login = login if login
179
+ self.security_options = security_options if security_options
180
+ self.protocol_type = protocol_type if protocol_type
181
+ self.description = description if description
182
+ self.storage_file = storage_file if storage_file
183
+ self.client_id = client_id if client_id
184
+ self.client_secret = client_secret if client_secret
185
+ self.refresh_token = refresh_token if refresh_token
186
+ self.request_url = request_url if request_url
187
+ end
188
+
189
+ # Show invalid properties with the reasons. Usually used together with valid?
190
+ # @return Array for valid properties with the reasons
191
+ def list_invalid_properties
192
+ invalid_properties = Array.new
193
+ if @host.nil?
194
+ invalid_properties.push('invalid value for "host", host cannot be nil.')
195
+ end
196
+
197
+ if @host.to_s.length < 1
198
+ invalid_properties.push('invalid value for "host", the character length must be great than or equal to 1.')
199
+ end
200
+
201
+ if @port.nil?
202
+ invalid_properties.push('invalid value for "port", port cannot be nil.')
203
+ end
204
+
205
+ if @login.nil?
206
+ invalid_properties.push('invalid value for "login", login cannot be nil.')
207
+ end
208
+
209
+ if @login.to_s.length < 1
210
+ invalid_properties.push('invalid value for "login", the character length must be great than or equal to 1.')
211
+ end
212
+
213
+ if @security_options.nil?
214
+ invalid_properties.push('invalid value for "security_options", security_options cannot be nil.')
215
+ end
216
+
217
+ if @security_options.to_s.length < 1
218
+ invalid_properties.push('invalid value for "security_options", the character length must be great than or equal to 1.')
219
+ end
220
+
221
+ if @protocol_type.nil?
222
+ invalid_properties.push('invalid value for "protocol_type", protocol_type cannot be nil.')
223
+ end
224
+
225
+ if @protocol_type.to_s.length < 1
226
+ invalid_properties.push('invalid value for "protocol_type", the character length must be great than or equal to 1.')
227
+ end
228
+
229
+ if @storage_file.nil?
230
+ invalid_properties.push('invalid value for "storage_file", storage_file cannot be nil.')
231
+ end
232
+
233
+ if @client_id.nil?
234
+ invalid_properties.push('invalid value for "client_id", client_id cannot be nil.')
235
+ end
236
+
237
+ if @client_id.to_s.length < 1
238
+ invalid_properties.push('invalid value for "client_id", the character length must be great than or equal to 1.')
239
+ end
240
+
241
+ if @client_secret.nil?
242
+ invalid_properties.push('invalid value for "client_secret", client_secret cannot be nil.')
243
+ end
244
+
245
+ if @client_secret.to_s.length < 1
246
+ invalid_properties.push('invalid value for "client_secret", the character length must be great than or equal to 1.')
247
+ end
248
+
249
+ if @refresh_token.nil?
250
+ invalid_properties.push('invalid value for "refresh_token", refresh_token cannot be nil.')
251
+ end
252
+
253
+ if @refresh_token.to_s.length < 1
254
+ invalid_properties.push('invalid value for "refresh_token", the character length must be great than or equal to 1.')
255
+ end
256
+
257
+ invalid_properties
258
+ end
259
+
260
+ # Check to see if the all the properties in the model are valid
261
+ # @return true if the model is valid
262
+ def valid?
263
+ return false if @host.nil?
264
+ return false if @host.to_s.length < 1
265
+ return false if @port.nil?
266
+ return false if @login.nil?
267
+ return false if @login.to_s.length < 1
268
+ return false if @security_options.nil?
269
+ return false if @security_options.to_s.length < 1
270
+ return false if @protocol_type.nil?
271
+ return false if @protocol_type.to_s.length < 1
272
+ return false if @storage_file.nil?
273
+ return false if @client_id.nil?
274
+ return false if @client_id.to_s.length < 1
275
+ return false if @client_secret.nil?
276
+ return false if @client_secret.to_s.length < 1
277
+ return false if @refresh_token.nil?
278
+ return false if @refresh_token.to_s.length < 1
279
+ true
280
+ end
281
+
282
+ # Custom attribute writer method with validation
283
+ # @param [Object] host Value to be assigned
284
+ def host=(host)
285
+ if host.nil?
286
+ fail ArgumentError, 'host cannot be nil'
287
+ end
288
+
289
+ if host.to_s.length < 1
290
+ fail ArgumentError, 'invalid value for "host", the character length must be great than or equal to 1.'
291
+ end
292
+
293
+ @host = host
294
+ end
295
+
296
+ # Custom attribute writer method with validation
297
+ # @param [Object] login Value to be assigned
298
+ def login=(login)
299
+ if login.nil?
300
+ fail ArgumentError, 'login cannot be nil'
301
+ end
302
+
303
+ if login.to_s.length < 1
304
+ fail ArgumentError, 'invalid value for "login", the character length must be great than or equal to 1.'
305
+ end
306
+
307
+ @login = login
308
+ end
309
+
310
+ # Custom attribute writer method with validation
311
+ # @param [Object] security_options Value to be assigned
312
+ def security_options=(security_options)
313
+ if security_options.nil?
314
+ fail ArgumentError, 'security_options cannot be nil'
315
+ end
316
+
317
+ if security_options.to_s.length < 1
318
+ fail ArgumentError, 'invalid value for "security_options", the character length must be great than or equal to 1.'
319
+ end
320
+
321
+ @security_options = security_options
322
+ end
323
+
324
+ # Custom attribute writer method with validation
325
+ # @param [Object] protocol_type Value to be assigned
326
+ def protocol_type=(protocol_type)
327
+ if protocol_type.nil?
328
+ fail ArgumentError, 'protocol_type cannot be nil'
329
+ end
330
+
331
+ if protocol_type.to_s.length < 1
332
+ fail ArgumentError, 'invalid value for "protocol_type", the character length must be great than or equal to 1.'
333
+ end
334
+
335
+ @protocol_type = protocol_type
336
+ end
337
+
338
+ # Custom attribute writer method with validation
339
+ # @param [Object] client_id Value to be assigned
340
+ def client_id=(client_id)
341
+ if client_id.nil?
342
+ fail ArgumentError, 'client_id cannot be nil'
343
+ end
344
+
345
+ if client_id.to_s.length < 1
346
+ fail ArgumentError, 'invalid value for "client_id", the character length must be great than or equal to 1.'
347
+ end
348
+
349
+ @client_id = client_id
350
+ end
351
+
352
+ # Custom attribute writer method with validation
353
+ # @param [Object] client_secret Value to be assigned
354
+ def client_secret=(client_secret)
355
+ if client_secret.nil?
356
+ fail ArgumentError, 'client_secret cannot be nil'
357
+ end
358
+
359
+ if client_secret.to_s.length < 1
360
+ fail ArgumentError, 'invalid value for "client_secret", the character length must be great than or equal to 1.'
361
+ end
362
+
363
+ @client_secret = client_secret
364
+ end
365
+
366
+ # Custom attribute writer method with validation
367
+ # @param [Object] refresh_token Value to be assigned
368
+ def refresh_token=(refresh_token)
369
+ if refresh_token.nil?
370
+ fail ArgumentError, 'refresh_token cannot be nil'
371
+ end
372
+
373
+ if refresh_token.to_s.length < 1
374
+ fail ArgumentError, 'invalid value for "refresh_token", the character length must be great than or equal to 1.'
375
+ end
376
+
377
+ @refresh_token = refresh_token
378
+ end
379
+
380
+ # Checks equality by comparing each attribute.
381
+ # @param [Object] Object to be compared
382
+ def ==(o)
383
+ return true if self.equal?(o)
384
+ self.class == o.class &&
385
+ host == o.host &&
386
+ port == o.port &&
387
+ login == o.login &&
388
+ security_options == o.security_options &&
389
+ protocol_type == o.protocol_type &&
390
+ description == o.description &&
391
+ storage_file == o.storage_file &&
392
+ client_id == o.client_id &&
393
+ client_secret == o.client_secret &&
394
+ refresh_token == o.refresh_token &&
395
+ request_url == o.request_url
396
+ end
397
+
398
+ # @see the `==` method
399
+ # @param [Object] Object to be compared
400
+ def eql?(o)
401
+ self == o
402
+ end
403
+
404
+ # Calculates hash code according to all attributes.
405
+ # @return [Fixnum] Hash code
406
+ def hash
407
+ [host, port, login, security_options, protocol_type, description, storage_file, client_id, client_secret, refresh_token, request_url].hash
408
+ end
409
+
410
+ # Builds the object from hash
411
+ # @param [Hash] attributes Model attributes in the form of hash
412
+ # @return [Object] Returns the model itself
413
+ def build_from_hash(attributes)
414
+ return nil unless attributes.is_a?(Hash)
415
+ self.class.swagger_types.each_pair do |key, type|
416
+ attribute_key = self.class.attribute_map[key]
417
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
418
+ if type =~ /\AArray<(.*)>/i
419
+ # check to ensure the input is an array given that the the attribute
420
+ # is documented as an array but the input is not
421
+ if attributes[attribute_key].is_a?(Array)
422
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
423
+ end
424
+ elsif !attributes[attribute_key].nil?
425
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
426
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
427
+ end
428
+
429
+ self
430
+ end
431
+
432
+ # Deserializes the data based on type
433
+ # @param string type Data type
434
+ # @param string value Value to be deserialized
435
+ # @return [Object] Deserialized data
436
+ def _deserialize(type, value)
437
+ case type.to_sym
438
+ when :DateTime
439
+ DateTime.parse(value)
440
+ when :Date
441
+ Date.parse(value)
442
+ when :String
443
+ value.to_s
444
+ when :Integer
445
+ value.to_i
446
+ when :Float
447
+ value.to_f
448
+ when :BOOLEAN
449
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
450
+ true
451
+ else
452
+ false
453
+ end
454
+ when :Object
455
+ # generic object (usually a Hash), return directly
456
+ value
457
+ when /\AArray<(?<inner_type>.+)>\z/
458
+ inner_type = Regexp.last_match[:inner_type]
459
+ value.map { |v| _deserialize(inner_type, v) }
460
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
461
+ k_type = Regexp.last_match[:k_type]
462
+ v_type = Regexp.last_match[:v_type]
463
+ {}.tap do |hash|
464
+ value.each do |k, v|
465
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
466
+ end
467
+ end
468
+ else # model
469
+ sub_type = value[:type] || value[:discriminator] || type
470
+ if AsposeEmailCloud.const_defined?(sub_type)
471
+ type = sub_type
472
+ end
473
+ temp_model = AsposeEmailCloud.const_get(type).new
474
+ temp_model.build_from_hash(value)
475
+ end
476
+ end
477
+
478
+ # Returns the string representation of the object
479
+ # @return [String] String presentation of the object
480
+ def to_s
481
+ to_hash.to_s
482
+ end
483
+
484
+ # to_body is an alias to to_hash (backward compatibility)
485
+ # @return [Hash] Returns the object in the form of hash
486
+ def to_body
487
+ to_hash
488
+ end
489
+
490
+ # Returns the object in the form of hash
491
+ # @return [Hash] Returns the object in the form of hash
492
+ def to_hash
493
+ hash = {}
494
+ self.class.attribute_map.each_pair do |attr, param|
495
+ value = self.send(attr)
496
+ next if value.nil?
497
+ hash[param] = _to_hash(value)
498
+ end
499
+ hash
500
+ end
501
+
502
+ # Outputs non-array value in the form of hash
503
+ # For object, use to_hash. Otherwise, just return the value
504
+ # @param [Object] value Any valid value
505
+ # @return [Hash] Returns the value in the form of hash
506
+ def _to_hash(value)
507
+ if value.is_a?(Array)
508
+ value.compact.map { |v| _to_hash(v) }
509
+ elsif value.is_a?(Hash)
510
+ {}.tap do |hash|
511
+ value.each { |k, v| hash[k] = _to_hash(v) }
512
+ end
513
+ elsif value.respond_to? :to_hash
514
+ value.to_hash
515
+ else
516
+ value
517
+ end
518
+ end
519
+
520
+ end
521
+ end