lockally 0.1.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 (630) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +481 -0
  5. data/Rakefile +10 -0
  6. data/docs/APIKey.md +32 -0
  7. data/docs/ActivateAddOn200Response.md +24 -0
  8. data/docs/AddCalendarMemberRequest.md +20 -0
  9. data/docs/AddContactListMemberRequest.md +18 -0
  10. data/docs/AddOn.md +28 -0
  11. data/docs/AddOnsApi.md +275 -0
  12. data/docs/AddSharedMemberRequest.md +20 -0
  13. data/docs/Admin.md +30 -0
  14. data/docs/AdminApi.md +205 -0
  15. data/docs/AdminFull.md +36 -0
  16. data/docs/AdminsApi.md +283 -0
  17. data/docs/AgentsApi.md +927 -0
  18. data/docs/AiApi.md +282 -0
  19. data/docs/AliasesApi.md +211 -0
  20. data/docs/ApiKeysApi.md +213 -0
  21. data/docs/AuditEvent.md +26 -0
  22. data/docs/BatchLookupPublicKeys200Response.md +18 -0
  23. data/docs/BatchLookupPublicKeys200ResponseDataInner.md +22 -0
  24. data/docs/BatchResult.md +26 -0
  25. data/docs/BillingApi.md +208 -0
  26. data/docs/BillingStatus.md +46 -0
  27. data/docs/Calendar.md +38 -0
  28. data/docs/CalendarEvent.md +40 -0
  29. data/docs/CalendarIntegration.md +34 -0
  30. data/docs/CalendarMember.md +28 -0
  31. data/docs/CalendarPolicies.md +40 -0
  32. data/docs/CalendarsApi.md +1445 -0
  33. data/docs/Contact.md +44 -0
  34. data/docs/ContactList.md +32 -0
  35. data/docs/ContactListsApi.md +483 -0
  36. data/docs/ContactsApi.md +426 -0
  37. data/docs/CreateBillingCheckout200Response.md +20 -0
  38. data/docs/CreateBillingCheckoutRequest.md +18 -0
  39. data/docs/CreateCalendarEventRequest.md +28 -0
  40. data/docs/CreateCalendarIntegrationRequest.md +20 -0
  41. data/docs/CreateCalendarRequest.md +26 -0
  42. data/docs/CreateContactListRequest.md +22 -0
  43. data/docs/CreateContactRequest.md +32 -0
  44. data/docs/CreateDedicatedIPRequestRequest.md +18 -0
  45. data/docs/CreateDistributionListRequest.md +22 -0
  46. data/docs/CreateEncryptionKey201Response.md +22 -0
  47. data/docs/CreateEncryptionKeyRequest.md +24 -0
  48. data/docs/CreateEncryptionRecoveryRequest.md +20 -0
  49. data/docs/CreateMigrationCredentialRequest.md +22 -0
  50. data/docs/CreateMigrationCredentialRequestCredentials.md +26 -0
  51. data/docs/CreateMigrationRequest.md +24 -0
  52. data/docs/CreateResourceRequest.md +22 -0
  53. data/docs/CreateUnitsCheckout200Response.md +22 -0
  54. data/docs/CreateUnitsCheckoutRequest.md +18 -0
  55. data/docs/CreateUserRequest.md +26 -0
  56. data/docs/DNSRecord.md +28 -0
  57. data/docs/DashboardApi.md +462 -0
  58. data/docs/DedicatedIPRequest.md +30 -0
  59. data/docs/DirectoryApi.md +533 -0
  60. data/docs/DirectoryPermissions.md +30 -0
  61. data/docs/DiscoverMigration202Response.md +18 -0
  62. data/docs/DistributionListDetail.md +30 -0
  63. data/docs/DistributionListSummary.md +28 -0
  64. data/docs/DistributionListsApi.md +345 -0
  65. data/docs/Domain.md +36 -0
  66. data/docs/DomainsApi.md +351 -0
  67. data/docs/DraftsApi.md +503 -0
  68. data/docs/EncryptionApi.md +345 -0
  69. data/docs/GALSettings.md +36 -0
  70. data/docs/GetAddOnStatus200Response.md +22 -0
  71. data/docs/GetAuditSummary200Response.md +26 -0
  72. data/docs/GetCalendarSecurity200Response.md +32 -0
  73. data/docs/GetCalendarSecurity200ResponseAlertsInner.md +20 -0
  74. data/docs/GetCalendarSecurity200ResponseDelegatedAccessInner.md +26 -0
  75. data/docs/GetCalendarSecurity200ResponseExternalSharing.md +22 -0
  76. data/docs/GetCalendarSecurity200ResponsePublicCalendarListInner.md +26 -0
  77. data/docs/GetContactList200Response.md +20 -0
  78. data/docs/GetContactList200ResponseMembersInner.md +22 -0
  79. data/docs/GetContactLists200Response.md +18 -0
  80. data/docs/GetContactLists200ResponseDataInner.md +22 -0
  81. data/docs/GetDirectoryActivity200Response.md +18 -0
  82. data/docs/GetDirectoryActivity200ResponseDataInner.md +24 -0
  83. data/docs/GetDirectoryStats200Response.md +28 -0
  84. data/docs/GetDomainsStatus200Response.md +20 -0
  85. data/docs/GetDomainsStatus200ResponseDomainsInner.md +22 -0
  86. data/docs/GetDomainsStatus200ResponseDomainsInnerChecksInner.md +22 -0
  87. data/docs/GetEncryptionKey200Response.md +28 -0
  88. data/docs/GetIPAssignment200Response.md +26 -0
  89. data/docs/GetIntegrationsSummary200Response.md +30 -0
  90. data/docs/GetIntegrationsSummary200ResponseApiKeysInner.md +22 -0
  91. data/docs/GetIntegrationsSummary200ResponseWebhooksInner.md +24 -0
  92. data/docs/GetSecurity200Response.md +22 -0
  93. data/docs/GetSecurity200ResponseAlertsInner.md +22 -0
  94. data/docs/GetSecurity200ResponseStatsInner.md +22 -0
  95. data/docs/GetStorage200Response.md +28 -0
  96. data/docs/GetStorage200ResponseTopMailboxesInner.md +20 -0
  97. data/docs/GetStorage200ResponseTopMessagesInner.md +26 -0
  98. data/docs/GetUserInsights200Response.md +28 -0
  99. data/docs/HealthApi.md +69 -0
  100. data/docs/HealthzGet200Response.md +20 -0
  101. data/docs/IpPoolsApi.md +205 -0
  102. data/docs/ListAddOns200Response.md +18 -0
  103. data/docs/ListCalendarEvents200Response.md +18 -0
  104. data/docs/ListCalendarIntegrations200Response.md +18 -0
  105. data/docs/ListCalendarMembers200Response.md +18 -0
  106. data/docs/ListCalendars200Response.md +18 -0
  107. data/docs/ListContactLists200Response.md +18 -0
  108. data/docs/ListContacts200Response.md +18 -0
  109. data/docs/ListDedicatedIPRequests200Response.md +18 -0
  110. data/docs/ListDistributionLists200Response.md +18 -0
  111. data/docs/ListMigrationCredentials200Response.md +18 -0
  112. data/docs/ListMigrationEvents200Response.md +18 -0
  113. data/docs/ListMigrationMailboxes200Response.md +18 -0
  114. data/docs/ListMigrations200Response.md +18 -0
  115. data/docs/ListResources200Response.md +18 -0
  116. data/docs/ListSharedMembers200Response.md +18 -0
  117. data/docs/ListUsers200Response.md +20 -0
  118. data/docs/Mailbox.md +38 -0
  119. data/docs/MailboxesApi.md +980 -0
  120. data/docs/MapMigrationRequest.md +18 -0
  121. data/docs/MapMigrationRequestMappingsInner.md +20 -0
  122. data/docs/Message.md +38 -0
  123. data/docs/MessageStats.md +26 -0
  124. data/docs/MessageStatsCounts.md +24 -0
  125. data/docs/MessageStatsRates.md +24 -0
  126. data/docs/MessageStatsWindow.md +20 -0
  127. data/docs/Migration.md +44 -0
  128. data/docs/MigrationCredential.md +30 -0
  129. data/docs/MigrationEvent.md +36 -0
  130. data/docs/MigrationMailbox.md +54 -0
  131. data/docs/MigrationProgress.md +36 -0
  132. data/docs/MigrationProgressMailboxesInner.md +30 -0
  133. data/docs/MigrationSettings.md +26 -0
  134. data/docs/MigrationsApi.md +1434 -0
  135. data/docs/ModelAlias.md +26 -0
  136. data/docs/PlanCatalogEntry.md +36 -0
  137. data/docs/Problem.md +26 -0
  138. data/docs/ReplaceDistributionListMembers200Response.md +26 -0
  139. data/docs/ReplaceDistributionListMembersRequest.md +18 -0
  140. data/docs/Resource.md +32 -0
  141. data/docs/ResourcesApi.md +345 -0
  142. data/docs/RotateEncryptionKeyRequest.md +22 -0
  143. data/docs/SendApi.md +446 -0
  144. data/docs/SendMessage.md +42 -0
  145. data/docs/SharedMember.md +28 -0
  146. data/docs/SignupApi.md +70 -0
  147. data/docs/SignupRequest.md +26 -0
  148. data/docs/StartMigration202Response.md +20 -0
  149. data/docs/Suppression.md +24 -0
  150. data/docs/SuppressionsApi.md +284 -0
  151. data/docs/Template.md +30 -0
  152. data/docs/TemplateInput.md +24 -0
  153. data/docs/TemplatesApi.md +345 -0
  154. data/docs/Tenant.md +40 -0
  155. data/docs/TenantApi.md +141 -0
  156. data/docs/TestApi.md +74 -0
  157. data/docs/UnitBundle.md +26 -0
  158. data/docs/UpdateCalendarEventRequest.md +28 -0
  159. data/docs/UpdateCalendarIntegrationRequest.md +22 -0
  160. data/docs/UpdateCalendarMemberRequest.md +18 -0
  161. data/docs/UpdateCalendarPoliciesRequest.md +34 -0
  162. data/docs/UpdateCalendarRequest.md +26 -0
  163. data/docs/UpdateContactListRequest.md +22 -0
  164. data/docs/UpdateContactRequest.md +34 -0
  165. data/docs/UpdateDirectoryPermissionsRequest.md +24 -0
  166. data/docs/UpdateGALSettingsRequest.md +26 -0
  167. data/docs/UpdateMigrationMailboxRequest.md +20 -0
  168. data/docs/UpdateMigrationRequest.md +20 -0
  169. data/docs/UpdateResourceRequest.md +24 -0
  170. data/docs/UpdateUserRequest.md +26 -0
  171. data/docs/User.md +38 -0
  172. data/docs/UserEvent.md +22 -0
  173. data/docs/UsersApi.md +352 -0
  174. data/docs/V1AdminLoginPost200Response.md +24 -0
  175. data/docs/V1AdminLoginPostRequest.md +20 -0
  176. data/docs/V1AdminMeGet200Response.md +20 -0
  177. data/docs/V1AdminsGet200Response.md +18 -0
  178. data/docs/V1AdminsIdPatchRequest.md +24 -0
  179. data/docs/V1AdminsPostRequest.md +24 -0
  180. data/docs/V1AliasesGet200Response.md +18 -0
  181. data/docs/V1AliasesPostRequest.md +20 -0
  182. data/docs/V1ApiKeysGet200Response.md +18 -0
  183. data/docs/V1ApiKeysPost201Response.md +34 -0
  184. data/docs/V1ApiKeysPostRequest.md +20 -0
  185. data/docs/V1DomainsGet200Response.md +18 -0
  186. data/docs/V1DomainsPostRequest.md +18 -0
  187. data/docs/V1InboxesMailboxMessagesPostRequest.md +26 -0
  188. data/docs/V1MailboxesEmailExportPost201Response.md +22 -0
  189. data/docs/V1MailboxesEmailPatchRequest.md +22 -0
  190. data/docs/V1MailboxesEmailVacationPutRequest.md +20 -0
  191. data/docs/V1MailboxesGet200Response.md +20 -0
  192. data/docs/V1MailboxesPostRequest.md +22 -0
  193. data/docs/V1MessagesGet200Response.md +20 -0
  194. data/docs/V1SendBatchPost200Response.md +18 -0
  195. data/docs/V1SendBatchPostRequest.md +18 -0
  196. data/docs/V1SendPost202Response.md +24 -0
  197. data/docs/V1SendPostRequest.md +42 -0
  198. data/docs/V1SendPostRequestAttachmentsInner.md +22 -0
  199. data/docs/V1SuppressionsGet200Response.md +20 -0
  200. data/docs/V1SuppressionsPostRequest.md +20 -0
  201. data/docs/V1TemplatesGet200Response.md +18 -0
  202. data/docs/V1UsageGet200Response.md +42 -0
  203. data/docs/V1VacationGet200Response.md +18 -0
  204. data/docs/V1WebhooksGet200Response.md +18 -0
  205. data/docs/V1WebhooksIdPatchRequest.md +22 -0
  206. data/docs/V1WebhooksPostRequest.md +20 -0
  207. data/docs/VacationParams.md +24 -0
  208. data/docs/VacationResponder.md +30 -0
  209. data/docs/Webhook.md +38 -0
  210. data/docs/WebhooksApi.md +285 -0
  211. data/git_push.sh +57 -0
  212. data/lib/lockally/api/add_ons_api.rb +260 -0
  213. data/lib/lockally/api/admin_api.rb +204 -0
  214. data/lib/lockally/api/admins_api.rb +282 -0
  215. data/lib/lockally/api/agents_api.rb +900 -0
  216. data/lib/lockally/api/ai_api.rb +259 -0
  217. data/lib/lockally/api/aliases_api.rb +208 -0
  218. data/lib/lockally/api/api_keys_api.rb +210 -0
  219. data/lib/lockally/api/billing_api.rb +209 -0
  220. data/lib/lockally/api/calendars_api.rb +1390 -0
  221. data/lib/lockally/api/contact_lists_api.rb +476 -0
  222. data/lib/lockally/api/contacts_api.rb +413 -0
  223. data/lib/lockally/api/dashboard_api.rb +407 -0
  224. data/lib/lockally/api/directory_api.rb +484 -0
  225. data/lib/lockally/api/distribution_lists_api.rb +337 -0
  226. data/lib/lockally/api/domains_api.rb +334 -0
  227. data/lib/lockally/api/drafts_api.rb +487 -0
  228. data/lib/lockally/api/encryption_api.rb +343 -0
  229. data/lib/lockally/api/health_api.rb +79 -0
  230. data/lib/lockally/api/ip_pools_api.rb +198 -0
  231. data/lib/lockally/api/mailboxes_api.rb +946 -0
  232. data/lib/lockally/api/migrations_api.rb +1340 -0
  233. data/lib/lockally/api/resources_api.rb +337 -0
  234. data/lib/lockally/api/send_api.rb +453 -0
  235. data/lib/lockally/api/signup_api.rb +88 -0
  236. data/lib/lockally/api/suppressions_api.rb +282 -0
  237. data/lib/lockally/api/templates_api.rb +337 -0
  238. data/lib/lockally/api/tenant_api.rb +136 -0
  239. data/lib/lockally/api/test_api.rb +79 -0
  240. data/lib/lockally/api/users_api.rb +350 -0
  241. data/lib/lockally/api/webhooks_api.rb +284 -0
  242. data/lib/lockally/api_client.rb +441 -0
  243. data/lib/lockally/api_error.rb +58 -0
  244. data/lib/lockally/api_model_base.rb +88 -0
  245. data/lib/lockally/configuration.rb +404 -0
  246. data/lib/lockally/models/activate_add_on200_response.rb +242 -0
  247. data/lib/lockally/models/add_calendar_member_request.rb +209 -0
  248. data/lib/lockally/models/add_contact_list_member_request.rb +164 -0
  249. data/lib/lockally/models/add_on.rb +294 -0
  250. data/lib/lockally/models/add_shared_member_request.rb +209 -0
  251. data/lib/lockally/models/admin.rb +310 -0
  252. data/lib/lockally/models/admin_full.rb +362 -0
  253. data/lib/lockally/models/api_key.rb +315 -0
  254. data/lib/lockally/models/audit_event.rb +183 -0
  255. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +149 -0
  256. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +165 -0
  257. data/lib/lockally/models/batch_result.rb +218 -0
  258. data/lib/lockally/models/billing_status.rb +507 -0
  259. data/lib/lockally/models/calendar.rb +363 -0
  260. data/lib/lockally/models/calendar_event.rb +416 -0
  261. data/lib/lockally/models/calendar_integration.rb +347 -0
  262. data/lib/lockally/models/calendar_member.rb +318 -0
  263. data/lib/lockally/models/calendar_policies.rb +297 -0
  264. data/lib/lockally/models/contact.rb +424 -0
  265. data/lib/lockally/models/contact_list.rb +353 -0
  266. data/lib/lockally/models/create_billing_checkout200_response.rb +190 -0
  267. data/lib/lockally/models/create_billing_checkout_request.rb +188 -0
  268. data/lib/lockally/models/create_calendar_event_request.rb +245 -0
  269. data/lib/lockally/models/create_calendar_integration_request.rb +197 -0
  270. data/lib/lockally/models/create_calendar_request.rb +236 -0
  271. data/lib/lockally/models/create_contact_list_request.rb +218 -0
  272. data/lib/lockally/models/create_contact_request.rb +280 -0
  273. data/lib/lockally/models/create_dedicated_ip_request_request.rb +164 -0
  274. data/lib/lockally/models/create_distribution_list_request.rb +184 -0
  275. data/lib/lockally/models/create_encryption_key201_response.rb +165 -0
  276. data/lib/lockally/models/create_encryption_key_request.rb +225 -0
  277. data/lib/lockally/models/create_encryption_recovery_request.rb +190 -0
  278. data/lib/lockally/models/create_migration_credential_request.rb +223 -0
  279. data/lib/lockally/models/create_migration_credential_request_credentials.rb +217 -0
  280. data/lib/lockally/models/create_migration_request.rb +225 -0
  281. data/lib/lockally/models/create_resource_request.rb +237 -0
  282. data/lib/lockally/models/create_units_checkout200_response.rb +216 -0
  283. data/lib/lockally/models/create_units_checkout_request.rb +188 -0
  284. data/lib/lockally/models/create_user_request.rb +234 -0
  285. data/lib/lockally/models/dedicated_ip_request.rb +293 -0
  286. data/lib/lockally/models/directory_permissions.rb +316 -0
  287. data/lib/lockally/models/discover_migration202_response.rb +164 -0
  288. data/lib/lockally/models/distribution_list_detail.rb +305 -0
  289. data/lib/lockally/models/distribution_list_summary.rb +277 -0
  290. data/lib/lockally/models/dns_record.rb +304 -0
  291. data/lib/lockally/models/domain.rb +367 -0
  292. data/lib/lockally/models/gal_settings.rb +354 -0
  293. data/lib/lockally/models/get_add_on_status200_response.rb +216 -0
  294. data/lib/lockally/models/get_audit_summary200_response.rb +189 -0
  295. data/lib/lockally/models/get_calendar_security200_response.rb +216 -0
  296. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +190 -0
  297. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +183 -0
  298. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +165 -0
  299. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +183 -0
  300. data/lib/lockally/models/get_contact_list200_response.rb +158 -0
  301. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +165 -0
  302. data/lib/lockally/models/get_contact_lists200_response.rb +149 -0
  303. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +165 -0
  304. data/lib/lockally/models/get_directory_activity200_response.rb +149 -0
  305. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +174 -0
  306. data/lib/lockally/models/get_directory_stats200_response.rb +192 -0
  307. data/lib/lockally/models/get_domains_status200_response.rb +158 -0
  308. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +167 -0
  309. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +199 -0
  310. data/lib/lockally/models/get_encryption_key200_response.rb +192 -0
  311. data/lib/lockally/models/get_integrations_summary200_response.rb +205 -0
  312. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +165 -0
  313. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +174 -0
  314. data/lib/lockally/models/get_ip_assignment200_response.rb +183 -0
  315. data/lib/lockally/models/get_security200_response.rb +203 -0
  316. data/lib/lockally/models/get_security200_response_alerts_inner.rb +199 -0
  317. data/lib/lockally/models/get_security200_response_stats_inner.rb +165 -0
  318. data/lib/lockally/models/get_storage200_response.rb +196 -0
  319. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +156 -0
  320. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +185 -0
  321. data/lib/lockally/models/get_user_insights200_response.rb +198 -0
  322. data/lib/lockally/models/healthz_get200_response.rb +214 -0
  323. data/lib/lockally/models/list_add_ons200_response.rb +166 -0
  324. data/lib/lockally/models/list_calendar_events200_response.rb +149 -0
  325. data/lib/lockally/models/list_calendar_integrations200_response.rb +149 -0
  326. data/lib/lockally/models/list_calendar_members200_response.rb +149 -0
  327. data/lib/lockally/models/list_calendars200_response.rb +149 -0
  328. data/lib/lockally/models/list_contact_lists200_response.rb +149 -0
  329. data/lib/lockally/models/list_contacts200_response.rb +149 -0
  330. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +166 -0
  331. data/lib/lockally/models/list_distribution_lists200_response.rb +166 -0
  332. data/lib/lockally/models/list_migration_credentials200_response.rb +166 -0
  333. data/lib/lockally/models/list_migration_events200_response.rb +166 -0
  334. data/lib/lockally/models/list_migration_mailboxes200_response.rb +166 -0
  335. data/lib/lockally/models/list_migrations200_response.rb +166 -0
  336. data/lib/lockally/models/list_resources200_response.rb +149 -0
  337. data/lib/lockally/models/list_shared_members200_response.rb +166 -0
  338. data/lib/lockally/models/list_users200_response.rb +192 -0
  339. data/lib/lockally/models/mailbox.rb +357 -0
  340. data/lib/lockally/models/map_migration_request.rb +166 -0
  341. data/lib/lockally/models/map_migration_request_mappings_inner.rb +190 -0
  342. data/lib/lockally/models/message.rb +400 -0
  343. data/lib/lockally/models/message_stats.rb +183 -0
  344. data/lib/lockally/models/message_stats_counts.rb +174 -0
  345. data/lib/lockally/models/message_stats_rates.rb +174 -0
  346. data/lib/lockally/models/message_stats_window.rb +156 -0
  347. data/lib/lockally/models/migration.rb +441 -0
  348. data/lib/lockally/models/migration_credential.rb +310 -0
  349. data/lib/lockally/models/migration_event.rb +330 -0
  350. data/lib/lockally/models/migration_mailbox.rb +462 -0
  351. data/lib/lockally/models/migration_progress.rb +400 -0
  352. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +286 -0
  353. data/lib/lockally/models/migration_settings.rb +185 -0
  354. data/lib/lockally/models/model_alias.rb +268 -0
  355. data/lib/lockally/models/plan_catalog_entry.rb +398 -0
  356. data/lib/lockally/models/problem.rb +235 -0
  357. data/lib/lockally/models/replace_distribution_list_members200_response.rb +270 -0
  358. data/lib/lockally/models/replace_distribution_list_members_request.rb +166 -0
  359. data/lib/lockally/models/resource.rb +353 -0
  360. data/lib/lockally/models/rotate_encryption_key_request.rb +199 -0
  361. data/lib/lockally/models/send_message.rb +310 -0
  362. data/lib/lockally/models/shared_member.rb +318 -0
  363. data/lib/lockally/models/signup_request.rb +279 -0
  364. data/lib/lockally/models/start_migration202_response.rb +190 -0
  365. data/lib/lockally/models/suppression.rb +208 -0
  366. data/lib/lockally/models/template.rb +201 -0
  367. data/lib/lockally/models/template_input.rb +195 -0
  368. data/lib/lockally/models/tenant.rb +424 -0
  369. data/lib/lockally/models/unit_bundle.rb +268 -0
  370. data/lib/lockally/models/update_calendar_event_request.rb +192 -0
  371. data/lib/lockally/models/update_calendar_integration_request.rb +199 -0
  372. data/lib/lockally/models/update_calendar_member_request.rb +188 -0
  373. data/lib/lockally/models/update_calendar_policies_request.rb +337 -0
  374. data/lib/lockally/models/update_calendar_request.rb +217 -0
  375. data/lib/lockally/models/update_contact_list_request.rb +199 -0
  376. data/lib/lockally/models/update_contact_request.rb +265 -0
  377. data/lib/lockally/models/update_directory_permissions_request.rb +244 -0
  378. data/lib/lockally/models/update_gal_settings_request.rb +217 -0
  379. data/lib/lockally/models/update_migration_mailbox_request.rb +157 -0
  380. data/lib/lockally/models/update_migration_request.rb +156 -0
  381. data/lib/lockally/models/update_resource_request.rb +220 -0
  382. data/lib/lockally/models/update_user_request.rb +217 -0
  383. data/lib/lockally/models/user.rb +397 -0
  384. data/lib/lockally/models/user_event.rb +165 -0
  385. data/lib/lockally/models/v1_admin_login_post200_response.rb +242 -0
  386. data/lib/lockally/models/v1_admin_login_post_request.rb +199 -0
  387. data/lib/lockally/models/v1_admin_me_get200_response.rb +190 -0
  388. data/lib/lockally/models/v1_admins_get200_response.rb +166 -0
  389. data/lib/lockally/models/v1_admins_id_patch_request.rb +227 -0
  390. data/lib/lockally/models/v1_admins_post_request.rb +246 -0
  391. data/lib/lockally/models/v1_aliases_get200_response.rb +166 -0
  392. data/lib/lockally/models/v1_aliases_post_request.rb +190 -0
  393. data/lib/lockally/models/v1_api_keys_get200_response.rb +166 -0
  394. data/lib/lockally/models/v1_api_keys_post201_response.rb +349 -0
  395. data/lib/lockally/models/v1_api_keys_post_request.rb +211 -0
  396. data/lib/lockally/models/v1_domains_get200_response.rb +166 -0
  397. data/lib/lockally/models/v1_domains_post_request.rb +164 -0
  398. data/lib/lockally/models/v1_inboxes_mailbox_messages_post_request.rb +221 -0
  399. data/lib/lockally/models/v1_mailboxes_email_export_post201_response.rb +241 -0
  400. data/lib/lockally/models/v1_mailboxes_email_patch_request.rb +203 -0
  401. data/lib/lockally/models/v1_mailboxes_email_vacation_put_request.rb +175 -0
  402. data/lib/lockally/models/v1_mailboxes_get200_response.rb +192 -0
  403. data/lib/lockally/models/v1_mailboxes_post_request.rb +205 -0
  404. data/lib/lockally/models/v1_messages_get200_response.rb +176 -0
  405. data/lib/lockally/models/v1_send_batch_post200_response.rb +149 -0
  406. data/lib/lockally/models/v1_send_batch_post_request.rb +184 -0
  407. data/lib/lockally/models/v1_send_post202_response.rb +252 -0
  408. data/lib/lockally/models/v1_send_post_request.rb +316 -0
  409. data/lib/lockally/models/v1_send_post_request_attachments_inner.rb +217 -0
  410. data/lib/lockally/models/v1_suppressions_get200_response.rb +158 -0
  411. data/lib/lockally/models/v1_suppressions_post_request.rb +209 -0
  412. data/lib/lockally/models/v1_templates_get200_response.rb +149 -0
  413. data/lib/lockally/models/v1_usage_get200_response.rb +300 -0
  414. data/lib/lockally/models/v1_vacation_get200_response.rb +166 -0
  415. data/lib/lockally/models/v1_webhooks_get200_response.rb +166 -0
  416. data/lib/lockally/models/v1_webhooks_id_patch_request.rb +167 -0
  417. data/lib/lockally/models/v1_webhooks_post_request.rb +202 -0
  418. data/lib/lockally/models/vacation_params.rb +208 -0
  419. data/lib/lockally/models/vacation_responder.rb +305 -0
  420. data/lib/lockally/models/webhook.rb +359 -0
  421. data/lib/lockally/version.rb +15 -0
  422. data/lib/lockally.rb +245 -0
  423. data/lockally.gemspec +41 -0
  424. data/spec/api/add_ons_api_spec.rb +78 -0
  425. data/spec/api/admin_api_spec.rb +69 -0
  426. data/spec/api/admins_api_spec.rb +82 -0
  427. data/spec/api/agents_api_spec.rb +197 -0
  428. data/spec/api/ai_api_spec.rb +81 -0
  429. data/spec/api/aliases_api_spec.rb +69 -0
  430. data/spec/api/api_keys_api_spec.rb +70 -0
  431. data/spec/api/billing_api_spec.rb +67 -0
  432. data/spec/api/calendars_api_spec.rb +274 -0
  433. data/spec/api/contact_lists_api_spec.rb +114 -0
  434. data/spec/api/contacts_api_spec.rb +106 -0
  435. data/spec/api/dashboard_api_spec.rb +105 -0
  436. data/spec/api/directory_api_spec.rb +117 -0
  437. data/spec/api/distribution_lists_api_spec.rb +90 -0
  438. data/spec/api/domains_api_spec.rb +93 -0
  439. data/spec/api/drafts_api_spec.rb +121 -0
  440. data/spec/api/encryption_api_spec.rb +90 -0
  441. data/spec/api/health_api_spec.rb +46 -0
  442. data/spec/api/ip_pools_api_spec.rb +66 -0
  443. data/spec/api/mailboxes_api_spec.rb +203 -0
  444. data/spec/api/migrations_api_spec.rb +268 -0
  445. data/spec/api/resources_api_spec.rb +90 -0
  446. data/spec/api/send_api_spec.rb +115 -0
  447. data/spec/api/signup_api_spec.rb +46 -0
  448. data/spec/api/suppressions_api_spec.rb +81 -0
  449. data/spec/api/templates_api_spec.rb +90 -0
  450. data/spec/api/tenant_api_spec.rb +57 -0
  451. data/spec/api/test_api_spec.rb +46 -0
  452. data/spec/api/users_api_spec.rb +92 -0
  453. data/spec/api/webhooks_api_spec.rb +83 -0
  454. data/spec/models/activate_add_on200_response_spec.rb +54 -0
  455. data/spec/models/add_calendar_member_request_spec.rb +46 -0
  456. data/spec/models/add_contact_list_member_request_spec.rb +36 -0
  457. data/spec/models/add_on_spec.rb +66 -0
  458. data/spec/models/add_shared_member_request_spec.rb +46 -0
  459. data/spec/models/admin_full_spec.rb +94 -0
  460. data/spec/models/admin_spec.rb +76 -0
  461. data/spec/models/api_key_spec.rb +78 -0
  462. data/spec/models/audit_event_spec.rb +60 -0
  463. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +48 -0
  464. data/spec/models/batch_lookup_public_keys200_response_spec.rb +36 -0
  465. data/spec/models/batch_result_spec.rb +64 -0
  466. data/spec/models/billing_status_spec.rb +128 -0
  467. data/spec/models/calendar_event_spec.rb +102 -0
  468. data/spec/models/calendar_integration_spec.rb +92 -0
  469. data/spec/models/calendar_member_spec.rb +70 -0
  470. data/spec/models/calendar_policies_spec.rb +106 -0
  471. data/spec/models/calendar_spec.rb +100 -0
  472. data/spec/models/contact_list_spec.rb +82 -0
  473. data/spec/models/contact_spec.rb +118 -0
  474. data/spec/models/create_billing_checkout200_response_spec.rb +42 -0
  475. data/spec/models/create_billing_checkout_request_spec.rb +40 -0
  476. data/spec/models/create_calendar_event_request_spec.rb +66 -0
  477. data/spec/models/create_calendar_integration_request_spec.rb +46 -0
  478. data/spec/models/create_calendar_request_spec.rb +64 -0
  479. data/spec/models/create_contact_list_request_spec.rb +52 -0
  480. data/spec/models/create_contact_request_spec.rb +82 -0
  481. data/spec/models/create_dedicated_ip_request_request_spec.rb +36 -0
  482. data/spec/models/create_distribution_list_request_spec.rb +48 -0
  483. data/spec/models/create_encryption_key201_response_spec.rb +48 -0
  484. data/spec/models/create_encryption_key_request_spec.rb +54 -0
  485. data/spec/models/create_encryption_recovery_request_spec.rb +42 -0
  486. data/spec/models/create_migration_credential_request_credentials_spec.rb +60 -0
  487. data/spec/models/create_migration_credential_request_spec.rb +52 -0
  488. data/spec/models/create_migration_request_spec.rb +54 -0
  489. data/spec/models/create_resource_request_spec.rb +52 -0
  490. data/spec/models/create_units_checkout200_response_spec.rb +48 -0
  491. data/spec/models/create_units_checkout_request_spec.rb +40 -0
  492. data/spec/models/create_user_request_spec.rb +60 -0
  493. data/spec/models/dedicated_ip_request_spec.rb +76 -0
  494. data/spec/models/directory_permissions_spec.rb +88 -0
  495. data/spec/models/discover_migration202_response_spec.rb +36 -0
  496. data/spec/models/distribution_list_detail_spec.rb +72 -0
  497. data/spec/models/distribution_list_summary_spec.rb +66 -0
  498. data/spec/models/dns_record_spec.rb +74 -0
  499. data/spec/models/domain_spec.rb +90 -0
  500. data/spec/models/gal_settings_spec.rb +94 -0
  501. data/spec/models/get_add_on_status200_response_spec.rb +48 -0
  502. data/spec/models/get_audit_summary200_response_spec.rb +60 -0
  503. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +46 -0
  504. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +60 -0
  505. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +48 -0
  506. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +60 -0
  507. data/spec/models/get_calendar_security200_response_spec.rb +78 -0
  508. data/spec/models/get_contact_list200_response_members_inner_spec.rb +48 -0
  509. data/spec/models/get_contact_list200_response_spec.rb +42 -0
  510. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +48 -0
  511. data/spec/models/get_contact_lists200_response_spec.rb +36 -0
  512. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +54 -0
  513. data/spec/models/get_directory_activity200_response_spec.rb +36 -0
  514. data/spec/models/get_directory_stats200_response_spec.rb +66 -0
  515. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +52 -0
  516. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +48 -0
  517. data/spec/models/get_domains_status200_response_spec.rb +42 -0
  518. data/spec/models/get_encryption_key200_response_spec.rb +66 -0
  519. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +48 -0
  520. data/spec/models/get_integrations_summary200_response_spec.rb +72 -0
  521. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +54 -0
  522. data/spec/models/get_ip_assignment200_response_spec.rb +60 -0
  523. data/spec/models/get_security200_response_alerts_inner_spec.rb +52 -0
  524. data/spec/models/get_security200_response_spec.rb +52 -0
  525. data/spec/models/get_security200_response_stats_inner_spec.rb +48 -0
  526. data/spec/models/get_storage200_response_spec.rb +66 -0
  527. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +42 -0
  528. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +60 -0
  529. data/spec/models/get_user_insights200_response_spec.rb +66 -0
  530. data/spec/models/healthz_get200_response_spec.rb +46 -0
  531. data/spec/models/list_add_ons200_response_spec.rb +36 -0
  532. data/spec/models/list_calendar_events200_response_spec.rb +36 -0
  533. data/spec/models/list_calendar_integrations200_response_spec.rb +36 -0
  534. data/spec/models/list_calendar_members200_response_spec.rb +36 -0
  535. data/spec/models/list_calendars200_response_spec.rb +36 -0
  536. data/spec/models/list_contact_lists200_response_spec.rb +36 -0
  537. data/spec/models/list_contacts200_response_spec.rb +36 -0
  538. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +36 -0
  539. data/spec/models/list_distribution_lists200_response_spec.rb +36 -0
  540. data/spec/models/list_migration_credentials200_response_spec.rb +36 -0
  541. data/spec/models/list_migration_events200_response_spec.rb +36 -0
  542. data/spec/models/list_migration_mailboxes200_response_spec.rb +36 -0
  543. data/spec/models/list_migrations200_response_spec.rb +36 -0
  544. data/spec/models/list_resources200_response_spec.rb +36 -0
  545. data/spec/models/list_shared_members200_response_spec.rb +36 -0
  546. data/spec/models/list_users200_response_spec.rb +42 -0
  547. data/spec/models/mailbox_spec.rb +96 -0
  548. data/spec/models/map_migration_request_mappings_inner_spec.rb +42 -0
  549. data/spec/models/map_migration_request_spec.rb +36 -0
  550. data/spec/models/message_spec.rb +100 -0
  551. data/spec/models/message_stats_counts_spec.rb +54 -0
  552. data/spec/models/message_stats_rates_spec.rb +54 -0
  553. data/spec/models/message_stats_spec.rb +60 -0
  554. data/spec/models/message_stats_window_spec.rb +42 -0
  555. data/spec/models/migration_credential_spec.rb +76 -0
  556. data/spec/models/migration_event_spec.rb +90 -0
  557. data/spec/models/migration_mailbox_spec.rb +144 -0
  558. data/spec/models/migration_progress_mailboxes_inner_spec.rb +72 -0
  559. data/spec/models/migration_progress_spec.rb +90 -0
  560. data/spec/models/migration_settings_spec.rb +60 -0
  561. data/spec/models/migration_spec.rb +118 -0
  562. data/spec/models/model_alias_spec.rb +60 -0
  563. data/spec/models/plan_catalog_entry_spec.rb +90 -0
  564. data/spec/models/problem_spec.rb +60 -0
  565. data/spec/models/replace_distribution_list_members200_response_spec.rb +60 -0
  566. data/spec/models/replace_distribution_list_members_request_spec.rb +36 -0
  567. data/spec/models/resource_spec.rb +82 -0
  568. data/spec/models/rotate_encryption_key_request_spec.rb +48 -0
  569. data/spec/models/send_message_spec.rb +108 -0
  570. data/spec/models/shared_member_spec.rb +70 -0
  571. data/spec/models/signup_request_spec.rb +64 -0
  572. data/spec/models/start_migration202_response_spec.rb +42 -0
  573. data/spec/models/suppression_spec.rb +58 -0
  574. data/spec/models/template_input_spec.rb +54 -0
  575. data/spec/models/template_spec.rb +72 -0
  576. data/spec/models/tenant_spec.rb +106 -0
  577. data/spec/models/unit_bundle_spec.rb +60 -0
  578. data/spec/models/update_calendar_event_request_spec.rb +66 -0
  579. data/spec/models/update_calendar_integration_request_spec.rb +52 -0
  580. data/spec/models/update_calendar_member_request_spec.rb +40 -0
  581. data/spec/models/update_calendar_policies_request_spec.rb +88 -0
  582. data/spec/models/update_calendar_request_spec.rb +64 -0
  583. data/spec/models/update_contact_list_request_spec.rb +52 -0
  584. data/spec/models/update_contact_request_spec.rb +92 -0
  585. data/spec/models/update_directory_permissions_request_spec.rb +70 -0
  586. data/spec/models/update_gal_settings_request_spec.rb +64 -0
  587. data/spec/models/update_migration_mailbox_request_spec.rb +42 -0
  588. data/spec/models/update_migration_request_spec.rb +42 -0
  589. data/spec/models/update_resource_request_spec.rb +62 -0
  590. data/spec/models/update_user_request_spec.rb +64 -0
  591. data/spec/models/user_event_spec.rb +48 -0
  592. data/spec/models/user_spec.rb +100 -0
  593. data/spec/models/v1_admin_login_post200_response_spec.rb +54 -0
  594. data/spec/models/v1_admin_login_post_request_spec.rb +42 -0
  595. data/spec/models/v1_admin_me_get200_response_spec.rb +42 -0
  596. data/spec/models/v1_admins_get200_response_spec.rb +36 -0
  597. data/spec/models/v1_admins_id_patch_request_spec.rb +58 -0
  598. data/spec/models/v1_admins_post_request_spec.rb +58 -0
  599. data/spec/models/v1_aliases_get200_response_spec.rb +36 -0
  600. data/spec/models/v1_aliases_post_request_spec.rb +42 -0
  601. data/spec/models/v1_api_keys_get200_response_spec.rb +36 -0
  602. data/spec/models/v1_api_keys_post201_response_spec.rb +84 -0
  603. data/spec/models/v1_api_keys_post_request_spec.rb +46 -0
  604. data/spec/models/v1_domains_get200_response_spec.rb +36 -0
  605. data/spec/models/v1_domains_post_request_spec.rb +36 -0
  606. data/spec/models/v1_inboxes_mailbox_messages_post_request_spec.rb +60 -0
  607. data/spec/models/v1_mailboxes_email_export_post201_response_spec.rb +52 -0
  608. data/spec/models/v1_mailboxes_email_patch_request_spec.rb +48 -0
  609. data/spec/models/v1_mailboxes_email_vacation_put_request_spec.rb +42 -0
  610. data/spec/models/v1_mailboxes_get200_response_spec.rb +42 -0
  611. data/spec/models/v1_mailboxes_post_request_spec.rb +48 -0
  612. data/spec/models/v1_messages_get200_response_spec.rb +42 -0
  613. data/spec/models/v1_send_batch_post200_response_spec.rb +36 -0
  614. data/spec/models/v1_send_batch_post_request_spec.rb +36 -0
  615. data/spec/models/v1_send_post202_response_spec.rb +58 -0
  616. data/spec/models/v1_send_post_request_attachments_inner_spec.rb +48 -0
  617. data/spec/models/v1_send_post_request_spec.rb +108 -0
  618. data/spec/models/v1_suppressions_get200_response_spec.rb +42 -0
  619. data/spec/models/v1_suppressions_post_request_spec.rb +46 -0
  620. data/spec/models/v1_templates_get200_response_spec.rb +36 -0
  621. data/spec/models/v1_usage_get200_response_spec.rb +108 -0
  622. data/spec/models/v1_vacation_get200_response_spec.rb +36 -0
  623. data/spec/models/v1_webhooks_get200_response_spec.rb +36 -0
  624. data/spec/models/v1_webhooks_id_patch_request_spec.rb +48 -0
  625. data/spec/models/v1_webhooks_post_request_spec.rb +42 -0
  626. data/spec/models/vacation_params_spec.rb +54 -0
  627. data/spec/models/vacation_responder_spec.rb +72 -0
  628. data/spec/models/webhook_spec.rb +96 -0
  629. data/spec/spec_helper.rb +111 -0
  630. metadata +952 -0
@@ -0,0 +1,204 @@
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>`. 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`.
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 'cgi'
14
+
15
+ module Lockally
16
+ class AdminApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Tenant-admin email+password login
23
+ # Exchanges an admin's email + password for a session token. The web console at `app.lockally.com` posts this on form submission and stores the returned token in an httpOnly cookie. **No enumeration leak.** Wrong-email and wrong-password both return the same 401 with title \"Invalid credentials\". The argon2id verify runs even on lookup miss (well, structurally — the lookup fails fast but the response shape is constant) so timing leaks are bounded. Tokens are prefixed `adm_sess_` and valid for 7 days. Use as the `Authorization: Bearer` value on all subsequent calls.
24
+ # @param v1_admin_login_post_request [V1AdminLoginPostRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [V1AdminLoginPost200Response]
27
+ def v1_admin_login_post(v1_admin_login_post_request, opts = {})
28
+ data, _status_code, _headers = v1_admin_login_post_with_http_info(v1_admin_login_post_request, opts)
29
+ data
30
+ end
31
+
32
+ # Tenant-admin email+password login
33
+ # Exchanges an admin&#39;s email + password for a session token. The web console at &#x60;app.lockally.com&#x60; posts this on form submission and stores the returned token in an httpOnly cookie. **No enumeration leak.** Wrong-email and wrong-password both return the same 401 with title \&quot;Invalid credentials\&quot;. The argon2id verify runs even on lookup miss (well, structurally — the lookup fails fast but the response shape is constant) so timing leaks are bounded. Tokens are prefixed &#x60;adm_sess_&#x60; and valid for 7 days. Use as the &#x60;Authorization: Bearer&#x60; value on all subsequent calls.
34
+ # @param v1_admin_login_post_request [V1AdminLoginPostRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(V1AdminLoginPost200Response, Integer, Hash)>] V1AdminLoginPost200Response data, response status code and response headers
37
+ def v1_admin_login_post_with_http_info(v1_admin_login_post_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: AdminApi.v1_admin_login_post ...'
40
+ end
41
+ # verify the required parameter 'v1_admin_login_post_request' is set
42
+ if @api_client.config.client_side_validation && v1_admin_login_post_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'v1_admin_login_post_request' when calling AdminApi.v1_admin_login_post"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/admin/login'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_admin_login_post_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'V1AdminLoginPost200Response'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || []
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"AdminApi.v1_admin_login_post",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: AdminApi#v1_admin_login_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Invalidate the current admin session
91
+ # Deletes the session row from the database. Idempotent — calling logout on an already-invalid token returns 204 anyway.
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [nil]
94
+ def v1_admin_logout_post(opts = {})
95
+ v1_admin_logout_post_with_http_info(opts)
96
+ nil
97
+ end
98
+
99
+ # Invalidate the current admin session
100
+ # Deletes the session row from the database. Idempotent — calling logout on an already-invalid token returns 204 anyway.
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
103
+ def v1_admin_logout_post_with_http_info(opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: AdminApi.v1_admin_logout_post ...'
106
+ end
107
+ # resource path
108
+ local_var_path = '/v1/admin/logout'
109
+
110
+ # query parameters
111
+ query_params = opts[:query_params] || {}
112
+
113
+ # header parameters
114
+ header_params = opts[:header_params] || {}
115
+ # HTTP header 'Accept' (if needed)
116
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json']) unless header_params['Accept']
117
+
118
+ # form parameters
119
+ form_params = opts[:form_params] || {}
120
+
121
+ # http body (model)
122
+ post_body = opts[:debug_body]
123
+
124
+ # return_type
125
+ return_type = opts[:debug_return_type]
126
+
127
+ # auth_names
128
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
129
+
130
+ new_options = opts.merge(
131
+ :operation => :"AdminApi.v1_admin_logout_post",
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names,
137
+ :return_type => return_type
138
+ )
139
+
140
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: AdminApi#v1_admin_logout_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+
147
+ # Get the current admin + tenant
148
+ # Returns the admin profile + tenant for the session token presented in `Authorization: Bearer`. Used by the web console's layout load function to populate the sidebar. Returns 403 if called with an API key (lk_live_*) bearer — admin context only exists for session tokens.
149
+ # @param [Hash] opts the optional parameters
150
+ # @return [V1AdminMeGet200Response]
151
+ def v1_admin_me_get(opts = {})
152
+ data, _status_code, _headers = v1_admin_me_get_with_http_info(opts)
153
+ data
154
+ end
155
+
156
+ # Get the current admin + tenant
157
+ # Returns the admin profile + tenant for the session token presented in &#x60;Authorization: Bearer&#x60;. Used by the web console&#39;s layout load function to populate the sidebar. Returns 403 if called with an API key (lk_live_*) bearer — admin context only exists for session tokens.
158
+ # @param [Hash] opts the optional parameters
159
+ # @return [Array<(V1AdminMeGet200Response, Integer, Hash)>] V1AdminMeGet200Response data, response status code and response headers
160
+ def v1_admin_me_get_with_http_info(opts = {})
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug 'Calling API: AdminApi.v1_admin_me_get ...'
163
+ end
164
+ # resource path
165
+ local_var_path = '/v1/admin/me'
166
+
167
+ # query parameters
168
+ query_params = opts[:query_params] || {}
169
+
170
+ # header parameters
171
+ header_params = opts[:header_params] || {}
172
+ # HTTP header 'Accept' (if needed)
173
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
174
+
175
+ # form parameters
176
+ form_params = opts[:form_params] || {}
177
+
178
+ # http body (model)
179
+ post_body = opts[:debug_body]
180
+
181
+ # return_type
182
+ return_type = opts[:debug_return_type] || 'V1AdminMeGet200Response'
183
+
184
+ # auth_names
185
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
186
+
187
+ new_options = opts.merge(
188
+ :operation => :"AdminApi.v1_admin_me_get",
189
+ :header_params => header_params,
190
+ :query_params => query_params,
191
+ :form_params => form_params,
192
+ :body => post_body,
193
+ :auth_names => auth_names,
194
+ :return_type => return_type
195
+ )
196
+
197
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
198
+ if @api_client.config.debugging
199
+ @api_client.config.logger.debug "API called: AdminApi#v1_admin_me_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
200
+ end
201
+ return data, status_code, headers
202
+ end
203
+ end
204
+ end
@@ -0,0 +1,282 @@
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>`. 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`.
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 'cgi'
14
+
15
+ module Lockally
16
+ class AdminsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List tenant admins
23
+ # @param [Hash] opts the optional parameters
24
+ # @return [V1AdminsGet200Response]
25
+ def v1_admins_get(opts = {})
26
+ data, _status_code, _headers = v1_admins_get_with_http_info(opts)
27
+ data
28
+ end
29
+
30
+ # List tenant admins
31
+ # @param [Hash] opts the optional parameters
32
+ # @return [Array<(V1AdminsGet200Response, Integer, Hash)>] V1AdminsGet200Response data, response status code and response headers
33
+ def v1_admins_get_with_http_info(opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: AdminsApi.v1_admins_get ...'
36
+ end
37
+ # resource path
38
+ local_var_path = '/v1/admins'
39
+
40
+ # query parameters
41
+ query_params = opts[:query_params] || {}
42
+
43
+ # header parameters
44
+ header_params = opts[:header_params] || {}
45
+ # HTTP header 'Accept' (if needed)
46
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
47
+
48
+ # form parameters
49
+ form_params = opts[:form_params] || {}
50
+
51
+ # http body (model)
52
+ post_body = opts[:debug_body]
53
+
54
+ # return_type
55
+ return_type = opts[:debug_return_type] || 'V1AdminsGet200Response'
56
+
57
+ # auth_names
58
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
59
+
60
+ new_options = opts.merge(
61
+ :operation => :"AdminsApi.v1_admins_get",
62
+ :header_params => header_params,
63
+ :query_params => query_params,
64
+ :form_params => form_params,
65
+ :body => post_body,
66
+ :auth_names => auth_names,
67
+ :return_type => return_type
68
+ )
69
+
70
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
71
+ if @api_client.config.debugging
72
+ @api_client.config.logger.debug "API called: AdminsApi#v1_admins_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
73
+ end
74
+ return data, status_code, headers
75
+ end
76
+
77
+ # Delete an admin
78
+ # Hard-delete. Cascade-drops the admin's sessions (immediate revocation). Same safety rails as PATCH disabled=true.
79
+ # @param id [String]
80
+ # @param [Hash] opts the optional parameters
81
+ # @return [nil]
82
+ def v1_admins_id_delete(id, opts = {})
83
+ v1_admins_id_delete_with_http_info(id, opts)
84
+ nil
85
+ end
86
+
87
+ # Delete an admin
88
+ # Hard-delete. Cascade-drops the admin&#39;s sessions (immediate revocation). Same safety rails as PATCH disabled&#x3D;true.
89
+ # @param id [String]
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
92
+ def v1_admins_id_delete_with_http_info(id, opts = {})
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug 'Calling API: AdminsApi.v1_admins_id_delete ...'
95
+ end
96
+ # verify the required parameter 'id' is set
97
+ if @api_client.config.client_side_validation && id.nil?
98
+ fail ArgumentError, "Missing the required parameter 'id' when calling AdminsApi.v1_admins_id_delete"
99
+ end
100
+ # resource path
101
+ local_var_path = '/v1/admins/{id}'.sub('{id}', CGI.escape(id.to_s))
102
+
103
+ # query parameters
104
+ query_params = opts[:query_params] || {}
105
+
106
+ # header parameters
107
+ header_params = opts[:header_params] || {}
108
+ # HTTP header 'Accept' (if needed)
109
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json']) unless header_params['Accept']
110
+
111
+ # form parameters
112
+ form_params = opts[:form_params] || {}
113
+
114
+ # http body (model)
115
+ post_body = opts[:debug_body]
116
+
117
+ # return_type
118
+ return_type = opts[:debug_return_type]
119
+
120
+ # auth_names
121
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
122
+
123
+ new_options = opts.merge(
124
+ :operation => :"AdminsApi.v1_admins_id_delete",
125
+ :header_params => header_params,
126
+ :query_params => query_params,
127
+ :form_params => form_params,
128
+ :body => post_body,
129
+ :auth_names => auth_names,
130
+ :return_type => return_type
131
+ )
132
+
133
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug "API called: AdminsApi#v1_admins_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
136
+ end
137
+ return data, status_code, headers
138
+ end
139
+
140
+ # Update an admin
141
+ # Supply at least one of `password`, `display_name`, `role`, `disabled`. **Safety rails.** A session bearer (adm_sess_*) cannot disable itself — use another admin or an API key (which bypasses the self-rail). Disabling the last active admin returns 409 to prevent orphaning the tenant from its console.
142
+ # @param id [String]
143
+ # @param v1_admins_id_patch_request [V1AdminsIdPatchRequest]
144
+ # @param [Hash] opts the optional parameters
145
+ # @return [AdminFull]
146
+ def v1_admins_id_patch(id, v1_admins_id_patch_request, opts = {})
147
+ data, _status_code, _headers = v1_admins_id_patch_with_http_info(id, v1_admins_id_patch_request, opts)
148
+ data
149
+ end
150
+
151
+ # Update an admin
152
+ # Supply at least one of &#x60;password&#x60;, &#x60;display_name&#x60;, &#x60;role&#x60;, &#x60;disabled&#x60;. **Safety rails.** A session bearer (adm_sess_*) cannot disable itself — use another admin or an API key (which bypasses the self-rail). Disabling the last active admin returns 409 to prevent orphaning the tenant from its console.
153
+ # @param id [String]
154
+ # @param v1_admins_id_patch_request [V1AdminsIdPatchRequest]
155
+ # @param [Hash] opts the optional parameters
156
+ # @return [Array<(AdminFull, Integer, Hash)>] AdminFull data, response status code and response headers
157
+ def v1_admins_id_patch_with_http_info(id, v1_admins_id_patch_request, opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: AdminsApi.v1_admins_id_patch ...'
160
+ end
161
+ # verify the required parameter 'id' is set
162
+ if @api_client.config.client_side_validation && id.nil?
163
+ fail ArgumentError, "Missing the required parameter 'id' when calling AdminsApi.v1_admins_id_patch"
164
+ end
165
+ # verify the required parameter 'v1_admins_id_patch_request' is set
166
+ if @api_client.config.client_side_validation && v1_admins_id_patch_request.nil?
167
+ fail ArgumentError, "Missing the required parameter 'v1_admins_id_patch_request' when calling AdminsApi.v1_admins_id_patch"
168
+ end
169
+ # resource path
170
+ local_var_path = '/v1/admins/{id}'.sub('{id}', CGI.escape(id.to_s))
171
+
172
+ # query parameters
173
+ query_params = opts[:query_params] || {}
174
+
175
+ # header parameters
176
+ header_params = opts[:header_params] || {}
177
+ # HTTP header 'Accept' (if needed)
178
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
179
+ # HTTP header 'Content-Type'
180
+ content_type = @api_client.select_header_content_type(['application/json'])
181
+ if !content_type.nil?
182
+ header_params['Content-Type'] = content_type
183
+ end
184
+
185
+ # form parameters
186
+ form_params = opts[:form_params] || {}
187
+
188
+ # http body (model)
189
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_admins_id_patch_request)
190
+
191
+ # return_type
192
+ return_type = opts[:debug_return_type] || 'AdminFull'
193
+
194
+ # auth_names
195
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
196
+
197
+ new_options = opts.merge(
198
+ :operation => :"AdminsApi.v1_admins_id_patch",
199
+ :header_params => header_params,
200
+ :query_params => query_params,
201
+ :form_params => form_params,
202
+ :body => post_body,
203
+ :auth_names => auth_names,
204
+ :return_type => return_type
205
+ )
206
+
207
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug "API called: AdminsApi#v1_admins_id_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
210
+ end
211
+ return data, status_code, headers
212
+ end
213
+
214
+ # Invite a new admin
215
+ # Creates a new tenant admin. If `password` is omitted, lockally generates a 16-char password and returns it ONCE in the response. Email is case-insensitive and unique per tenant.
216
+ # @param v1_admins_post_request [V1AdminsPostRequest]
217
+ # @param [Hash] opts the optional parameters
218
+ # @return [AdminFull]
219
+ def v1_admins_post(v1_admins_post_request, opts = {})
220
+ data, _status_code, _headers = v1_admins_post_with_http_info(v1_admins_post_request, opts)
221
+ data
222
+ end
223
+
224
+ # Invite a new admin
225
+ # Creates a new tenant admin. If &#x60;password&#x60; is omitted, lockally generates a 16-char password and returns it ONCE in the response. Email is case-insensitive and unique per tenant.
226
+ # @param v1_admins_post_request [V1AdminsPostRequest]
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [Array<(AdminFull, Integer, Hash)>] AdminFull data, response status code and response headers
229
+ def v1_admins_post_with_http_info(v1_admins_post_request, opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug 'Calling API: AdminsApi.v1_admins_post ...'
232
+ end
233
+ # verify the required parameter 'v1_admins_post_request' is set
234
+ if @api_client.config.client_side_validation && v1_admins_post_request.nil?
235
+ fail ArgumentError, "Missing the required parameter 'v1_admins_post_request' when calling AdminsApi.v1_admins_post"
236
+ end
237
+ # resource path
238
+ local_var_path = '/v1/admins'
239
+
240
+ # query parameters
241
+ query_params = opts[:query_params] || {}
242
+
243
+ # header parameters
244
+ header_params = opts[:header_params] || {}
245
+ # HTTP header 'Accept' (if needed)
246
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
247
+ # HTTP header 'Content-Type'
248
+ content_type = @api_client.select_header_content_type(['application/json'])
249
+ if !content_type.nil?
250
+ header_params['Content-Type'] = content_type
251
+ end
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_admins_post_request)
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'AdminFull'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"AdminsApi.v1_admins_post",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type
273
+ )
274
+
275
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
276
+ if @api_client.config.debugging
277
+ @api_client.config.logger.debug "API called: AdminsApi#v1_admins_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
+ end
279
+ return data, status_code, headers
280
+ end
281
+ end
282
+ end