lockally 0.1.0 → 0.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 (571) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +166 -117
  3. data/docs/AdminApi.md +33 -33
  4. data/docs/{V1AdminLoginPost200Response.md → AdminLogin200Response.md} +2 -2
  5. data/docs/{V1AdminLoginPostRequest.md → AdminLoginRequest.md} +2 -2
  6. data/docs/AdminsApi.md +76 -76
  7. data/docs/AgentSendResult.md +22 -0
  8. data/docs/AgentsApi.md +247 -247
  9. data/docs/AiApi.md +69 -69
  10. data/docs/AiConfig.md +26 -0
  11. data/docs/AiConfigUpdate.md +20 -0
  12. data/docs/AliasesApi.md +59 -59
  13. data/docs/ApiKeysApi.md +59 -59
  14. data/docs/BatchResult.md +1 -1
  15. data/docs/Calendar.md +8 -0
  16. data/docs/CalendarsApi.md +73 -0
  17. data/docs/ContactLookup.md +26 -0
  18. data/docs/ContactLookupContact.md +28 -0
  19. data/docs/ContactLookupHistory.md +22 -0
  20. data/docs/CreateAiUnitsCheckout200Response.md +22 -0
  21. data/docs/{V1AliasesPostRequest.md → CreateAliasRequest.md} +2 -2
  22. data/docs/{V1ApiKeysPost201Response.md → CreateApiKey201Response.md} +2 -2
  23. data/docs/CreateApiKeyRequest.md +22 -0
  24. data/docs/{V1DomainsPostRequest.md → CreateDomainRequest.md} +2 -2
  25. data/docs/{V1MailboxesPostRequest.md → CreateMailboxRequest.md} +2 -2
  26. data/docs/{V1SuppressionsPostRequest.md → CreateSuppressionRequest.md} +2 -2
  27. data/docs/{V1WebhooksPostRequest.md → CreateWebhookRequest.md} +2 -2
  28. data/docs/DomainsApi.md +339 -60
  29. data/docs/Draft.md +44 -0
  30. data/docs/DraftList.md +18 -0
  31. data/docs/DraftResult.md +26 -0
  32. data/docs/DraftsApi.md +115 -115
  33. data/docs/{V1MailboxesEmailExportPost201Response.md → ExportMailbox201Response.md} +2 -2
  34. data/docs/GetCalendarOverview200Response.md +34 -0
  35. data/docs/GetCalendarOverview200ResponseActivityInner.md +24 -0
  36. data/docs/{V1AdminMeGet200Response.md → GetCurrentAdmin200Response.md} +2 -2
  37. data/docs/{V1UsageGet200Response.md → GetUsage200Response.md} +2 -2
  38. data/docs/GetUserInsights200Response.md +2 -0
  39. data/docs/HealthApi.md +11 -11
  40. data/docs/{HealthzGet200Response.md → HealthCheck200Response.md} +2 -2
  41. data/docs/Inbox.md +24 -0
  42. data/docs/InboxList.md +18 -0
  43. data/docs/{V1AdminsPostRequest.md → InviteAdminRequest.md} +2 -2
  44. data/docs/{V1AdminsGet200Response.md → ListAdmins200Response.md} +2 -2
  45. data/docs/{V1AliasesGet200Response.md → ListAliases200Response.md} +2 -2
  46. data/docs/{V1ApiKeysGet200Response.md → ListApiKeys200Response.md} +2 -2
  47. data/docs/{V1DomainsGet200Response.md → ListDomains200Response.md} +2 -2
  48. data/docs/{V1MailboxesGet200Response.md → ListMailboxes200Response.md} +2 -2
  49. data/docs/{V1MessagesGet200Response.md → ListMessages200Response.md} +2 -2
  50. data/docs/{V1SuppressionsGet200Response.md → ListSuppressions200Response.md} +2 -2
  51. data/docs/{V1TemplatesGet200Response.md → ListTemplates200Response.md} +2 -2
  52. data/docs/{V1VacationGet200Response.md → ListVacationResponders200Response.md} +2 -2
  53. data/docs/{V1WebhooksGet200Response.md → ListWebhooks200Response.md} +2 -2
  54. data/docs/MailboxGrant.md +20 -0
  55. data/docs/MailboxGrantList.md +18 -0
  56. data/docs/MailboxesApi.md +204 -204
  57. data/docs/MarkReadResult.md +18 -0
  58. data/docs/MessageDetail.md +52 -0
  59. data/docs/ReturnPath.md +28 -0
  60. data/docs/ReturnPathCheck.md +20 -0
  61. data/docs/SendApi.md +121 -121
  62. data/docs/SendEmail200Response.md +24 -0
  63. data/docs/{V1SendPost202Response.md → SendEmail202Response.md} +2 -2
  64. data/docs/{V1SendBatchPost200Response.md → SendEmailBatch200Response.md} +2 -2
  65. data/docs/{V1SendBatchPostRequest.md → SendEmailBatchRequest.md} +2 -2
  66. data/docs/{V1SendPostRequest.md → SendEmailRequest.md} +7 -3
  67. data/docs/{V1SendPostRequestAttachmentsInner.md → SendEmailRequestAttachmentsInner.md} +2 -2
  68. data/docs/SendMessage.md +5 -1
  69. data/docs/{V1MailboxesEmailVacationPutRequest.md → SetVacationResponderRequest.md} +2 -2
  70. data/docs/SignupApi.md +4 -4
  71. data/docs/SimulatedInbound.md +22 -0
  72. data/docs/{V1InboxesMailboxMessagesPostRequest.md → StartConversationRequest.md} +2 -2
  73. data/docs/SuppressionsApi.md +75 -75
  74. data/docs/TemplatesApi.md +67 -67
  75. data/docs/TenantApi.md +20 -20
  76. data/docs/TestApi.md +11 -11
  77. data/docs/Thread.md +22 -0
  78. data/docs/ThreadClassification.md +22 -0
  79. data/docs/ThreadList.md +20 -0
  80. data/docs/ThreadMessage.md +40 -0
  81. data/docs/ThreadMessageBody.md +42 -0
  82. data/docs/ThreadMessageBodyAllOfBody.md +22 -0
  83. data/docs/ThreadSummary.md +28 -0
  84. data/docs/{V1AdminsIdPatchRequest.md → UpdateAdminRequest.md} +2 -2
  85. data/docs/{V1MailboxesEmailPatchRequest.md → UpdateMailboxRequest.md} +2 -2
  86. data/docs/{V1WebhooksIdPatchRequest.md → UpdateWebhookRequest.md} +2 -2
  87. data/docs/WebhooksApi.md +63 -63
  88. data/docs/Whoami.md +24 -0
  89. data/lib/lockally/api/add_ons_api.rb +1 -1
  90. data/lib/lockally/api/admin_api.rb +31 -31
  91. data/lib/lockally/api/admins_api.rb +90 -90
  92. data/lib/lockally/api/agents_api.rb +310 -310
  93. data/lib/lockally/api/ai_api.rb +70 -70
  94. data/lib/lockally/api/aliases_api.rb +65 -65
  95. data/lib/lockally/api/api_keys_api.rb +67 -67
  96. data/lib/lockally/api/billing_api.rb +1 -1
  97. data/lib/lockally/api/calendars_api.rb +64 -1
  98. data/lib/lockally/api/contact_lists_api.rb +1 -1
  99. data/lib/lockally/api/contacts_api.rb +1 -1
  100. data/lib/lockally/api/dashboard_api.rb +1 -1
  101. data/lib/lockally/api/directory_api.rb +1 -1
  102. data/lib/lockally/api/distribution_lists_api.rb +1 -1
  103. data/lib/lockally/api/domains_api.rb +314 -62
  104. data/lib/lockally/api/drafts_api.rb +141 -141
  105. data/lib/lockally/api/encryption_api.rb +1 -1
  106. data/lib/lockally/api/health_api.rb +10 -10
  107. data/lib/lockally/api/ip_pools_api.rb +1 -1
  108. data/lib/lockally/api/mailboxes_api.rb +236 -236
  109. data/lib/lockally/api/migrations_api.rb +1 -1
  110. data/lib/lockally/api/resources_api.rb +1 -1
  111. data/lib/lockally/api/send_api.rb +147 -147
  112. data/lib/lockally/api/signup_api.rb +4 -4
  113. data/lib/lockally/api/suppressions_api.rb +88 -88
  114. data/lib/lockally/api/templates_api.rb +70 -70
  115. data/lib/lockally/api/tenant_api.rb +16 -16
  116. data/lib/lockally/api/test_api.rb +10 -10
  117. data/lib/lockally/api/users_api.rb +1 -1
  118. data/lib/lockally/api/webhooks_api.rb +74 -74
  119. data/lib/lockally/api_client.rb +1 -1
  120. data/lib/lockally/api_error.rb +1 -1
  121. data/lib/lockally/api_model_base.rb +1 -1
  122. data/lib/lockally/configuration.rb +1 -1
  123. data/lib/lockally/models/activate_add_on200_response.rb +1 -1
  124. data/lib/lockally/models/add_calendar_member_request.rb +1 -1
  125. data/lib/lockally/models/add_contact_list_member_request.rb +1 -1
  126. data/lib/lockally/models/add_on.rb +1 -1
  127. data/lib/lockally/models/add_shared_member_request.rb +1 -1
  128. data/lib/lockally/models/admin.rb +1 -1
  129. data/lib/lockally/models/admin_full.rb +1 -1
  130. data/lib/lockally/models/{v1_admin_login_post200_response.rb → admin_login200_response.rb} +4 -4
  131. data/lib/lockally/models/{v1_admin_login_post_request.rb → admin_login_request.rb} +4 -4
  132. data/lib/lockally/models/agent_send_result.rb +184 -0
  133. data/lib/lockally/models/ai_config.rb +242 -0
  134. data/lib/lockally/models/ai_config_update.rb +214 -0
  135. data/lib/lockally/models/api_key.rb +1 -1
  136. data/lib/lockally/models/audit_event.rb +1 -1
  137. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +1 -1
  138. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +1 -1
  139. data/lib/lockally/models/batch_result.rb +4 -3
  140. data/lib/lockally/models/billing_status.rb +1 -1
  141. data/lib/lockally/models/calendar.rb +68 -4
  142. data/lib/lockally/models/calendar_event.rb +1 -1
  143. data/lib/lockally/models/calendar_integration.rb +1 -1
  144. data/lib/lockally/models/calendar_member.rb +1 -1
  145. data/lib/lockally/models/calendar_policies.rb +1 -1
  146. data/lib/lockally/models/contact.rb +1 -1
  147. data/lib/lockally/models/contact_list.rb +1 -1
  148. data/lib/lockally/models/contact_lookup.rb +235 -0
  149. data/lib/lockally/models/contact_lookup_contact.rb +192 -0
  150. data/lib/lockally/models/contact_lookup_history.rb +166 -0
  151. data/lib/lockally/models/create_ai_units_checkout200_response.rb +199 -0
  152. data/lib/lockally/models/{v1_aliases_post_request.rb → create_alias_request.rb} +4 -4
  153. data/lib/lockally/models/{v1_api_keys_post201_response.rb → create_api_key201_response.rb} +4 -4
  154. data/lib/lockally/models/{v1_api_keys_post_request.rb → create_api_key_request.rb} +20 -8
  155. data/lib/lockally/models/create_billing_checkout200_response.rb +1 -1
  156. data/lib/lockally/models/create_billing_checkout_request.rb +1 -1
  157. data/lib/lockally/models/create_calendar_event_request.rb +1 -1
  158. data/lib/lockally/models/create_calendar_integration_request.rb +1 -1
  159. data/lib/lockally/models/create_calendar_request.rb +1 -1
  160. data/lib/lockally/models/create_contact_list_request.rb +1 -1
  161. data/lib/lockally/models/create_contact_request.rb +1 -1
  162. data/lib/lockally/models/create_dedicated_ip_request_request.rb +1 -1
  163. data/lib/lockally/models/create_distribution_list_request.rb +1 -1
  164. data/lib/lockally/models/{v1_domains_post_request.rb → create_domain_request.rb} +4 -4
  165. data/lib/lockally/models/create_encryption_key201_response.rb +1 -1
  166. data/lib/lockally/models/create_encryption_key_request.rb +1 -1
  167. data/lib/lockally/models/create_encryption_recovery_request.rb +1 -1
  168. data/lib/lockally/models/{v1_mailboxes_post_request.rb → create_mailbox_request.rb} +4 -4
  169. data/lib/lockally/models/create_migration_credential_request.rb +1 -1
  170. data/lib/lockally/models/create_migration_credential_request_credentials.rb +1 -1
  171. data/lib/lockally/models/create_migration_request.rb +1 -1
  172. data/lib/lockally/models/create_resource_request.rb +1 -1
  173. data/lib/lockally/models/{v1_suppressions_post_request.rb → create_suppression_request.rb} +4 -4
  174. data/lib/lockally/models/create_units_checkout200_response.rb +1 -1
  175. data/lib/lockally/models/create_units_checkout_request.rb +1 -1
  176. data/lib/lockally/models/create_user_request.rb +1 -1
  177. data/lib/lockally/models/{v1_webhooks_post_request.rb → create_webhook_request.rb} +4 -4
  178. data/lib/lockally/models/dedicated_ip_request.rb +1 -1
  179. data/lib/lockally/models/directory_permissions.rb +1 -1
  180. data/lib/lockally/models/discover_migration202_response.rb +1 -1
  181. data/lib/lockally/models/distribution_list_detail.rb +1 -1
  182. data/lib/lockally/models/distribution_list_summary.rb +1 -1
  183. data/lib/lockally/models/dns_record.rb +1 -1
  184. data/lib/lockally/models/domain.rb +1 -1
  185. data/lib/lockally/models/draft.rb +413 -0
  186. data/lib/lockally/models/draft_list.rb +166 -0
  187. data/lib/lockally/models/draft_result.rb +260 -0
  188. data/lib/lockally/models/{v1_mailboxes_email_export_post201_response.rb → export_mailbox201_response.rb} +4 -4
  189. data/lib/lockally/models/gal_settings.rb +1 -1
  190. data/lib/lockally/models/get_add_on_status200_response.rb +1 -1
  191. data/lib/lockally/models/get_audit_summary200_response.rb +1 -1
  192. data/lib/lockally/models/get_calendar_overview200_response.rb +228 -0
  193. data/lib/lockally/models/get_calendar_overview200_response_activity_inner.rb +174 -0
  194. data/lib/lockally/models/get_calendar_security200_response.rb +1 -1
  195. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +1 -1
  196. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +1 -1
  197. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +1 -1
  198. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +1 -1
  199. data/lib/lockally/models/get_contact_list200_response.rb +1 -1
  200. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +1 -1
  201. data/lib/lockally/models/get_contact_lists200_response.rb +1 -1
  202. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +1 -1
  203. data/lib/lockally/models/{v1_admin_me_get200_response.rb → get_current_admin200_response.rb} +4 -4
  204. data/lib/lockally/models/get_directory_activity200_response.rb +1 -1
  205. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +1 -1
  206. data/lib/lockally/models/get_directory_stats200_response.rb +1 -1
  207. data/lib/lockally/models/get_domains_status200_response.rb +1 -1
  208. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +1 -1
  209. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +1 -1
  210. data/lib/lockally/models/get_encryption_key200_response.rb +1 -1
  211. data/lib/lockally/models/get_integrations_summary200_response.rb +1 -1
  212. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +1 -1
  213. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +1 -1
  214. data/lib/lockally/models/get_ip_assignment200_response.rb +1 -1
  215. data/lib/lockally/models/get_security200_response.rb +1 -1
  216. data/lib/lockally/models/get_security200_response_alerts_inner.rb +1 -1
  217. data/lib/lockally/models/get_security200_response_stats_inner.rb +1 -1
  218. data/lib/lockally/models/get_storage200_response.rb +1 -1
  219. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +1 -1
  220. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +1 -1
  221. data/lib/lockally/models/{v1_usage_get200_response.rb → get_usage200_response.rb} +4 -4
  222. data/lib/lockally/models/get_user_insights200_response.rb +12 -2
  223. data/lib/lockally/models/{healthz_get200_response.rb → health_check200_response.rb} +4 -4
  224. data/lib/lockally/models/inbox.rb +225 -0
  225. data/lib/lockally/models/inbox_list.rb +166 -0
  226. data/lib/lockally/models/{v1_admins_post_request.rb → invite_admin_request.rb} +4 -4
  227. data/lib/lockally/models/list_add_ons200_response.rb +1 -1
  228. data/lib/lockally/models/{v1_api_keys_get200_response.rb → list_admins200_response.rb} +5 -5
  229. data/lib/lockally/models/list_aliases200_response.rb +166 -0
  230. data/lib/lockally/models/{v1_admins_get200_response.rb → list_api_keys200_response.rb} +5 -5
  231. data/lib/lockally/models/list_calendar_events200_response.rb +1 -1
  232. data/lib/lockally/models/list_calendar_integrations200_response.rb +1 -1
  233. data/lib/lockally/models/list_calendar_members200_response.rb +1 -1
  234. data/lib/lockally/models/list_calendars200_response.rb +1 -1
  235. data/lib/lockally/models/list_contact_lists200_response.rb +1 -1
  236. data/lib/lockally/models/list_contacts200_response.rb +1 -1
  237. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +1 -1
  238. data/lib/lockally/models/list_distribution_lists200_response.rb +1 -1
  239. data/lib/lockally/models/{v1_domains_get200_response.rb → list_domains200_response.rb} +4 -4
  240. data/lib/lockally/models/{v1_mailboxes_get200_response.rb → list_mailboxes200_response.rb} +4 -4
  241. data/lib/lockally/models/{v1_messages_get200_response.rb → list_messages200_response.rb} +4 -4
  242. data/lib/lockally/models/list_migration_credentials200_response.rb +1 -1
  243. data/lib/lockally/models/list_migration_events200_response.rb +1 -1
  244. data/lib/lockally/models/list_migration_mailboxes200_response.rb +1 -1
  245. data/lib/lockally/models/list_migrations200_response.rb +1 -1
  246. data/lib/lockally/models/list_resources200_response.rb +1 -1
  247. data/lib/lockally/models/list_shared_members200_response.rb +1 -1
  248. data/lib/lockally/models/{v1_suppressions_get200_response.rb → list_suppressions200_response.rb} +4 -4
  249. data/lib/lockally/models/{v1_send_batch_post200_response.rb → list_templates200_response.rb} +5 -5
  250. data/lib/lockally/models/list_users200_response.rb +1 -1
  251. data/lib/lockally/models/{v1_vacation_get200_response.rb → list_vacation_responders200_response.rb} +4 -4
  252. data/lib/lockally/models/{v1_aliases_get200_response.rb → list_webhooks200_response.rb} +5 -5
  253. data/lib/lockally/models/mailbox.rb +1 -1
  254. data/lib/lockally/models/mailbox_grant.rb +156 -0
  255. data/lib/lockally/models/mailbox_grant_list.rb +166 -0
  256. data/lib/lockally/models/map_migration_request.rb +1 -1
  257. data/lib/lockally/models/map_migration_request_mappings_inner.rb +1 -1
  258. data/lib/lockally/models/mark_read_result.rb +147 -0
  259. data/lib/lockally/models/message.rb +1 -1
  260. data/lib/lockally/models/message_detail.rb +479 -0
  261. data/lib/lockally/models/message_stats.rb +1 -1
  262. data/lib/lockally/models/message_stats_counts.rb +1 -1
  263. data/lib/lockally/models/message_stats_rates.rb +1 -1
  264. data/lib/lockally/models/message_stats_window.rb +1 -1
  265. data/lib/lockally/models/migration.rb +1 -1
  266. data/lib/lockally/models/migration_credential.rb +1 -1
  267. data/lib/lockally/models/migration_event.rb +1 -1
  268. data/lib/lockally/models/migration_mailbox.rb +1 -1
  269. data/lib/lockally/models/migration_progress.rb +1 -1
  270. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +1 -1
  271. data/lib/lockally/models/migration_settings.rb +1 -1
  272. data/lib/lockally/models/model_alias.rb +1 -1
  273. data/lib/lockally/models/plan_catalog_entry.rb +1 -1
  274. data/lib/lockally/models/problem.rb +1 -1
  275. data/lib/lockally/models/replace_distribution_list_members200_response.rb +1 -1
  276. data/lib/lockally/models/replace_distribution_list_members_request.rb +1 -1
  277. data/lib/lockally/models/resource.rb +1 -1
  278. data/lib/lockally/models/return_path.rb +269 -0
  279. data/lib/lockally/models/return_path_check.rb +157 -0
  280. data/lib/lockally/models/rotate_encryption_key_request.rb +1 -1
  281. data/lib/lockally/models/send_email200_response.rb +218 -0
  282. data/lib/lockally/models/{v1_send_post202_response.rb → send_email202_response.rb} +4 -4
  283. data/lib/lockally/models/{v1_templates_get200_response.rb → send_email_batch200_response.rb} +5 -5
  284. data/lib/lockally/models/{v1_send_batch_post_request.rb → send_email_batch_request.rb} +4 -4
  285. data/lib/lockally/models/{v1_send_post_request.rb → send_email_request.rb} +26 -6
  286. data/lib/lockally/models/{v1_send_post_request_attachments_inner.rb → send_email_request_attachments_inner.rb} +4 -4
  287. data/lib/lockally/models/send_message.rb +23 -3
  288. data/lib/lockally/models/{v1_mailboxes_email_vacation_put_request.rb → set_vacation_responder_request.rb} +4 -4
  289. data/lib/lockally/models/shared_member.rb +1 -1
  290. data/lib/lockally/models/signup_request.rb +1 -1
  291. data/lib/lockally/models/simulated_inbound.rb +167 -0
  292. data/lib/lockally/models/{v1_inboxes_mailbox_messages_post_request.rb → start_conversation_request.rb} +4 -4
  293. data/lib/lockally/models/start_migration202_response.rb +1 -1
  294. data/lib/lockally/models/suppression.rb +1 -1
  295. data/lib/lockally/models/template.rb +1 -1
  296. data/lib/lockally/models/template_input.rb +1 -1
  297. data/lib/lockally/models/tenant.rb +1 -1
  298. data/lib/lockally/models/thread.rb +219 -0
  299. data/lib/lockally/models/thread_classification.rb +186 -0
  300. data/lib/lockally/models/thread_list.rb +192 -0
  301. data/lib/lockally/models/thread_message.rb +397 -0
  302. data/lib/lockally/models/thread_message_body.rb +413 -0
  303. data/lib/lockally/models/thread_message_body_all_of_body.rb +165 -0
  304. data/lib/lockally/models/thread_summary.rb +280 -0
  305. data/lib/lockally/models/unit_bundle.rb +1 -1
  306. data/lib/lockally/models/{v1_admins_id_patch_request.rb → update_admin_request.rb} +4 -4
  307. data/lib/lockally/models/update_calendar_event_request.rb +1 -1
  308. data/lib/lockally/models/update_calendar_integration_request.rb +1 -1
  309. data/lib/lockally/models/update_calendar_member_request.rb +1 -1
  310. data/lib/lockally/models/update_calendar_policies_request.rb +1 -1
  311. data/lib/lockally/models/update_calendar_request.rb +1 -1
  312. data/lib/lockally/models/update_contact_list_request.rb +1 -1
  313. data/lib/lockally/models/update_contact_request.rb +1 -1
  314. data/lib/lockally/models/update_directory_permissions_request.rb +1 -1
  315. data/lib/lockally/models/update_gal_settings_request.rb +1 -1
  316. data/lib/lockally/models/{v1_mailboxes_email_patch_request.rb → update_mailbox_request.rb} +4 -4
  317. data/lib/lockally/models/update_migration_mailbox_request.rb +1 -1
  318. data/lib/lockally/models/update_migration_request.rb +1 -1
  319. data/lib/lockally/models/update_resource_request.rb +1 -1
  320. data/lib/lockally/models/update_user_request.rb +1 -1
  321. data/lib/lockally/models/{v1_webhooks_id_patch_request.rb → update_webhook_request.rb} +4 -4
  322. data/lib/lockally/models/user.rb +1 -1
  323. data/lib/lockally/models/user_event.rb +1 -1
  324. data/lib/lockally/models/vacation_params.rb +1 -1
  325. data/lib/lockally/models/vacation_responder.rb +1 -1
  326. data/lib/lockally/models/webhook.rb +1 -1
  327. data/lib/lockally/models/whoami.rb +177 -0
  328. data/lib/lockally/version.rb +2 -2
  329. data/lib/lockally.rb +65 -35
  330. data/lockally.gemspec +2 -2
  331. data/spec/api/add_ons_api_spec.rb +1 -1
  332. data/spec/api/admin_api_spec.rb +10 -10
  333. data/spec/api/admins_api_spec.rb +23 -23
  334. data/spec/api/agents_api_spec.rb +79 -79
  335. data/spec/api/ai_api_spec.rb +23 -23
  336. data/spec/api/aliases_api_spec.rb +17 -17
  337. data/spec/api/api_keys_api_spec.rb +18 -18
  338. data/spec/api/billing_api_spec.rb +1 -1
  339. data/spec/api/calendars_api_spec.rb +15 -1
  340. data/spec/api/contact_lists_api_spec.rb +1 -1
  341. data/spec/api/contacts_api_spec.rb +1 -1
  342. data/spec/api/dashboard_api_spec.rb +1 -1
  343. data/spec/api/directory_api_spec.rb +1 -1
  344. data/spec/api/distribution_lists_api_spec.rb +1 -1
  345. data/spec/api/domains_api_spec.rb +66 -18
  346. data/spec/api/drafts_api_spec.rb +39 -39
  347. data/spec/api/encryption_api_spec.rb +1 -1
  348. data/spec/api/health_api_spec.rb +4 -4
  349. data/spec/api/ip_pools_api_spec.rb +1 -1
  350. data/spec/api/mailboxes_api_spec.rb +63 -63
  351. data/spec/api/migrations_api_spec.rb +1 -1
  352. data/spec/api/resources_api_spec.rb +1 -1
  353. data/spec/api/send_api_spec.rb +37 -37
  354. data/spec/api/signup_api_spec.rb +2 -2
  355. data/spec/api/suppressions_api_spec.rb +19 -19
  356. data/spec/api/templates_api_spec.rb +18 -18
  357. data/spec/api/tenant_api_spec.rb +6 -6
  358. data/spec/api/test_api_spec.rb +4 -4
  359. data/spec/api/users_api_spec.rb +1 -1
  360. data/spec/api/webhooks_api_spec.rb +20 -20
  361. data/spec/models/activate_add_on200_response_spec.rb +1 -1
  362. data/spec/models/add_calendar_member_request_spec.rb +1 -1
  363. data/spec/models/add_contact_list_member_request_spec.rb +1 -1
  364. data/spec/models/add_on_spec.rb +1 -1
  365. data/spec/models/add_shared_member_request_spec.rb +1 -1
  366. data/spec/models/admin_full_spec.rb +1 -1
  367. data/spec/models/{v1_admin_login_post200_response_spec.rb → admin_login200_response_spec.rb} +7 -7
  368. data/spec/models/{v1_admin_login_post_request_spec.rb → admin_login_request_spec.rb} +7 -7
  369. data/spec/models/admin_spec.rb +1 -1
  370. data/spec/models/agent_send_result_spec.rb +48 -0
  371. data/spec/models/ai_config_spec.rb +64 -0
  372. data/spec/models/{v1_api_keys_post_request_spec.rb → ai_config_update_spec.rb} +13 -13
  373. data/spec/models/api_key_spec.rb +1 -1
  374. data/spec/models/audit_event_spec.rb +1 -1
  375. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +1 -1
  376. data/spec/models/batch_lookup_public_keys200_response_spec.rb +1 -1
  377. data/spec/models/batch_result_spec.rb +2 -2
  378. data/spec/models/billing_status_spec.rb +1 -1
  379. data/spec/models/calendar_event_spec.rb +1 -1
  380. data/spec/models/calendar_integration_spec.rb +1 -1
  381. data/spec/models/calendar_member_spec.rb +1 -1
  382. data/spec/models/calendar_policies_spec.rb +1 -1
  383. data/spec/models/calendar_spec.rb +34 -2
  384. data/spec/models/contact_list_spec.rb +1 -1
  385. data/spec/models/contact_lookup_contact_spec.rb +66 -0
  386. data/spec/models/contact_lookup_history_spec.rb +48 -0
  387. data/spec/models/contact_lookup_spec.rb +60 -0
  388. data/spec/models/contact_spec.rb +1 -1
  389. data/spec/models/create_ai_units_checkout200_response_spec.rb +48 -0
  390. data/spec/models/{v1_aliases_post_request_spec.rb → create_alias_request_spec.rb} +7 -7
  391. data/spec/models/{v1_api_keys_post201_response_spec.rb → create_api_key201_response_spec.rb} +7 -7
  392. data/spec/models/create_api_key_request_spec.rb +52 -0
  393. data/spec/models/create_billing_checkout200_response_spec.rb +1 -1
  394. data/spec/models/create_billing_checkout_request_spec.rb +1 -1
  395. data/spec/models/create_calendar_event_request_spec.rb +1 -1
  396. data/spec/models/create_calendar_integration_request_spec.rb +1 -1
  397. data/spec/models/create_calendar_request_spec.rb +1 -1
  398. data/spec/models/create_contact_list_request_spec.rb +1 -1
  399. data/spec/models/create_contact_request_spec.rb +1 -1
  400. data/spec/models/create_dedicated_ip_request_request_spec.rb +1 -1
  401. data/spec/models/create_distribution_list_request_spec.rb +1 -1
  402. data/spec/models/{v1_domains_post_request_spec.rb → create_domain_request_spec.rb} +7 -7
  403. data/spec/models/create_encryption_key201_response_spec.rb +1 -1
  404. data/spec/models/create_encryption_key_request_spec.rb +1 -1
  405. data/spec/models/create_encryption_recovery_request_spec.rb +1 -1
  406. data/spec/models/{v1_mailboxes_post_request_spec.rb → create_mailbox_request_spec.rb} +7 -7
  407. data/spec/models/create_migration_credential_request_credentials_spec.rb +1 -1
  408. data/spec/models/create_migration_credential_request_spec.rb +1 -1
  409. data/spec/models/create_migration_request_spec.rb +1 -1
  410. data/spec/models/create_resource_request_spec.rb +1 -1
  411. data/spec/models/{v1_suppressions_post_request_spec.rb → create_suppression_request_spec.rb} +7 -7
  412. data/spec/models/create_units_checkout200_response_spec.rb +1 -1
  413. data/spec/models/create_units_checkout_request_spec.rb +1 -1
  414. data/spec/models/create_user_request_spec.rb +1 -1
  415. data/spec/models/{v1_webhooks_post_request_spec.rb → create_webhook_request_spec.rb} +7 -7
  416. data/spec/models/dedicated_ip_request_spec.rb +1 -1
  417. data/spec/models/directory_permissions_spec.rb +1 -1
  418. data/spec/models/discover_migration202_response_spec.rb +1 -1
  419. data/spec/models/distribution_list_detail_spec.rb +1 -1
  420. data/spec/models/distribution_list_summary_spec.rb +1 -1
  421. data/spec/models/dns_record_spec.rb +1 -1
  422. data/spec/models/domain_spec.rb +1 -1
  423. data/spec/models/{v1_aliases_get200_response_spec.rb → draft_list_spec.rb} +8 -8
  424. data/spec/models/draft_result_spec.rb +64 -0
  425. data/spec/models/draft_spec.rb +118 -0
  426. data/spec/models/{v1_mailboxes_email_export_post201_response_spec.rb → export_mailbox201_response_spec.rb} +7 -7
  427. data/spec/models/gal_settings_spec.rb +1 -1
  428. data/spec/models/get_add_on_status200_response_spec.rb +1 -1
  429. data/spec/models/get_audit_summary200_response_spec.rb +1 -1
  430. data/spec/models/get_calendar_overview200_response_activity_inner_spec.rb +54 -0
  431. data/spec/models/get_calendar_overview200_response_spec.rb +84 -0
  432. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +1 -1
  433. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +1 -1
  434. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +1 -1
  435. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +1 -1
  436. data/spec/models/get_calendar_security200_response_spec.rb +1 -1
  437. data/spec/models/get_contact_list200_response_members_inner_spec.rb +1 -1
  438. data/spec/models/get_contact_list200_response_spec.rb +1 -1
  439. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +1 -1
  440. data/spec/models/get_contact_lists200_response_spec.rb +1 -1
  441. data/spec/models/{v1_admin_me_get200_response_spec.rb → get_current_admin200_response_spec.rb} +7 -7
  442. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +1 -1
  443. data/spec/models/get_directory_activity200_response_spec.rb +1 -1
  444. data/spec/models/get_directory_stats200_response_spec.rb +1 -1
  445. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +1 -1
  446. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +1 -1
  447. data/spec/models/get_domains_status200_response_spec.rb +1 -1
  448. data/spec/models/get_encryption_key200_response_spec.rb +1 -1
  449. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +1 -1
  450. data/spec/models/get_integrations_summary200_response_spec.rb +1 -1
  451. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +1 -1
  452. data/spec/models/get_ip_assignment200_response_spec.rb +1 -1
  453. data/spec/models/get_security200_response_alerts_inner_spec.rb +1 -1
  454. data/spec/models/get_security200_response_spec.rb +1 -1
  455. data/spec/models/get_security200_response_stats_inner_spec.rb +1 -1
  456. data/spec/models/get_storage200_response_spec.rb +1 -1
  457. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +1 -1
  458. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +1 -1
  459. data/spec/models/{v1_usage_get200_response_spec.rb → get_usage200_response_spec.rb} +7 -7
  460. data/spec/models/get_user_insights200_response_spec.rb +7 -1
  461. data/spec/models/{healthz_get200_response_spec.rb → health_check200_response_spec.rb} +7 -7
  462. data/spec/models/inbox_list_spec.rb +36 -0
  463. data/spec/models/inbox_spec.rb +54 -0
  464. data/spec/models/{v1_admins_post_request_spec.rb → invite_admin_request_spec.rb} +7 -7
  465. data/spec/models/list_add_ons200_response_spec.rb +1 -1
  466. data/spec/models/list_admins200_response_spec.rb +36 -0
  467. data/spec/models/{v1_admins_get200_response_spec.rb → list_aliases200_response_spec.rb} +7 -7
  468. data/spec/models/{v1_api_keys_get200_response_spec.rb → list_api_keys200_response_spec.rb} +7 -7
  469. data/spec/models/list_calendar_events200_response_spec.rb +1 -1
  470. data/spec/models/list_calendar_integrations200_response_spec.rb +1 -1
  471. data/spec/models/list_calendar_members200_response_spec.rb +1 -1
  472. data/spec/models/list_calendars200_response_spec.rb +1 -1
  473. data/spec/models/list_contact_lists200_response_spec.rb +1 -1
  474. data/spec/models/list_contacts200_response_spec.rb +1 -1
  475. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +1 -1
  476. data/spec/models/list_distribution_lists200_response_spec.rb +1 -1
  477. data/spec/models/list_domains200_response_spec.rb +36 -0
  478. data/spec/models/{v1_mailboxes_get200_response_spec.rb → list_mailboxes200_response_spec.rb} +7 -7
  479. data/spec/models/{v1_suppressions_get200_response_spec.rb → list_messages200_response_spec.rb} +7 -7
  480. data/spec/models/list_migration_credentials200_response_spec.rb +1 -1
  481. data/spec/models/list_migration_events200_response_spec.rb +1 -1
  482. data/spec/models/list_migration_mailboxes200_response_spec.rb +1 -1
  483. data/spec/models/list_migrations200_response_spec.rb +1 -1
  484. data/spec/models/list_resources200_response_spec.rb +1 -1
  485. data/spec/models/list_shared_members200_response_spec.rb +1 -1
  486. data/spec/models/{v1_messages_get200_response_spec.rb → list_suppressions200_response_spec.rb} +7 -7
  487. data/spec/models/{v1_vacation_get200_response_spec.rb → list_templates200_response_spec.rb} +7 -7
  488. data/spec/models/list_users200_response_spec.rb +1 -1
  489. data/spec/models/list_vacation_responders200_response_spec.rb +36 -0
  490. data/spec/models/{v1_domains_get200_response_spec.rb → list_webhooks200_response_spec.rb} +7 -7
  491. data/spec/models/mailbox_grant_list_spec.rb +36 -0
  492. data/spec/models/mailbox_grant_spec.rb +42 -0
  493. data/spec/models/mailbox_spec.rb +1 -1
  494. data/spec/models/map_migration_request_mappings_inner_spec.rb +1 -1
  495. data/spec/models/map_migration_request_spec.rb +1 -1
  496. data/spec/models/mark_read_result_spec.rb +36 -0
  497. data/spec/models/message_detail_spec.rb +142 -0
  498. data/spec/models/message_spec.rb +1 -1
  499. data/spec/models/message_stats_counts_spec.rb +1 -1
  500. data/spec/models/message_stats_rates_spec.rb +1 -1
  501. data/spec/models/message_stats_spec.rb +1 -1
  502. data/spec/models/message_stats_window_spec.rb +1 -1
  503. data/spec/models/migration_credential_spec.rb +1 -1
  504. data/spec/models/migration_event_spec.rb +1 -1
  505. data/spec/models/migration_mailbox_spec.rb +1 -1
  506. data/spec/models/migration_progress_mailboxes_inner_spec.rb +1 -1
  507. data/spec/models/migration_progress_spec.rb +1 -1
  508. data/spec/models/migration_settings_spec.rb +1 -1
  509. data/spec/models/migration_spec.rb +1 -1
  510. data/spec/models/model_alias_spec.rb +1 -1
  511. data/spec/models/plan_catalog_entry_spec.rb +1 -1
  512. data/spec/models/problem_spec.rb +1 -1
  513. data/spec/models/replace_distribution_list_members200_response_spec.rb +1 -1
  514. data/spec/models/replace_distribution_list_members_request_spec.rb +1 -1
  515. data/spec/models/resource_spec.rb +1 -1
  516. data/spec/models/return_path_check_spec.rb +42 -0
  517. data/spec/models/return_path_spec.rb +70 -0
  518. data/spec/models/rotate_encryption_key_request_spec.rb +1 -1
  519. data/spec/models/send_email200_response_spec.rb +58 -0
  520. data/spec/models/{v1_send_post202_response_spec.rb → send_email202_response_spec.rb} +7 -7
  521. data/spec/models/{v1_templates_get200_response_spec.rb → send_email_batch200_response_spec.rb} +7 -7
  522. data/spec/models/{v1_send_batch_post_request_spec.rb → send_email_batch_request_spec.rb} +7 -7
  523. data/spec/models/{v1_send_post_request_attachments_inner_spec.rb → send_email_request_attachments_inner_spec.rb} +7 -7
  524. data/spec/models/{v1_send_post_request_spec.rb → send_email_request_spec.rb} +19 -7
  525. data/spec/models/send_message_spec.rb +13 -1
  526. data/spec/models/{v1_mailboxes_email_vacation_put_request_spec.rb → set_vacation_responder_request_spec.rb} +7 -7
  527. data/spec/models/shared_member_spec.rb +1 -1
  528. data/spec/models/signup_request_spec.rb +1 -1
  529. data/spec/models/simulated_inbound_spec.rb +48 -0
  530. data/spec/models/{v1_inboxes_mailbox_messages_post_request_spec.rb → start_conversation_request_spec.rb} +7 -7
  531. data/spec/models/start_migration202_response_spec.rb +1 -1
  532. data/spec/models/suppression_spec.rb +1 -1
  533. data/spec/models/template_input_spec.rb +1 -1
  534. data/spec/models/template_spec.rb +1 -1
  535. data/spec/models/tenant_spec.rb +1 -1
  536. data/spec/models/thread_classification_spec.rb +48 -0
  537. data/spec/models/thread_list_spec.rb +42 -0
  538. data/spec/models/thread_message_body_all_of_body_spec.rb +48 -0
  539. data/spec/models/thread_message_body_spec.rb +112 -0
  540. data/spec/models/thread_message_spec.rb +106 -0
  541. data/spec/models/thread_spec.rb +48 -0
  542. data/spec/models/thread_summary_spec.rb +70 -0
  543. data/spec/models/unit_bundle_spec.rb +1 -1
  544. data/spec/models/{v1_admins_id_patch_request_spec.rb → update_admin_request_spec.rb} +7 -7
  545. data/spec/models/update_calendar_event_request_spec.rb +1 -1
  546. data/spec/models/update_calendar_integration_request_spec.rb +1 -1
  547. data/spec/models/update_calendar_member_request_spec.rb +1 -1
  548. data/spec/models/update_calendar_policies_request_spec.rb +1 -1
  549. data/spec/models/update_calendar_request_spec.rb +1 -1
  550. data/spec/models/update_contact_list_request_spec.rb +1 -1
  551. data/spec/models/update_contact_request_spec.rb +1 -1
  552. data/spec/models/update_directory_permissions_request_spec.rb +1 -1
  553. data/spec/models/update_gal_settings_request_spec.rb +1 -1
  554. data/spec/models/{v1_mailboxes_email_patch_request_spec.rb → update_mailbox_request_spec.rb} +7 -7
  555. data/spec/models/update_migration_mailbox_request_spec.rb +1 -1
  556. data/spec/models/update_migration_request_spec.rb +1 -1
  557. data/spec/models/update_resource_request_spec.rb +1 -1
  558. data/spec/models/update_user_request_spec.rb +1 -1
  559. data/spec/models/{v1_webhooks_id_patch_request_spec.rb → update_webhook_request_spec.rb} +7 -7
  560. data/spec/models/user_event_spec.rb +1 -1
  561. data/spec/models/user_spec.rb +1 -1
  562. data/spec/models/vacation_params_spec.rb +1 -1
  563. data/spec/models/vacation_responder_spec.rb +1 -1
  564. data/spec/models/webhook_spec.rb +1 -1
  565. data/spec/models/whoami_spec.rb +54 -0
  566. data/spec/spec_helper.rb +1 -1
  567. metadata +408 -285
  568. data/docs/V1ApiKeysPostRequest.md +0 -20
  569. data/lib/lockally/models/v1_webhooks_get200_response.rb +0 -166
  570. data/spec/models/v1_send_batch_post200_response_spec.rb +0 -36
  571. data/spec/models/v1_webhooks_get200_response_spec.rb +0 -36
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -21,6 +21,7 @@ module Lockally
21
21
 
22
22
  attr_accessor :message_id
23
23
 
24
+ # \"suppressed\" means every recipient of that slot was on your suppression list, and it carries no id or message_id. \"delivered\" only appears on a test key: the send was simulated, not transmitted.
24
25
  attr_accessor :status
25
26
 
26
27
  # Present when this message failed; the others are then absent.
@@ -135,7 +136,7 @@ module Lockally
135
136
  # @return true if the model is valid
136
137
  def valid?
137
138
  warn '[DEPRECATED] the `valid?` method is obsolete'
138
- status_validator = EnumAttributeValidator.new('String', ["queued", "scheduled", "suppressed"])
139
+ status_validator = EnumAttributeValidator.new('String', ["queued", "scheduled", "suppressed", "delivered"])
139
140
  return false unless status_validator.valid?(@status)
140
141
  true
141
142
  end
@@ -143,7 +144,7 @@ module Lockally
143
144
  # Custom attribute writer method checking allowed values (enum).
144
145
  # @param [Object] status Object to be assigned
145
146
  def status=(status)
146
- validator = EnumAttributeValidator.new('String', ["queued", "scheduled", "suppressed"])
147
+ validator = EnumAttributeValidator.new('String', ["queued", "scheduled", "suppressed", "delivered"])
147
148
  unless validator.valid?(status)
148
149
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
149
150
  end
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -27,8 +27,20 @@ module Lockally
27
27
 
28
28
  attr_accessor :description
29
29
 
30
+ # What the calendar is for. Separate from visibility, which is who may see it: a team calendar can be open to everyone and a department one restricted to named people. \"personal\" is a person's own and is not listed in the console's management table.
31
+ attr_accessor :calendar_type
32
+
33
+ # The owning department or office. Empty on a personal calendar, which is owned by owner_email.
34
+ attr_accessor :owner_unit
35
+
30
36
  attr_accessor :visibility
31
37
 
38
+ # Which department may see it, when visibility is \"department\". Matched against the department recorded on a user, so access follows a person between departments with no membership list to maintain.
39
+ attr_accessor :access_department
40
+
41
+ # Archived keeps the calendar, its events and its feed, and stops it taking new events.
42
+ attr_accessor :status
43
+
32
44
  attr_accessor :feed_url
33
45
 
34
46
  attr_accessor :event_count
@@ -68,7 +80,11 @@ module Lockally
68
80
  :'color' => :'color',
69
81
  :'owner_email' => :'owner_email',
70
82
  :'description' => :'description',
83
+ :'calendar_type' => :'calendar_type',
84
+ :'owner_unit' => :'owner_unit',
71
85
  :'visibility' => :'visibility',
86
+ :'access_department' => :'access_department',
87
+ :'status' => :'status',
72
88
  :'feed_url' => :'feed_url',
73
89
  :'event_count' => :'event_count',
74
90
  :'created_at' => :'created_at',
@@ -95,7 +111,11 @@ module Lockally
95
111
  :'color' => :'String',
96
112
  :'owner_email' => :'String',
97
113
  :'description' => :'String',
114
+ :'calendar_type' => :'String',
115
+ :'owner_unit' => :'String',
98
116
  :'visibility' => :'String',
117
+ :'access_department' => :'String',
118
+ :'status' => :'String',
99
119
  :'feed_url' => :'String',
100
120
  :'event_count' => :'Integer',
101
121
  :'created_at' => :'Time',
@@ -155,12 +175,28 @@ module Lockally
155
175
  self.description = attributes[:'description']
156
176
  end
157
177
 
178
+ if attributes.key?(:'calendar_type')
179
+ self.calendar_type = attributes[:'calendar_type']
180
+ end
181
+
182
+ if attributes.key?(:'owner_unit')
183
+ self.owner_unit = attributes[:'owner_unit']
184
+ end
185
+
158
186
  if attributes.key?(:'visibility')
159
187
  self.visibility = attributes[:'visibility']
160
188
  else
161
189
  self.visibility = nil
162
190
  end
163
191
 
192
+ if attributes.key?(:'access_department')
193
+ self.access_department = attributes[:'access_department']
194
+ end
195
+
196
+ if attributes.key?(:'status')
197
+ self.status = attributes[:'status']
198
+ end
199
+
164
200
  if attributes.key?(:'feed_url')
165
201
  self.feed_url = attributes[:'feed_url']
166
202
  end
@@ -221,9 +257,13 @@ module Lockally
221
257
  return false if @id.nil?
222
258
  return false if @tenant_id.nil?
223
259
  return false if @name.nil?
260
+ calendar_type_validator = EnumAttributeValidator.new('String', ["personal", "organization", "department", "team", "shared"])
261
+ return false unless calendar_type_validator.valid?(@calendar_type)
224
262
  return false if @visibility.nil?
225
- visibility_validator = EnumAttributeValidator.new('String', ["private", "tenant"])
263
+ visibility_validator = EnumAttributeValidator.new('String', ["private", "tenant", "department"])
226
264
  return false unless visibility_validator.valid?(@visibility)
265
+ status_validator = EnumAttributeValidator.new('String', ["active", "archived"])
266
+ return false unless status_validator.valid?(@status)
227
267
  return false if @created_at.nil?
228
268
  return false if @updated_at.nil?
229
269
  true
@@ -259,16 +299,36 @@ module Lockally
259
299
  @name = name
260
300
  end
261
301
 
302
+ # Custom attribute writer method checking allowed values (enum).
303
+ # @param [Object] calendar_type Object to be assigned
304
+ def calendar_type=(calendar_type)
305
+ validator = EnumAttributeValidator.new('String', ["personal", "organization", "department", "team", "shared"])
306
+ unless validator.valid?(calendar_type)
307
+ fail ArgumentError, "invalid value for \"calendar_type\", must be one of #{validator.allowable_values}."
308
+ end
309
+ @calendar_type = calendar_type
310
+ end
311
+
262
312
  # Custom attribute writer method checking allowed values (enum).
263
313
  # @param [Object] visibility Object to be assigned
264
314
  def visibility=(visibility)
265
- validator = EnumAttributeValidator.new('String', ["private", "tenant"])
315
+ validator = EnumAttributeValidator.new('String', ["private", "tenant", "department"])
266
316
  unless validator.valid?(visibility)
267
317
  fail ArgumentError, "invalid value for \"visibility\", must be one of #{validator.allowable_values}."
268
318
  end
269
319
  @visibility = visibility
270
320
  end
271
321
 
322
+ # Custom attribute writer method checking allowed values (enum).
323
+ # @param [Object] status Object to be assigned
324
+ def status=(status)
325
+ validator = EnumAttributeValidator.new('String', ["active", "archived"])
326
+ unless validator.valid?(status)
327
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
328
+ end
329
+ @status = status
330
+ end
331
+
272
332
  # Custom attribute writer method with validation
273
333
  # @param [Object] created_at Value to be assigned
274
334
  def created_at=(created_at)
@@ -300,7 +360,11 @@ module Lockally
300
360
  color == o.color &&
301
361
  owner_email == o.owner_email &&
302
362
  description == o.description &&
363
+ calendar_type == o.calendar_type &&
364
+ owner_unit == o.owner_unit &&
303
365
  visibility == o.visibility &&
366
+ access_department == o.access_department &&
367
+ status == o.status &&
304
368
  feed_url == o.feed_url &&
305
369
  event_count == o.event_count &&
306
370
  created_at == o.created_at &&
@@ -316,7 +380,7 @@ module Lockally
316
380
  # Calculates hash code according to all attributes.
317
381
  # @return [Integer] Hash code
318
382
  def hash
319
- [id, tenant_id, name, color, owner_email, description, visibility, feed_url, event_count, created_at, updated_at].hash
383
+ [id, tenant_id, name, color, owner_email, description, calendar_type, owner_unit, visibility, access_department, status, feed_url, event_count, created_at, updated_at].hash
320
384
  end
321
385
 
322
386
  # Builds the object from hash
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
3
 
4
- #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -0,0 +1,235 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Lockally
17
+ class ContactLookup < ApiModelBase
18
+ attr_accessor :email
19
+
20
+ attr_accessor :known
21
+
22
+ # True when the address is one of the tenant's own mailboxes.
23
+ attr_accessor :internal
24
+
25
+ attr_accessor :contact
26
+
27
+ attr_accessor :history
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'email' => :'email',
33
+ :'known' => :'known',
34
+ :'internal' => :'internal',
35
+ :'contact' => :'contact',
36
+ :'history' => :'history'
37
+ }
38
+ end
39
+
40
+ # Returns attribute mapping this model knows about
41
+ def self.acceptable_attribute_map
42
+ attribute_map
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ acceptable_attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'email' => :'String',
54
+ :'known' => :'Boolean',
55
+ :'internal' => :'Boolean',
56
+ :'contact' => :'ContactLookupContact',
57
+ :'history' => :'ContactLookupHistory'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::ContactLookup` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ acceptable_attribute_map = self.class.acceptable_attribute_map
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!acceptable_attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::ContactLookup`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'email')
84
+ self.email = attributes[:'email']
85
+ else
86
+ self.email = nil
87
+ end
88
+
89
+ if attributes.key?(:'known')
90
+ self.known = attributes[:'known']
91
+ else
92
+ self.known = nil
93
+ end
94
+
95
+ if attributes.key?(:'internal')
96
+ self.internal = attributes[:'internal']
97
+ else
98
+ self.internal = nil
99
+ end
100
+
101
+ if attributes.key?(:'contact')
102
+ self.contact = attributes[:'contact']
103
+ end
104
+
105
+ if attributes.key?(:'history')
106
+ self.history = attributes[:'history']
107
+ end
108
+ end
109
+
110
+ # Show invalid properties with the reasons. Usually used together with valid?
111
+ # @return Array for valid properties with the reasons
112
+ def list_invalid_properties
113
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
114
+ invalid_properties = Array.new
115
+ if @email.nil?
116
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
117
+ end
118
+
119
+ if @known.nil?
120
+ invalid_properties.push('invalid value for "known", known cannot be nil.')
121
+ end
122
+
123
+ if @internal.nil?
124
+ invalid_properties.push('invalid value for "internal", internal cannot be nil.')
125
+ end
126
+
127
+ invalid_properties
128
+ end
129
+
130
+ # Check to see if the all the properties in the model are valid
131
+ # @return true if the model is valid
132
+ def valid?
133
+ warn '[DEPRECATED] the `valid?` method is obsolete'
134
+ return false if @email.nil?
135
+ return false if @known.nil?
136
+ return false if @internal.nil?
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method with validation
141
+ # @param [Object] email Value to be assigned
142
+ def email=(email)
143
+ if email.nil?
144
+ fail ArgumentError, 'email cannot be nil'
145
+ end
146
+
147
+ @email = email
148
+ end
149
+
150
+ # Custom attribute writer method with validation
151
+ # @param [Object] known Value to be assigned
152
+ def known=(known)
153
+ if known.nil?
154
+ fail ArgumentError, 'known cannot be nil'
155
+ end
156
+
157
+ @known = known
158
+ end
159
+
160
+ # Custom attribute writer method with validation
161
+ # @param [Object] internal Value to be assigned
162
+ def internal=(internal)
163
+ if internal.nil?
164
+ fail ArgumentError, 'internal cannot be nil'
165
+ end
166
+
167
+ @internal = internal
168
+ end
169
+
170
+ # Checks equality by comparing each attribute.
171
+ # @param [Object] Object to be compared
172
+ def ==(o)
173
+ return true if self.equal?(o)
174
+ self.class == o.class &&
175
+ email == o.email &&
176
+ known == o.known &&
177
+ internal == o.internal &&
178
+ contact == o.contact &&
179
+ history == o.history
180
+ end
181
+
182
+ # @see the `==` method
183
+ # @param [Object] Object to be compared
184
+ def eql?(o)
185
+ self == o
186
+ end
187
+
188
+ # Calculates hash code according to all attributes.
189
+ # @return [Integer] Hash code
190
+ def hash
191
+ [email, known, internal, contact, history].hash
192
+ end
193
+
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def self.build_from_hash(attributes)
198
+ return nil unless attributes.is_a?(Hash)
199
+ attributes = attributes.transform_keys(&:to_sym)
200
+ transformed_hash = {}
201
+ openapi_types.each_pair do |key, type|
202
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
203
+ transformed_hash["#{key}"] = nil
204
+ elsif type =~ /\AArray<(.*)>/i
205
+ # check to ensure the input is an array given that the attribute
206
+ # is documented as an array but the input is not
207
+ if attributes[attribute_map[key]].is_a?(Array)
208
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
209
+ end
210
+ elsif !attributes[attribute_map[key]].nil?
211
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
212
+ end
213
+ end
214
+ new(transformed_hash)
215
+ end
216
+
217
+ # Returns the object in the form of hash
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_hash
220
+ hash = {}
221
+ self.class.attribute_map.each_pair do |attr, param|
222
+ value = self.send(attr)
223
+ if value.nil?
224
+ is_nullable = self.class.openapi_nullable.include?(attr)
225
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
226
+ end
227
+
228
+ hash[param] = _to_hash(value)
229
+ end
230
+ hash
231
+ end
232
+
233
+ end
234
+
235
+ end