lockally 0.1.0 → 0.2.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 (450) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -7
  3. data/docs/AliasesApi.md +1 -1
  4. data/docs/BatchResult.md +1 -1
  5. data/docs/Calendar.md +8 -0
  6. data/docs/CalendarsApi.md +73 -0
  7. data/docs/DomainsApi.md +279 -0
  8. data/docs/GetCalendarOverview200Response.md +34 -0
  9. data/docs/GetCalendarOverview200ResponseActivityInner.md +24 -0
  10. data/docs/GetUserInsights200Response.md +2 -0
  11. data/docs/MailboxesApi.md +1 -1
  12. data/docs/MessageDetail.md +52 -0
  13. data/docs/ReturnPath.md +28 -0
  14. data/docs/ReturnPathCheck.md +20 -0
  15. data/docs/SendApi.md +9 -9
  16. data/docs/SendMessage.md +4 -0
  17. data/docs/V1ApiKeysPostRequest.md +3 -1
  18. data/docs/V1SendPost200Response.md +24 -0
  19. data/docs/V1SendPostRequest.md +4 -0
  20. data/lib/lockally/api/add_ons_api.rb +1 -1
  21. data/lib/lockally/api/admin_api.rb +1 -1
  22. data/lib/lockally/api/admins_api.rb +1 -1
  23. data/lib/lockally/api/agents_api.rb +1 -1
  24. data/lib/lockally/api/ai_api.rb +1 -1
  25. data/lib/lockally/api/aliases_api.rb +3 -3
  26. data/lib/lockally/api/api_keys_api.rb +1 -1
  27. data/lib/lockally/api/billing_api.rb +1 -1
  28. data/lib/lockally/api/calendars_api.rb +64 -1
  29. data/lib/lockally/api/contact_lists_api.rb +1 -1
  30. data/lib/lockally/api/contacts_api.rb +1 -1
  31. data/lib/lockally/api/dashboard_api.rb +1 -1
  32. data/lib/lockally/api/directory_api.rb +1 -1
  33. data/lib/lockally/api/distribution_lists_api.rb +1 -1
  34. data/lib/lockally/api/domains_api.rb +253 -1
  35. data/lib/lockally/api/drafts_api.rb +1 -1
  36. data/lib/lockally/api/encryption_api.rb +1 -1
  37. data/lib/lockally/api/health_api.rb +1 -1
  38. data/lib/lockally/api/ip_pools_api.rb +1 -1
  39. data/lib/lockally/api/mailboxes_api.rb +3 -3
  40. data/lib/lockally/api/migrations_api.rb +1 -1
  41. data/lib/lockally/api/resources_api.rb +1 -1
  42. data/lib/lockally/api/send_api.rb +9 -9
  43. data/lib/lockally/api/signup_api.rb +1 -1
  44. data/lib/lockally/api/suppressions_api.rb +1 -1
  45. data/lib/lockally/api/templates_api.rb +1 -1
  46. data/lib/lockally/api/tenant_api.rb +1 -1
  47. data/lib/lockally/api/test_api.rb +1 -1
  48. data/lib/lockally/api/users_api.rb +1 -1
  49. data/lib/lockally/api/webhooks_api.rb +1 -1
  50. data/lib/lockally/api_client.rb +1 -1
  51. data/lib/lockally/api_error.rb +1 -1
  52. data/lib/lockally/api_model_base.rb +1 -1
  53. data/lib/lockally/configuration.rb +1 -1
  54. data/lib/lockally/models/activate_add_on200_response.rb +1 -1
  55. data/lib/lockally/models/add_calendar_member_request.rb +1 -1
  56. data/lib/lockally/models/add_contact_list_member_request.rb +1 -1
  57. data/lib/lockally/models/add_on.rb +1 -1
  58. data/lib/lockally/models/add_shared_member_request.rb +1 -1
  59. data/lib/lockally/models/admin.rb +1 -1
  60. data/lib/lockally/models/admin_full.rb +1 -1
  61. data/lib/lockally/models/api_key.rb +1 -1
  62. data/lib/lockally/models/audit_event.rb +1 -1
  63. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +1 -1
  64. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +1 -1
  65. data/lib/lockally/models/batch_result.rb +4 -3
  66. data/lib/lockally/models/billing_status.rb +1 -1
  67. data/lib/lockally/models/calendar.rb +68 -4
  68. data/lib/lockally/models/calendar_event.rb +1 -1
  69. data/lib/lockally/models/calendar_integration.rb +1 -1
  70. data/lib/lockally/models/calendar_member.rb +1 -1
  71. data/lib/lockally/models/calendar_policies.rb +1 -1
  72. data/lib/lockally/models/contact.rb +1 -1
  73. data/lib/lockally/models/contact_list.rb +1 -1
  74. data/lib/lockally/models/create_billing_checkout200_response.rb +1 -1
  75. data/lib/lockally/models/create_billing_checkout_request.rb +1 -1
  76. data/lib/lockally/models/create_calendar_event_request.rb +1 -1
  77. data/lib/lockally/models/create_calendar_integration_request.rb +1 -1
  78. data/lib/lockally/models/create_calendar_request.rb +1 -1
  79. data/lib/lockally/models/create_contact_list_request.rb +1 -1
  80. data/lib/lockally/models/create_contact_request.rb +1 -1
  81. data/lib/lockally/models/create_dedicated_ip_request_request.rb +1 -1
  82. data/lib/lockally/models/create_distribution_list_request.rb +1 -1
  83. data/lib/lockally/models/create_encryption_key201_response.rb +1 -1
  84. data/lib/lockally/models/create_encryption_key_request.rb +1 -1
  85. data/lib/lockally/models/create_encryption_recovery_request.rb +1 -1
  86. data/lib/lockally/models/create_migration_credential_request.rb +1 -1
  87. data/lib/lockally/models/create_migration_credential_request_credentials.rb +1 -1
  88. data/lib/lockally/models/create_migration_request.rb +1 -1
  89. data/lib/lockally/models/create_resource_request.rb +1 -1
  90. data/lib/lockally/models/create_units_checkout200_response.rb +1 -1
  91. data/lib/lockally/models/create_units_checkout_request.rb +1 -1
  92. data/lib/lockally/models/create_user_request.rb +1 -1
  93. data/lib/lockally/models/dedicated_ip_request.rb +1 -1
  94. data/lib/lockally/models/directory_permissions.rb +1 -1
  95. data/lib/lockally/models/discover_migration202_response.rb +1 -1
  96. data/lib/lockally/models/distribution_list_detail.rb +1 -1
  97. data/lib/lockally/models/distribution_list_summary.rb +1 -1
  98. data/lib/lockally/models/dns_record.rb +1 -1
  99. data/lib/lockally/models/domain.rb +1 -1
  100. data/lib/lockally/models/gal_settings.rb +1 -1
  101. data/lib/lockally/models/get_add_on_status200_response.rb +1 -1
  102. data/lib/lockally/models/get_audit_summary200_response.rb +1 -1
  103. data/lib/lockally/models/get_calendar_overview200_response.rb +228 -0
  104. data/lib/lockally/models/get_calendar_overview200_response_activity_inner.rb +174 -0
  105. data/lib/lockally/models/get_calendar_security200_response.rb +1 -1
  106. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +1 -1
  107. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +1 -1
  108. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +1 -1
  109. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +1 -1
  110. data/lib/lockally/models/get_contact_list200_response.rb +1 -1
  111. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +1 -1
  112. data/lib/lockally/models/get_contact_lists200_response.rb +1 -1
  113. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +1 -1
  114. data/lib/lockally/models/get_directory_activity200_response.rb +1 -1
  115. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +1 -1
  116. data/lib/lockally/models/get_directory_stats200_response.rb +1 -1
  117. data/lib/lockally/models/get_domains_status200_response.rb +1 -1
  118. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +1 -1
  119. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +1 -1
  120. data/lib/lockally/models/get_encryption_key200_response.rb +1 -1
  121. data/lib/lockally/models/get_integrations_summary200_response.rb +1 -1
  122. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +1 -1
  123. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +1 -1
  124. data/lib/lockally/models/get_ip_assignment200_response.rb +1 -1
  125. data/lib/lockally/models/get_security200_response.rb +1 -1
  126. data/lib/lockally/models/get_security200_response_alerts_inner.rb +1 -1
  127. data/lib/lockally/models/get_security200_response_stats_inner.rb +1 -1
  128. data/lib/lockally/models/get_storage200_response.rb +1 -1
  129. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +1 -1
  130. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +1 -1
  131. data/lib/lockally/models/get_user_insights200_response.rb +12 -2
  132. data/lib/lockally/models/healthz_get200_response.rb +1 -1
  133. data/lib/lockally/models/list_add_ons200_response.rb +1 -1
  134. data/lib/lockally/models/list_calendar_events200_response.rb +1 -1
  135. data/lib/lockally/models/list_calendar_integrations200_response.rb +1 -1
  136. data/lib/lockally/models/list_calendar_members200_response.rb +1 -1
  137. data/lib/lockally/models/list_calendars200_response.rb +1 -1
  138. data/lib/lockally/models/list_contact_lists200_response.rb +1 -1
  139. data/lib/lockally/models/list_contacts200_response.rb +1 -1
  140. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +1 -1
  141. data/lib/lockally/models/list_distribution_lists200_response.rb +1 -1
  142. data/lib/lockally/models/list_migration_credentials200_response.rb +1 -1
  143. data/lib/lockally/models/list_migration_events200_response.rb +1 -1
  144. data/lib/lockally/models/list_migration_mailboxes200_response.rb +1 -1
  145. data/lib/lockally/models/list_migrations200_response.rb +1 -1
  146. data/lib/lockally/models/list_resources200_response.rb +1 -1
  147. data/lib/lockally/models/list_shared_members200_response.rb +1 -1
  148. data/lib/lockally/models/list_users200_response.rb +1 -1
  149. data/lib/lockally/models/mailbox.rb +1 -1
  150. data/lib/lockally/models/map_migration_request.rb +1 -1
  151. data/lib/lockally/models/map_migration_request_mappings_inner.rb +1 -1
  152. data/lib/lockally/models/message.rb +1 -1
  153. data/lib/lockally/models/message_detail.rb +479 -0
  154. data/lib/lockally/models/message_stats.rb +1 -1
  155. data/lib/lockally/models/message_stats_counts.rb +1 -1
  156. data/lib/lockally/models/message_stats_rates.rb +1 -1
  157. data/lib/lockally/models/message_stats_window.rb +1 -1
  158. data/lib/lockally/models/migration.rb +1 -1
  159. data/lib/lockally/models/migration_credential.rb +1 -1
  160. data/lib/lockally/models/migration_event.rb +1 -1
  161. data/lib/lockally/models/migration_mailbox.rb +1 -1
  162. data/lib/lockally/models/migration_progress.rb +1 -1
  163. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +1 -1
  164. data/lib/lockally/models/migration_settings.rb +1 -1
  165. data/lib/lockally/models/model_alias.rb +1 -1
  166. data/lib/lockally/models/plan_catalog_entry.rb +1 -1
  167. data/lib/lockally/models/problem.rb +1 -1
  168. data/lib/lockally/models/replace_distribution_list_members200_response.rb +1 -1
  169. data/lib/lockally/models/replace_distribution_list_members_request.rb +1 -1
  170. data/lib/lockally/models/resource.rb +1 -1
  171. data/lib/lockally/models/return_path.rb +269 -0
  172. data/lib/lockally/models/return_path_check.rb +157 -0
  173. data/lib/lockally/models/rotate_encryption_key_request.rb +1 -1
  174. data/lib/lockally/models/send_message.rb +22 -2
  175. data/lib/lockally/models/shared_member.rb +1 -1
  176. data/lib/lockally/models/signup_request.rb +1 -1
  177. data/lib/lockally/models/start_migration202_response.rb +1 -1
  178. data/lib/lockally/models/suppression.rb +1 -1
  179. data/lib/lockally/models/template.rb +1 -1
  180. data/lib/lockally/models/template_input.rb +1 -1
  181. data/lib/lockally/models/tenant.rb +1 -1
  182. data/lib/lockally/models/unit_bundle.rb +1 -1
  183. data/lib/lockally/models/update_calendar_event_request.rb +1 -1
  184. data/lib/lockally/models/update_calendar_integration_request.rb +1 -1
  185. data/lib/lockally/models/update_calendar_member_request.rb +1 -1
  186. data/lib/lockally/models/update_calendar_policies_request.rb +1 -1
  187. data/lib/lockally/models/update_calendar_request.rb +1 -1
  188. data/lib/lockally/models/update_contact_list_request.rb +1 -1
  189. data/lib/lockally/models/update_contact_request.rb +1 -1
  190. data/lib/lockally/models/update_directory_permissions_request.rb +1 -1
  191. data/lib/lockally/models/update_gal_settings_request.rb +1 -1
  192. data/lib/lockally/models/update_migration_mailbox_request.rb +1 -1
  193. data/lib/lockally/models/update_migration_request.rb +1 -1
  194. data/lib/lockally/models/update_resource_request.rb +1 -1
  195. data/lib/lockally/models/update_user_request.rb +1 -1
  196. data/lib/lockally/models/user.rb +1 -1
  197. data/lib/lockally/models/user_event.rb +1 -1
  198. data/lib/lockally/models/v1_admin_login_post200_response.rb +1 -1
  199. data/lib/lockally/models/v1_admin_login_post_request.rb +1 -1
  200. data/lib/lockally/models/v1_admin_me_get200_response.rb +1 -1
  201. data/lib/lockally/models/v1_admins_get200_response.rb +1 -1
  202. data/lib/lockally/models/v1_admins_id_patch_request.rb +1 -1
  203. data/lib/lockally/models/v1_admins_post_request.rb +1 -1
  204. data/lib/lockally/models/v1_aliases_get200_response.rb +1 -1
  205. data/lib/lockally/models/v1_aliases_post_request.rb +1 -1
  206. data/lib/lockally/models/v1_api_keys_get200_response.rb +1 -1
  207. data/lib/lockally/models/v1_api_keys_post201_response.rb +1 -1
  208. data/lib/lockally/models/v1_api_keys_post_request.rb +17 -5
  209. data/lib/lockally/models/v1_domains_get200_response.rb +1 -1
  210. data/lib/lockally/models/v1_domains_post_request.rb +1 -1
  211. data/lib/lockally/models/v1_inboxes_mailbox_messages_post_request.rb +1 -1
  212. data/lib/lockally/models/v1_mailboxes_email_export_post201_response.rb +1 -1
  213. data/lib/lockally/models/v1_mailboxes_email_patch_request.rb +1 -1
  214. data/lib/lockally/models/v1_mailboxes_email_vacation_put_request.rb +1 -1
  215. data/lib/lockally/models/v1_mailboxes_get200_response.rb +1 -1
  216. data/lib/lockally/models/v1_mailboxes_post_request.rb +1 -1
  217. data/lib/lockally/models/v1_messages_get200_response.rb +1 -1
  218. data/lib/lockally/models/v1_send_batch_post200_response.rb +1 -1
  219. data/lib/lockally/models/v1_send_batch_post_request.rb +1 -1
  220. data/lib/lockally/models/v1_send_post200_response.rb +218 -0
  221. data/lib/lockally/models/v1_send_post202_response.rb +1 -1
  222. data/lib/lockally/models/v1_send_post_request.rb +22 -2
  223. data/lib/lockally/models/v1_send_post_request_attachments_inner.rb +1 -1
  224. data/lib/lockally/models/v1_suppressions_get200_response.rb +1 -1
  225. data/lib/lockally/models/v1_suppressions_post_request.rb +1 -1
  226. data/lib/lockally/models/v1_templates_get200_response.rb +1 -1
  227. data/lib/lockally/models/v1_usage_get200_response.rb +1 -1
  228. data/lib/lockally/models/v1_vacation_get200_response.rb +1 -1
  229. data/lib/lockally/models/v1_webhooks_get200_response.rb +1 -1
  230. data/lib/lockally/models/v1_webhooks_id_patch_request.rb +1 -1
  231. data/lib/lockally/models/v1_webhooks_post_request.rb +1 -1
  232. data/lib/lockally/models/vacation_params.rb +1 -1
  233. data/lib/lockally/models/vacation_responder.rb +1 -1
  234. data/lib/lockally/models/webhook.rb +1 -1
  235. data/lib/lockally/version.rb +2 -2
  236. data/lib/lockally.rb +7 -1
  237. data/lockally.gemspec +2 -2
  238. data/spec/api/add_ons_api_spec.rb +1 -1
  239. data/spec/api/admin_api_spec.rb +1 -1
  240. data/spec/api/admins_api_spec.rb +1 -1
  241. data/spec/api/agents_api_spec.rb +1 -1
  242. data/spec/api/ai_api_spec.rb +1 -1
  243. data/spec/api/aliases_api_spec.rb +2 -2
  244. data/spec/api/api_keys_api_spec.rb +1 -1
  245. data/spec/api/billing_api_spec.rb +1 -1
  246. data/spec/api/calendars_api_spec.rb +15 -1
  247. data/spec/api/contact_lists_api_spec.rb +1 -1
  248. data/spec/api/contacts_api_spec.rb +1 -1
  249. data/spec/api/dashboard_api_spec.rb +1 -1
  250. data/spec/api/directory_api_spec.rb +1 -1
  251. data/spec/api/distribution_lists_api_spec.rb +1 -1
  252. data/spec/api/domains_api_spec.rb +49 -1
  253. data/spec/api/drafts_api_spec.rb +1 -1
  254. data/spec/api/encryption_api_spec.rb +1 -1
  255. data/spec/api/health_api_spec.rb +1 -1
  256. data/spec/api/ip_pools_api_spec.rb +1 -1
  257. data/spec/api/mailboxes_api_spec.rb +2 -2
  258. data/spec/api/migrations_api_spec.rb +1 -1
  259. data/spec/api/resources_api_spec.rb +1 -1
  260. data/spec/api/send_api_spec.rb +4 -4
  261. data/spec/api/signup_api_spec.rb +1 -1
  262. data/spec/api/suppressions_api_spec.rb +1 -1
  263. data/spec/api/templates_api_spec.rb +1 -1
  264. data/spec/api/tenant_api_spec.rb +1 -1
  265. data/spec/api/test_api_spec.rb +1 -1
  266. data/spec/api/users_api_spec.rb +1 -1
  267. data/spec/api/webhooks_api_spec.rb +1 -1
  268. data/spec/models/activate_add_on200_response_spec.rb +1 -1
  269. data/spec/models/add_calendar_member_request_spec.rb +1 -1
  270. data/spec/models/add_contact_list_member_request_spec.rb +1 -1
  271. data/spec/models/add_on_spec.rb +1 -1
  272. data/spec/models/add_shared_member_request_spec.rb +1 -1
  273. data/spec/models/admin_full_spec.rb +1 -1
  274. data/spec/models/admin_spec.rb +1 -1
  275. data/spec/models/api_key_spec.rb +1 -1
  276. data/spec/models/audit_event_spec.rb +1 -1
  277. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +1 -1
  278. data/spec/models/batch_lookup_public_keys200_response_spec.rb +1 -1
  279. data/spec/models/batch_result_spec.rb +2 -2
  280. data/spec/models/billing_status_spec.rb +1 -1
  281. data/spec/models/calendar_event_spec.rb +1 -1
  282. data/spec/models/calendar_integration_spec.rb +1 -1
  283. data/spec/models/calendar_member_spec.rb +1 -1
  284. data/spec/models/calendar_policies_spec.rb +1 -1
  285. data/spec/models/calendar_spec.rb +34 -2
  286. data/spec/models/contact_list_spec.rb +1 -1
  287. data/spec/models/contact_spec.rb +1 -1
  288. data/spec/models/create_billing_checkout200_response_spec.rb +1 -1
  289. data/spec/models/create_billing_checkout_request_spec.rb +1 -1
  290. data/spec/models/create_calendar_event_request_spec.rb +1 -1
  291. data/spec/models/create_calendar_integration_request_spec.rb +1 -1
  292. data/spec/models/create_calendar_request_spec.rb +1 -1
  293. data/spec/models/create_contact_list_request_spec.rb +1 -1
  294. data/spec/models/create_contact_request_spec.rb +1 -1
  295. data/spec/models/create_dedicated_ip_request_request_spec.rb +1 -1
  296. data/spec/models/create_distribution_list_request_spec.rb +1 -1
  297. data/spec/models/create_encryption_key201_response_spec.rb +1 -1
  298. data/spec/models/create_encryption_key_request_spec.rb +1 -1
  299. data/spec/models/create_encryption_recovery_request_spec.rb +1 -1
  300. data/spec/models/create_migration_credential_request_credentials_spec.rb +1 -1
  301. data/spec/models/create_migration_credential_request_spec.rb +1 -1
  302. data/spec/models/create_migration_request_spec.rb +1 -1
  303. data/spec/models/create_resource_request_spec.rb +1 -1
  304. data/spec/models/create_units_checkout200_response_spec.rb +1 -1
  305. data/spec/models/create_units_checkout_request_spec.rb +1 -1
  306. data/spec/models/create_user_request_spec.rb +1 -1
  307. data/spec/models/dedicated_ip_request_spec.rb +1 -1
  308. data/spec/models/directory_permissions_spec.rb +1 -1
  309. data/spec/models/discover_migration202_response_spec.rb +1 -1
  310. data/spec/models/distribution_list_detail_spec.rb +1 -1
  311. data/spec/models/distribution_list_summary_spec.rb +1 -1
  312. data/spec/models/dns_record_spec.rb +1 -1
  313. data/spec/models/domain_spec.rb +1 -1
  314. data/spec/models/gal_settings_spec.rb +1 -1
  315. data/spec/models/get_add_on_status200_response_spec.rb +1 -1
  316. data/spec/models/get_audit_summary200_response_spec.rb +1 -1
  317. data/spec/models/get_calendar_overview200_response_activity_inner_spec.rb +54 -0
  318. data/spec/models/get_calendar_overview200_response_spec.rb +84 -0
  319. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +1 -1
  320. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +1 -1
  321. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +1 -1
  322. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +1 -1
  323. data/spec/models/get_calendar_security200_response_spec.rb +1 -1
  324. data/spec/models/get_contact_list200_response_members_inner_spec.rb +1 -1
  325. data/spec/models/get_contact_list200_response_spec.rb +1 -1
  326. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +1 -1
  327. data/spec/models/get_contact_lists200_response_spec.rb +1 -1
  328. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +1 -1
  329. data/spec/models/get_directory_activity200_response_spec.rb +1 -1
  330. data/spec/models/get_directory_stats200_response_spec.rb +1 -1
  331. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +1 -1
  332. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +1 -1
  333. data/spec/models/get_domains_status200_response_spec.rb +1 -1
  334. data/spec/models/get_encryption_key200_response_spec.rb +1 -1
  335. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +1 -1
  336. data/spec/models/get_integrations_summary200_response_spec.rb +1 -1
  337. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +1 -1
  338. data/spec/models/get_ip_assignment200_response_spec.rb +1 -1
  339. data/spec/models/get_security200_response_alerts_inner_spec.rb +1 -1
  340. data/spec/models/get_security200_response_spec.rb +1 -1
  341. data/spec/models/get_security200_response_stats_inner_spec.rb +1 -1
  342. data/spec/models/get_storage200_response_spec.rb +1 -1
  343. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +1 -1
  344. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +1 -1
  345. data/spec/models/get_user_insights200_response_spec.rb +7 -1
  346. data/spec/models/healthz_get200_response_spec.rb +1 -1
  347. data/spec/models/list_add_ons200_response_spec.rb +1 -1
  348. data/spec/models/list_calendar_events200_response_spec.rb +1 -1
  349. data/spec/models/list_calendar_integrations200_response_spec.rb +1 -1
  350. data/spec/models/list_calendar_members200_response_spec.rb +1 -1
  351. data/spec/models/list_calendars200_response_spec.rb +1 -1
  352. data/spec/models/list_contact_lists200_response_spec.rb +1 -1
  353. data/spec/models/list_contacts200_response_spec.rb +1 -1
  354. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +1 -1
  355. data/spec/models/list_distribution_lists200_response_spec.rb +1 -1
  356. data/spec/models/list_migration_credentials200_response_spec.rb +1 -1
  357. data/spec/models/list_migration_events200_response_spec.rb +1 -1
  358. data/spec/models/list_migration_mailboxes200_response_spec.rb +1 -1
  359. data/spec/models/list_migrations200_response_spec.rb +1 -1
  360. data/spec/models/list_resources200_response_spec.rb +1 -1
  361. data/spec/models/list_shared_members200_response_spec.rb +1 -1
  362. data/spec/models/list_users200_response_spec.rb +1 -1
  363. data/spec/models/mailbox_spec.rb +1 -1
  364. data/spec/models/map_migration_request_mappings_inner_spec.rb +1 -1
  365. data/spec/models/map_migration_request_spec.rb +1 -1
  366. data/spec/models/message_detail_spec.rb +142 -0
  367. data/spec/models/message_spec.rb +1 -1
  368. data/spec/models/message_stats_counts_spec.rb +1 -1
  369. data/spec/models/message_stats_rates_spec.rb +1 -1
  370. data/spec/models/message_stats_spec.rb +1 -1
  371. data/spec/models/message_stats_window_spec.rb +1 -1
  372. data/spec/models/migration_credential_spec.rb +1 -1
  373. data/spec/models/migration_event_spec.rb +1 -1
  374. data/spec/models/migration_mailbox_spec.rb +1 -1
  375. data/spec/models/migration_progress_mailboxes_inner_spec.rb +1 -1
  376. data/spec/models/migration_progress_spec.rb +1 -1
  377. data/spec/models/migration_settings_spec.rb +1 -1
  378. data/spec/models/migration_spec.rb +1 -1
  379. data/spec/models/model_alias_spec.rb +1 -1
  380. data/spec/models/plan_catalog_entry_spec.rb +1 -1
  381. data/spec/models/problem_spec.rb +1 -1
  382. data/spec/models/replace_distribution_list_members200_response_spec.rb +1 -1
  383. data/spec/models/replace_distribution_list_members_request_spec.rb +1 -1
  384. data/spec/models/resource_spec.rb +1 -1
  385. data/spec/models/return_path_check_spec.rb +42 -0
  386. data/spec/models/return_path_spec.rb +70 -0
  387. data/spec/models/rotate_encryption_key_request_spec.rb +1 -1
  388. data/spec/models/send_message_spec.rb +13 -1
  389. data/spec/models/shared_member_spec.rb +1 -1
  390. data/spec/models/signup_request_spec.rb +1 -1
  391. data/spec/models/start_migration202_response_spec.rb +1 -1
  392. data/spec/models/suppression_spec.rb +1 -1
  393. data/spec/models/template_input_spec.rb +1 -1
  394. data/spec/models/template_spec.rb +1 -1
  395. data/spec/models/tenant_spec.rb +1 -1
  396. data/spec/models/unit_bundle_spec.rb +1 -1
  397. data/spec/models/update_calendar_event_request_spec.rb +1 -1
  398. data/spec/models/update_calendar_integration_request_spec.rb +1 -1
  399. data/spec/models/update_calendar_member_request_spec.rb +1 -1
  400. data/spec/models/update_calendar_policies_request_spec.rb +1 -1
  401. data/spec/models/update_calendar_request_spec.rb +1 -1
  402. data/spec/models/update_contact_list_request_spec.rb +1 -1
  403. data/spec/models/update_contact_request_spec.rb +1 -1
  404. data/spec/models/update_directory_permissions_request_spec.rb +1 -1
  405. data/spec/models/update_gal_settings_request_spec.rb +1 -1
  406. data/spec/models/update_migration_mailbox_request_spec.rb +1 -1
  407. data/spec/models/update_migration_request_spec.rb +1 -1
  408. data/spec/models/update_resource_request_spec.rb +1 -1
  409. data/spec/models/update_user_request_spec.rb +1 -1
  410. data/spec/models/user_event_spec.rb +1 -1
  411. data/spec/models/user_spec.rb +1 -1
  412. data/spec/models/v1_admin_login_post200_response_spec.rb +1 -1
  413. data/spec/models/v1_admin_login_post_request_spec.rb +1 -1
  414. data/spec/models/v1_admin_me_get200_response_spec.rb +1 -1
  415. data/spec/models/v1_admins_get200_response_spec.rb +1 -1
  416. data/spec/models/v1_admins_id_patch_request_spec.rb +1 -1
  417. data/spec/models/v1_admins_post_request_spec.rb +1 -1
  418. data/spec/models/v1_aliases_get200_response_spec.rb +1 -1
  419. data/spec/models/v1_aliases_post_request_spec.rb +1 -1
  420. data/spec/models/v1_api_keys_get200_response_spec.rb +1 -1
  421. data/spec/models/v1_api_keys_post201_response_spec.rb +1 -1
  422. data/spec/models/v1_api_keys_post_request_spec.rb +8 -2
  423. data/spec/models/v1_domains_get200_response_spec.rb +1 -1
  424. data/spec/models/v1_domains_post_request_spec.rb +1 -1
  425. data/spec/models/v1_inboxes_mailbox_messages_post_request_spec.rb +1 -1
  426. data/spec/models/v1_mailboxes_email_export_post201_response_spec.rb +1 -1
  427. data/spec/models/v1_mailboxes_email_patch_request_spec.rb +1 -1
  428. data/spec/models/v1_mailboxes_email_vacation_put_request_spec.rb +1 -1
  429. data/spec/models/v1_mailboxes_get200_response_spec.rb +1 -1
  430. data/spec/models/v1_mailboxes_post_request_spec.rb +1 -1
  431. data/spec/models/v1_messages_get200_response_spec.rb +1 -1
  432. data/spec/models/v1_send_batch_post200_response_spec.rb +1 -1
  433. data/spec/models/v1_send_batch_post_request_spec.rb +1 -1
  434. data/spec/models/v1_send_post200_response_spec.rb +58 -0
  435. data/spec/models/v1_send_post202_response_spec.rb +1 -1
  436. data/spec/models/v1_send_post_request_attachments_inner_spec.rb +1 -1
  437. data/spec/models/v1_send_post_request_spec.rb +13 -1
  438. data/spec/models/v1_suppressions_get200_response_spec.rb +1 -1
  439. data/spec/models/v1_suppressions_post_request_spec.rb +1 -1
  440. data/spec/models/v1_templates_get200_response_spec.rb +1 -1
  441. data/spec/models/v1_usage_get200_response_spec.rb +1 -1
  442. data/spec/models/v1_vacation_get200_response_spec.rb +1 -1
  443. data/spec/models/v1_webhooks_get200_response_spec.rb +1 -1
  444. data/spec/models/v1_webhooks_id_patch_request_spec.rb +1 -1
  445. data/spec/models/v1_webhooks_post_request_spec.rb +1 -1
  446. data/spec/models/vacation_params_spec.rb +1 -1
  447. data/spec/models/vacation_responder_spec.rb +1 -1
  448. data/spec/models/webhook_spec.rb +1 -1
  449. data/spec/spec_helper.rb +1 -1
  450. metadata +207 -180
@@ -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
@@ -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,479 @@
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
+ # A single message with the content captured at send time. Returned only by GET /v1/messages/{id} (the list stays summary-only). Attachments are not returned.
18
+ class MessageDetail < ApiModelBase
19
+ attr_accessor :id
20
+
21
+ attr_accessor :tenant_id
22
+
23
+ # RFC 5322 Message-ID header, including angle brackets.
24
+ attr_accessor :message_id
25
+
26
+ attr_accessor :sender
27
+
28
+ attr_accessor :recipients
29
+
30
+ attr_accessor :subject
31
+
32
+ attr_accessor :status
33
+
34
+ attr_accessor :queued_at
35
+
36
+ attr_accessor :updated_at
37
+
38
+ attr_accessor :bounce_reason
39
+
40
+ attr_accessor :size_bytes
41
+
42
+ attr_accessor :from
43
+
44
+ attr_accessor :to
45
+
46
+ attr_accessor :cc
47
+
48
+ attr_accessor :bcc
49
+
50
+ attr_accessor :text
51
+
52
+ attr_accessor :html
53
+
54
+ attr_accessor :headers
55
+
56
+ class EnumAttributeValidator
57
+ attr_reader :datatype
58
+ attr_reader :allowable_values
59
+
60
+ def initialize(datatype, allowable_values)
61
+ @allowable_values = allowable_values.map do |value|
62
+ case datatype.to_s
63
+ when /Integer/i
64
+ value.to_i
65
+ when /Float/i
66
+ value.to_f
67
+ else
68
+ value
69
+ end
70
+ end
71
+ end
72
+
73
+ def valid?(value)
74
+ !value || allowable_values.include?(value)
75
+ end
76
+ end
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'id' => :'id',
82
+ :'tenant_id' => :'tenant_id',
83
+ :'message_id' => :'message_id',
84
+ :'sender' => :'sender',
85
+ :'recipients' => :'recipients',
86
+ :'subject' => :'subject',
87
+ :'status' => :'status',
88
+ :'queued_at' => :'queued_at',
89
+ :'updated_at' => :'updated_at',
90
+ :'bounce_reason' => :'bounce_reason',
91
+ :'size_bytes' => :'size_bytes',
92
+ :'from' => :'from',
93
+ :'to' => :'to',
94
+ :'cc' => :'cc',
95
+ :'bcc' => :'bcc',
96
+ :'text' => :'text',
97
+ :'html' => :'html',
98
+ :'headers' => :'headers'
99
+ }
100
+ end
101
+
102
+ # Returns attribute mapping this model knows about
103
+ def self.acceptable_attribute_map
104
+ attribute_map
105
+ end
106
+
107
+ # Returns all the JSON keys this model knows about
108
+ def self.acceptable_attributes
109
+ acceptable_attribute_map.values
110
+ end
111
+
112
+ # Attribute type mapping.
113
+ def self.openapi_types
114
+ {
115
+ :'id' => :'String',
116
+ :'tenant_id' => :'String',
117
+ :'message_id' => :'String',
118
+ :'sender' => :'String',
119
+ :'recipients' => :'Array<String>',
120
+ :'subject' => :'String',
121
+ :'status' => :'String',
122
+ :'queued_at' => :'Time',
123
+ :'updated_at' => :'Time',
124
+ :'bounce_reason' => :'String',
125
+ :'size_bytes' => :'Integer',
126
+ :'from' => :'String',
127
+ :'to' => :'Array<String>',
128
+ :'cc' => :'Array<String>',
129
+ :'bcc' => :'Array<String>',
130
+ :'text' => :'String',
131
+ :'html' => :'String',
132
+ :'headers' => :'Hash<String, String>'
133
+ }
134
+ end
135
+
136
+ # List of attributes with nullable: true
137
+ def self.openapi_nullable
138
+ Set.new([
139
+ ])
140
+ end
141
+
142
+ # List of class defined in allOf (OpenAPI v3)
143
+ def self.openapi_all_of
144
+ [
145
+ :'Message'
146
+ ]
147
+ end
148
+
149
+ # Initializes the object
150
+ # @param [Hash] attributes Model attributes in the form of hash
151
+ def initialize(attributes = {})
152
+ if (!attributes.is_a?(Hash))
153
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::MessageDetail` initialize method"
154
+ end
155
+
156
+ # check to see if the attribute exists and convert string to symbol for hash key
157
+ acceptable_attribute_map = self.class.acceptable_attribute_map
158
+ attributes = attributes.each_with_object({}) { |(k, v), h|
159
+ if (!acceptable_attribute_map.key?(k.to_sym))
160
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::MessageDetail`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
161
+ end
162
+ h[k.to_sym] = v
163
+ }
164
+
165
+ if attributes.key?(:'id')
166
+ self.id = attributes[:'id']
167
+ else
168
+ self.id = nil
169
+ end
170
+
171
+ if attributes.key?(:'tenant_id')
172
+ self.tenant_id = attributes[:'tenant_id']
173
+ else
174
+ self.tenant_id = nil
175
+ end
176
+
177
+ if attributes.key?(:'message_id')
178
+ self.message_id = attributes[:'message_id']
179
+ else
180
+ self.message_id = nil
181
+ end
182
+
183
+ if attributes.key?(:'sender')
184
+ self.sender = attributes[:'sender']
185
+ else
186
+ self.sender = nil
187
+ end
188
+
189
+ if attributes.key?(:'recipients')
190
+ if (value = attributes[:'recipients']).is_a?(Array)
191
+ self.recipients = value
192
+ end
193
+ else
194
+ self.recipients = nil
195
+ end
196
+
197
+ if attributes.key?(:'subject')
198
+ self.subject = attributes[:'subject']
199
+ end
200
+
201
+ if attributes.key?(:'status')
202
+ self.status = attributes[:'status']
203
+ else
204
+ self.status = nil
205
+ end
206
+
207
+ if attributes.key?(:'queued_at')
208
+ self.queued_at = attributes[:'queued_at']
209
+ else
210
+ self.queued_at = nil
211
+ end
212
+
213
+ if attributes.key?(:'updated_at')
214
+ self.updated_at = attributes[:'updated_at']
215
+ else
216
+ self.updated_at = nil
217
+ end
218
+
219
+ if attributes.key?(:'bounce_reason')
220
+ self.bounce_reason = attributes[:'bounce_reason']
221
+ end
222
+
223
+ if attributes.key?(:'size_bytes')
224
+ self.size_bytes = attributes[:'size_bytes']
225
+ end
226
+
227
+ if attributes.key?(:'from')
228
+ self.from = attributes[:'from']
229
+ end
230
+
231
+ if attributes.key?(:'to')
232
+ if (value = attributes[:'to']).is_a?(Array)
233
+ self.to = value
234
+ end
235
+ end
236
+
237
+ if attributes.key?(:'cc')
238
+ if (value = attributes[:'cc']).is_a?(Array)
239
+ self.cc = value
240
+ end
241
+ end
242
+
243
+ if attributes.key?(:'bcc')
244
+ if (value = attributes[:'bcc']).is_a?(Array)
245
+ self.bcc = value
246
+ end
247
+ end
248
+
249
+ if attributes.key?(:'text')
250
+ self.text = attributes[:'text']
251
+ end
252
+
253
+ if attributes.key?(:'html')
254
+ self.html = attributes[:'html']
255
+ end
256
+
257
+ if attributes.key?(:'headers')
258
+ if (value = attributes[:'headers']).is_a?(Hash)
259
+ self.headers = value
260
+ end
261
+ end
262
+ end
263
+
264
+ # Show invalid properties with the reasons. Usually used together with valid?
265
+ # @return Array for valid properties with the reasons
266
+ def list_invalid_properties
267
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
268
+ invalid_properties = Array.new
269
+ if @id.nil?
270
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
271
+ end
272
+
273
+ if @tenant_id.nil?
274
+ invalid_properties.push('invalid value for "tenant_id", tenant_id cannot be nil.')
275
+ end
276
+
277
+ if @message_id.nil?
278
+ invalid_properties.push('invalid value for "message_id", message_id cannot be nil.')
279
+ end
280
+
281
+ if @sender.nil?
282
+ invalid_properties.push('invalid value for "sender", sender cannot be nil.')
283
+ end
284
+
285
+ if @recipients.nil?
286
+ invalid_properties.push('invalid value for "recipients", recipients cannot be nil.')
287
+ end
288
+
289
+ if @status.nil?
290
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
291
+ end
292
+
293
+ if @queued_at.nil?
294
+ invalid_properties.push('invalid value for "queued_at", queued_at cannot be nil.')
295
+ end
296
+
297
+ if @updated_at.nil?
298
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
299
+ end
300
+
301
+ invalid_properties
302
+ end
303
+
304
+ # Check to see if the all the properties in the model are valid
305
+ # @return true if the model is valid
306
+ def valid?
307
+ warn '[DEPRECATED] the `valid?` method is obsolete'
308
+ return false if @id.nil?
309
+ return false if @tenant_id.nil?
310
+ return false if @message_id.nil?
311
+ return false if @sender.nil?
312
+ return false if @recipients.nil?
313
+ return false if @status.nil?
314
+ status_validator = EnumAttributeValidator.new('String', ["queued", "sending", "delivered", "bounced", "deferred", "complaint"])
315
+ return false unless status_validator.valid?(@status)
316
+ return false if @queued_at.nil?
317
+ return false if @updated_at.nil?
318
+ true
319
+ end
320
+
321
+ # Custom attribute writer method with validation
322
+ # @param [Object] id Value to be assigned
323
+ def id=(id)
324
+ if id.nil?
325
+ fail ArgumentError, 'id cannot be nil'
326
+ end
327
+
328
+ @id = id
329
+ end
330
+
331
+ # Custom attribute writer method with validation
332
+ # @param [Object] tenant_id Value to be assigned
333
+ def tenant_id=(tenant_id)
334
+ if tenant_id.nil?
335
+ fail ArgumentError, 'tenant_id cannot be nil'
336
+ end
337
+
338
+ @tenant_id = tenant_id
339
+ end
340
+
341
+ # Custom attribute writer method with validation
342
+ # @param [Object] message_id Value to be assigned
343
+ def message_id=(message_id)
344
+ if message_id.nil?
345
+ fail ArgumentError, 'message_id cannot be nil'
346
+ end
347
+
348
+ @message_id = message_id
349
+ end
350
+
351
+ # Custom attribute writer method with validation
352
+ # @param [Object] sender Value to be assigned
353
+ def sender=(sender)
354
+ if sender.nil?
355
+ fail ArgumentError, 'sender cannot be nil'
356
+ end
357
+
358
+ @sender = sender
359
+ end
360
+
361
+ # Custom attribute writer method with validation
362
+ # @param [Object] recipients Value to be assigned
363
+ def recipients=(recipients)
364
+ if recipients.nil?
365
+ fail ArgumentError, 'recipients cannot be nil'
366
+ end
367
+
368
+ @recipients = recipients
369
+ end
370
+
371
+ # Custom attribute writer method checking allowed values (enum).
372
+ # @param [Object] status Object to be assigned
373
+ def status=(status)
374
+ validator = EnumAttributeValidator.new('String', ["queued", "sending", "delivered", "bounced", "deferred", "complaint"])
375
+ unless validator.valid?(status)
376
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
377
+ end
378
+ @status = status
379
+ end
380
+
381
+ # Custom attribute writer method with validation
382
+ # @param [Object] queued_at Value to be assigned
383
+ def queued_at=(queued_at)
384
+ if queued_at.nil?
385
+ fail ArgumentError, 'queued_at cannot be nil'
386
+ end
387
+
388
+ @queued_at = queued_at
389
+ end
390
+
391
+ # Custom attribute writer method with validation
392
+ # @param [Object] updated_at Value to be assigned
393
+ def updated_at=(updated_at)
394
+ if updated_at.nil?
395
+ fail ArgumentError, 'updated_at cannot be nil'
396
+ end
397
+
398
+ @updated_at = updated_at
399
+ end
400
+
401
+ # Checks equality by comparing each attribute.
402
+ # @param [Object] Object to be compared
403
+ def ==(o)
404
+ return true if self.equal?(o)
405
+ self.class == o.class &&
406
+ id == o.id &&
407
+ tenant_id == o.tenant_id &&
408
+ message_id == o.message_id &&
409
+ sender == o.sender &&
410
+ recipients == o.recipients &&
411
+ subject == o.subject &&
412
+ status == o.status &&
413
+ queued_at == o.queued_at &&
414
+ updated_at == o.updated_at &&
415
+ bounce_reason == o.bounce_reason &&
416
+ size_bytes == o.size_bytes &&
417
+ from == o.from &&
418
+ to == o.to &&
419
+ cc == o.cc &&
420
+ bcc == o.bcc &&
421
+ text == o.text &&
422
+ html == o.html &&
423
+ headers == o.headers
424
+ end
425
+
426
+ # @see the `==` method
427
+ # @param [Object] Object to be compared
428
+ def eql?(o)
429
+ self == o
430
+ end
431
+
432
+ # Calculates hash code according to all attributes.
433
+ # @return [Integer] Hash code
434
+ def hash
435
+ [id, tenant_id, message_id, sender, recipients, subject, status, queued_at, updated_at, bounce_reason, size_bytes, from, to, cc, bcc, text, html, headers].hash
436
+ end
437
+
438
+ # Builds the object from hash
439
+ # @param [Hash] attributes Model attributes in the form of hash
440
+ # @return [Object] Returns the model itself
441
+ def self.build_from_hash(attributes)
442
+ return nil unless attributes.is_a?(Hash)
443
+ attributes = attributes.transform_keys(&:to_sym)
444
+ transformed_hash = {}
445
+ openapi_types.each_pair do |key, type|
446
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
447
+ transformed_hash["#{key}"] = nil
448
+ elsif type =~ /\AArray<(.*)>/i
449
+ # check to ensure the input is an array given that the attribute
450
+ # is documented as an array but the input is not
451
+ if attributes[attribute_map[key]].is_a?(Array)
452
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
453
+ end
454
+ elsif !attributes[attribute_map[key]].nil?
455
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
456
+ end
457
+ end
458
+ new(transformed_hash)
459
+ end
460
+
461
+ # Returns the object in the form of hash
462
+ # @return [Hash] Returns the object in the form of hash
463
+ def to_hash
464
+ hash = {}
465
+ self.class.attribute_map.each_pair do |attr, param|
466
+ value = self.send(attr)
467
+ if value.nil?
468
+ is_nullable = self.class.openapi_nullable.include?(attr)
469
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
470
+ end
471
+
472
+ hash[param] = _to_hash(value)
473
+ end
474
+ hash
475
+ end
476
+
477
+ end
478
+
479
+ 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
@@ -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