appwrite 26.1.0 → 28.0.0.rc1

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 (404) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +42 -25
  3. data/lib/appwrite/enums/adapter.rb +1 -1
  4. data/lib/appwrite/enums/attribute_status.rb +1 -1
  5. data/lib/appwrite/enums/authentication_factor.rb +2 -1
  6. data/lib/appwrite/enums/authenticator_type.rb +1 -1
  7. data/lib/appwrite/enums/backup_services.rb +1 -1
  8. data/lib/appwrite/enums/billing_plan_group.rb +1 -1
  9. data/lib/appwrite/enums/browser.rb +1 -1
  10. data/lib/appwrite/enums/browser_permission.rb +1 -1
  11. data/lib/appwrite/enums/browser_theme.rb +1 -1
  12. data/lib/appwrite/enums/build_runtime.rb +3 -1
  13. data/lib/appwrite/enums/column_status.rb +1 -1
  14. data/lib/appwrite/enums/compression.rb +1 -1
  15. data/lib/appwrite/enums/credit_card.rb +1 -1
  16. data/lib/appwrite/enums/database_status.rb +1 -1
  17. data/lib/appwrite/enums/database_type.rb +1 -1
  18. data/lib/appwrite/enums/databases_index_type.rb +1 -1
  19. data/lib/appwrite/enums/deployment_download_type.rb +1 -1
  20. data/lib/appwrite/enums/deployment_status.rb +1 -1
  21. data/lib/appwrite/enums/documents_db_index_type.rb +9 -0
  22. data/lib/appwrite/enums/embedding_model.rb +8 -0
  23. data/lib/appwrite/enums/execution_method.rb +1 -1
  24. data/lib/appwrite/enums/execution_resource_type.rb +8 -0
  25. data/lib/appwrite/enums/execution_status.rb +1 -1
  26. data/lib/appwrite/enums/execution_trigger.rb +1 -1
  27. data/lib/appwrite/enums/flag.rb +1 -1
  28. data/lib/appwrite/enums/framework.rb +1 -1
  29. data/lib/appwrite/enums/image_format.rb +1 -1
  30. data/lib/appwrite/enums/image_gravity.rb +1 -1
  31. data/lib/appwrite/enums/index_status.rb +1 -1
  32. data/lib/appwrite/enums/invalidation_type.rb +9 -0
  33. data/lib/appwrite/enums/message_priority.rb +1 -1
  34. data/lib/appwrite/enums/message_status.rb +1 -1
  35. data/lib/appwrite/enums/messaging_provider_type.rb +1 -1
  36. data/lib/appwrite/enums/o_auth2_google_prompt.rb +1 -1
  37. data/lib/appwrite/enums/o_auth2_oidc_prompt.rb +1 -1
  38. data/lib/appwrite/enums/o_auth_provider.rb +2 -1
  39. data/lib/appwrite/enums/order_by.rb +1 -1
  40. data/lib/appwrite/enums/organization_key_scopes.rb +1 -1
  41. data/lib/appwrite/enums/password_hash.rb +1 -1
  42. data/lib/appwrite/enums/platform_type.rb +1 -1
  43. data/lib/appwrite/enums/project_auth_method_id.rb +1 -1
  44. data/lib/appwrite/enums/project_email_template_id.rb +1 -1
  45. data/lib/appwrite/enums/project_email_template_locale.rb +1 -1
  46. data/lib/appwrite/enums/project_key_scopes.rb +16 -3
  47. data/lib/appwrite/enums/project_o_auth2_google_prompt.rb +1 -1
  48. data/lib/appwrite/enums/project_o_auth2_oidc_prompt.rb +1 -1
  49. data/lib/appwrite/enums/project_o_auth_provider_id.rb +2 -1
  50. data/lib/appwrite/enums/project_policy_id.rb +2 -1
  51. data/lib/appwrite/enums/project_protocol_id.rb +1 -1
  52. data/lib/appwrite/enums/project_service_id.rb +1 -1
  53. data/lib/appwrite/enums/project_smtp_secure.rb +1 -1
  54. data/lib/appwrite/enums/proxy_resource_type.rb +1 -1
  55. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -1
  56. data/lib/appwrite/enums/proxy_rule_status.rb +1 -1
  57. data/lib/appwrite/enums/region.rb +1 -1
  58. data/lib/appwrite/enums/relation_mutate.rb +1 -1
  59. data/lib/appwrite/enums/relationship_type.rb +1 -1
  60. data/lib/appwrite/enums/runtime.rb +3 -1
  61. data/lib/appwrite/enums/smtp_encryption.rb +1 -1
  62. data/lib/appwrite/enums/status_code.rb +1 -1
  63. data/lib/appwrite/enums/tables_db_index_type.rb +1 -1
  64. data/lib/appwrite/enums/template_reference_type.rb +1 -1
  65. data/lib/appwrite/enums/timezone.rb +1 -1
  66. data/lib/appwrite/enums/vcs_reference_type.rb +1 -1
  67. data/lib/appwrite/enums/vectors_db_index_type.rb +12 -0
  68. data/lib/appwrite/exception.rb +1 -1
  69. data/lib/appwrite/id.rb +3 -3
  70. data/lib/appwrite/input_file.rb +1 -1
  71. data/lib/appwrite/models/activity_event.rb +1 -1
  72. data/lib/appwrite/models/activity_event_list.rb +1 -1
  73. data/lib/appwrite/models/additional_resource.rb +1 -1
  74. data/lib/appwrite/models/algo_argon2.rb +1 -1
  75. data/lib/appwrite/models/algo_bcrypt.rb +1 -1
  76. data/lib/appwrite/models/algo_md5.rb +1 -1
  77. data/lib/appwrite/models/algo_phpass.rb +1 -1
  78. data/lib/appwrite/models/algo_scrypt.rb +1 -1
  79. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -1
  80. data/lib/appwrite/models/algo_sha.rb +1 -1
  81. data/lib/appwrite/models/app.rb +1 -1
  82. data/lib/appwrite/models/app_installation.rb +2 -2
  83. data/lib/appwrite/models/app_installation_list.rb +1 -1
  84. data/lib/appwrite/models/app_key.rb +2 -2
  85. data/lib/appwrite/models/app_key_list.rb +1 -1
  86. data/lib/appwrite/models/app_scope.rb +1 -1
  87. data/lib/appwrite/models/app_scope_list.rb +1 -1
  88. data/lib/appwrite/models/app_secret.rb +2 -2
  89. data/lib/appwrite/models/app_secret_list.rb +1 -1
  90. data/lib/appwrite/models/app_secret_plaintext.rb +2 -2
  91. data/lib/appwrite/models/apps_list.rb +1 -1
  92. data/lib/appwrite/models/attribute_bigint.rb +5 -6
  93. data/lib/appwrite/models/attribute_boolean.rb +3 -4
  94. data/lib/appwrite/models/attribute_datetime.rb +3 -4
  95. data/lib/appwrite/models/attribute_email.rb +3 -4
  96. data/lib/appwrite/models/attribute_enum.rb +3 -4
  97. data/lib/appwrite/models/attribute_float.rb +5 -6
  98. data/lib/appwrite/models/attribute_integer.rb +5 -6
  99. data/lib/appwrite/models/attribute_ip.rb +3 -4
  100. data/lib/appwrite/models/attribute_line.rb +3 -4
  101. data/lib/appwrite/models/attribute_list.rb +1 -1
  102. data/lib/appwrite/models/attribute_longtext.rb +4 -5
  103. data/lib/appwrite/models/attribute_mediumtext.rb +4 -5
  104. data/lib/appwrite/models/attribute_object.rb +80 -0
  105. data/lib/appwrite/models/attribute_point.rb +3 -4
  106. data/lib/appwrite/models/attribute_polygon.rb +3 -4
  107. data/lib/appwrite/models/attribute_relationship.rb +2 -3
  108. data/lib/appwrite/models/attribute_string.rb +4 -5
  109. data/lib/appwrite/models/attribute_text.rb +4 -5
  110. data/lib/appwrite/models/attribute_url.rb +3 -4
  111. data/lib/appwrite/models/attribute_varchar.rb +4 -5
  112. data/lib/appwrite/models/attribute_vector.rb +85 -0
  113. data/lib/appwrite/models/backup_archive.rb +3 -3
  114. data/lib/appwrite/models/backup_archive_list.rb +1 -1
  115. data/lib/appwrite/models/backup_policy.rb +3 -3
  116. data/lib/appwrite/models/backup_policy_list.rb +1 -1
  117. data/lib/appwrite/models/backup_restoration.rb +1 -1
  118. data/lib/appwrite/models/backup_restoration_list.rb +1 -1
  119. data/lib/appwrite/models/billing_limits.rb +9 -9
  120. data/lib/appwrite/models/billing_plan.rb +15 -6
  121. data/lib/appwrite/models/billing_plan_addon.rb +5 -5
  122. data/lib/appwrite/models/billing_plan_addon_details.rb +1 -1
  123. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +20 -20
  124. data/lib/appwrite/models/billing_plan_limits.rb +3 -3
  125. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -1
  126. data/lib/appwrite/models/block.rb +3 -3
  127. data/lib/appwrite/models/bucket.rb +1 -1
  128. data/lib/appwrite/models/bucket_list.rb +1 -1
  129. data/lib/appwrite/models/collection.rb +1 -1
  130. data/lib/appwrite/models/collection_list.rb +1 -1
  131. data/lib/appwrite/models/column_bigint.rb +5 -6
  132. data/lib/appwrite/models/column_boolean.rb +3 -4
  133. data/lib/appwrite/models/column_datetime.rb +3 -4
  134. data/lib/appwrite/models/column_email.rb +3 -4
  135. data/lib/appwrite/models/column_enum.rb +3 -4
  136. data/lib/appwrite/models/column_float.rb +5 -6
  137. data/lib/appwrite/models/column_index.rb +2 -2
  138. data/lib/appwrite/models/column_index_list.rb +1 -1
  139. data/lib/appwrite/models/column_integer.rb +5 -6
  140. data/lib/appwrite/models/column_ip.rb +3 -4
  141. data/lib/appwrite/models/column_line.rb +3 -4
  142. data/lib/appwrite/models/column_list.rb +1 -1
  143. data/lib/appwrite/models/column_longtext.rb +4 -5
  144. data/lib/appwrite/models/column_mediumtext.rb +4 -5
  145. data/lib/appwrite/models/column_point.rb +3 -4
  146. data/lib/appwrite/models/column_polygon.rb +3 -4
  147. data/lib/appwrite/models/column_relationship.rb +2 -3
  148. data/lib/appwrite/models/column_string.rb +4 -5
  149. data/lib/appwrite/models/column_text.rb +4 -5
  150. data/lib/appwrite/models/column_url.rb +3 -4
  151. data/lib/appwrite/models/column_varchar.rb +4 -5
  152. data/lib/appwrite/models/continent.rb +1 -1
  153. data/lib/appwrite/models/continent_list.rb +1 -1
  154. data/lib/appwrite/models/country.rb +1 -1
  155. data/lib/appwrite/models/country_list.rb +1 -1
  156. data/lib/appwrite/models/currency.rb +1 -1
  157. data/lib/appwrite/models/currency_list.rb +1 -1
  158. data/lib/appwrite/models/database.rb +22 -8
  159. data/lib/appwrite/models/database_list.rb +1 -1
  160. data/lib/appwrite/models/database_migration.rb +107 -0
  161. data/lib/appwrite/models/database_migration_list.rb +32 -0
  162. data/lib/appwrite/models/database_status.rb +31 -1
  163. data/lib/appwrite/models/database_status_connections.rb +1 -1
  164. data/lib/appwrite/models/database_status_replica.rb +7 -2
  165. data/lib/appwrite/models/database_status_volume.rb +1 -1
  166. data/lib/appwrite/models/dedicated_database.rb +3 -8
  167. data/lib/appwrite/models/dedicated_database_backup.rb +107 -0
  168. data/lib/appwrite/models/dedicated_database_backup_list.rb +32 -0
  169. data/lib/appwrite/models/dedicated_database_backup_storage.rb +47 -0
  170. data/lib/appwrite/models/dedicated_database_branch.rb +82 -0
  171. data/lib/appwrite/models/dedicated_database_branch_list.rb +32 -0
  172. data/lib/appwrite/models/dedicated_database_execution.rb +52 -0
  173. data/lib/appwrite/models/dedicated_database_execution_column.rb +32 -0
  174. data/lib/appwrite/models/dedicated_database_extensions.rb +37 -0
  175. data/lib/appwrite/models/dedicated_database_list.rb +32 -0
  176. data/lib/appwrite/models/dedicated_database_member.rb +6 -1
  177. data/lib/appwrite/models/dedicated_database_operation.rb +77 -0
  178. data/lib/appwrite/models/dedicated_database_operation_list.rb +32 -0
  179. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +32 -0
  180. data/lib/appwrite/models/dedicated_database_pooler.rb +72 -0
  181. data/lib/appwrite/models/dedicated_database_replicas.rb +26 -1
  182. data/lib/appwrite/models/dedicated_database_restoration.rb +82 -0
  183. data/lib/appwrite/models/dedicated_database_restoration_list.rb +32 -0
  184. data/lib/appwrite/models/dedicated_database_specification.rb +1 -1
  185. data/lib/appwrite/models/dedicated_database_specification_list.rb +1 -1
  186. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +1 -6
  187. data/lib/appwrite/models/deployment.rb +1 -2
  188. data/lib/appwrite/models/deployment_list.rb +1 -1
  189. data/lib/appwrite/models/dev_key.rb +1 -1
  190. data/lib/appwrite/models/document.rb +1 -1
  191. data/lib/appwrite/models/document_list.rb +1 -1
  192. data/lib/appwrite/models/email_template.rb +1 -1
  193. data/lib/appwrite/models/email_template_list.rb +1 -1
  194. data/lib/appwrite/models/embedding.rb +42 -0
  195. data/lib/appwrite/models/embedding_list.rb +32 -0
  196. data/lib/appwrite/models/ephemeral_key.rb +1 -1
  197. data/lib/appwrite/models/execution.rb +25 -8
  198. data/lib/appwrite/models/execution_list.rb +1 -1
  199. data/lib/appwrite/models/file.rb +11 -1
  200. data/lib/appwrite/models/file_list.rb +1 -1
  201. data/lib/appwrite/models/framework.rb +1 -1
  202. data/lib/appwrite/models/framework_adapter.rb +1 -1
  203. data/lib/appwrite/models/framework_list.rb +1 -1
  204. data/lib/appwrite/models/function.rb +1 -1
  205. data/lib/appwrite/models/function_list.rb +1 -1
  206. data/lib/appwrite/models/headers.rb +1 -1
  207. data/lib/appwrite/models/identity.rb +1 -1
  208. data/lib/appwrite/models/identity_list.rb +1 -1
  209. data/lib/appwrite/models/index.rb +2 -3
  210. data/lib/appwrite/models/index_list.rb +1 -1
  211. data/lib/appwrite/models/insight.rb +4 -4
  212. data/lib/appwrite/models/insight_cta.rb +1 -1
  213. data/lib/appwrite/models/insight_list.rb +1 -1
  214. data/lib/appwrite/models/jwt.rb +1 -1
  215. data/lib/appwrite/models/key.rb +1 -1
  216. data/lib/appwrite/models/key_list.rb +1 -1
  217. data/lib/appwrite/models/language.rb +1 -1
  218. data/lib/appwrite/models/language_list.rb +1 -1
  219. data/lib/appwrite/models/locale.rb +12 -12
  220. data/lib/appwrite/models/locale_code.rb +1 -1
  221. data/lib/appwrite/models/locale_code_list.rb +1 -1
  222. data/lib/appwrite/models/log.rb +1 -1
  223. data/lib/appwrite/models/log_list.rb +1 -1
  224. data/lib/appwrite/models/membership.rb +1 -1
  225. data/lib/appwrite/models/membership_list.rb +1 -1
  226. data/lib/appwrite/models/message.rb +4 -5
  227. data/lib/appwrite/models/message_list.rb +1 -1
  228. data/lib/appwrite/models/mfa_challenge.rb +1 -1
  229. data/lib/appwrite/models/mfa_challenge_secret.rb +47 -0
  230. data/lib/appwrite/models/mfa_factors.rb +9 -4
  231. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -1
  232. data/lib/appwrite/models/mfa_type.rb +1 -1
  233. data/lib/appwrite/models/mock_number.rb +1 -1
  234. data/lib/appwrite/models/mock_number_list.rb +1 -1
  235. data/lib/appwrite/models/o_auth2_amazon.rb +1 -1
  236. data/lib/appwrite/models/o_auth2_apple.rb +1 -1
  237. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -1
  238. data/lib/appwrite/models/o_auth2_auth0.rb +1 -1
  239. data/lib/appwrite/models/o_auth2_authentik.rb +1 -1
  240. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -1
  241. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -1
  242. data/lib/appwrite/models/o_auth2_bitly.rb +1 -1
  243. data/lib/appwrite/models/o_auth2_box.rb +1 -1
  244. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -1
  245. data/lib/appwrite/models/o_auth2_discord.rb +1 -1
  246. data/lib/appwrite/models/o_auth2_disqus.rb +1 -1
  247. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -1
  248. data/lib/appwrite/models/o_auth2_etsy.rb +1 -1
  249. data/lib/appwrite/models/o_auth2_facebook.rb +1 -1
  250. data/lib/appwrite/models/o_auth2_figma.rb +1 -1
  251. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -1
  252. data/lib/appwrite/models/o_auth2_github.rb +1 -1
  253. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -1
  254. data/lib/appwrite/models/o_auth2_google.rb +18 -2
  255. data/lib/appwrite/models/o_auth2_hugging_face.rb +42 -0
  256. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -1
  257. data/lib/appwrite/models/o_auth2_kick.rb +1 -1
  258. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -1
  259. data/lib/appwrite/models/o_auth2_microsoft.rb +1 -1
  260. data/lib/appwrite/models/o_auth2_notion.rb +1 -1
  261. data/lib/appwrite/models/o_auth2_oidc.rb +20 -3
  262. data/lib/appwrite/models/o_auth2_okta.rb +1 -1
  263. data/lib/appwrite/models/o_auth2_paypal.rb +1 -1
  264. data/lib/appwrite/models/o_auth2_podio.rb +1 -1
  265. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -1
  266. data/lib/appwrite/models/o_auth2_salesforce.rb +1 -1
  267. data/lib/appwrite/models/o_auth2_slack.rb +1 -1
  268. data/lib/appwrite/models/o_auth2_spotify.rb +1 -1
  269. data/lib/appwrite/models/o_auth2_stripe.rb +1 -1
  270. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -1
  271. data/lib/appwrite/models/o_auth2_twitch.rb +1 -1
  272. data/lib/appwrite/models/o_auth2_word_press.rb +1 -1
  273. data/lib/appwrite/models/o_auth2_x.rb +1 -1
  274. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -1
  275. data/lib/appwrite/models/o_auth2_yandex.rb +1 -1
  276. data/lib/appwrite/models/o_auth2_zoho.rb +1 -1
  277. data/lib/appwrite/models/o_auth2_zoom.rb +1 -1
  278. data/lib/appwrite/models/oauth2_approve.rb +1 -1
  279. data/lib/appwrite/models/oauth2_authorize.rb +1 -1
  280. data/lib/appwrite/models/oauth2_consent.rb +1 -1
  281. data/lib/appwrite/models/oauth2_consent_list.rb +1 -1
  282. data/lib/appwrite/models/oauth2_consent_token.rb +1 -1
  283. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -1
  284. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -1
  285. data/lib/appwrite/models/oauth2_grant.rb +1 -1
  286. data/lib/appwrite/models/oauth2_organization.rb +1 -1
  287. data/lib/appwrite/models/oauth2_organization_list.rb +1 -1
  288. data/lib/appwrite/models/oauth2_par.rb +1 -1
  289. data/lib/appwrite/models/oauth2_project.rb +1 -1
  290. data/lib/appwrite/models/oauth2_project_list.rb +1 -1
  291. data/lib/appwrite/models/oauth2_reject.rb +1 -1
  292. data/lib/appwrite/models/oauth2_token.rb +3 -3
  293. data/lib/appwrite/models/organization.rb +2 -2
  294. data/lib/appwrite/models/phone.rb +1 -1
  295. data/lib/appwrite/models/phone_list.rb +1 -1
  296. data/lib/appwrite/models/platform_android.rb +1 -2
  297. data/lib/appwrite/models/platform_apple.rb +1 -2
  298. data/lib/appwrite/models/platform_linux.rb +1 -2
  299. data/lib/appwrite/models/platform_list.rb +1 -1
  300. data/lib/appwrite/models/platform_web.rb +1 -2
  301. data/lib/appwrite/models/platform_windows.rb +1 -2
  302. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -1
  303. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -1
  304. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -1
  305. data/lib/appwrite/models/policy_deny_free_email.rb +1 -1
  306. data/lib/appwrite/models/policy_list.rb +1 -1
  307. data/lib/appwrite/models/policy_membership_privacy.rb +1 -1
  308. data/lib/appwrite/models/policy_mfa_factors.rb +47 -0
  309. data/lib/appwrite/models/policy_password_dictionary.rb +1 -1
  310. data/lib/appwrite/models/policy_password_history.rb +1 -1
  311. data/lib/appwrite/models/policy_password_personal_data.rb +1 -1
  312. data/lib/appwrite/models/policy_password_strength.rb +1 -1
  313. data/lib/appwrite/models/policy_session_alert.rb +1 -1
  314. data/lib/appwrite/models/policy_session_duration.rb +1 -1
  315. data/lib/appwrite/models/policy_session_invalidation.rb +1 -1
  316. data/lib/appwrite/models/policy_session_limit.rb +1 -1
  317. data/lib/appwrite/models/policy_user_limit.rb +1 -1
  318. data/lib/appwrite/models/postgres_extension.rb +42 -0
  319. data/lib/appwrite/models/preferences.rb +1 -1
  320. data/lib/appwrite/models/presence.rb +4 -4
  321. data/lib/appwrite/models/presence_list.rb +1 -1
  322. data/lib/appwrite/models/program.rb +1 -1
  323. data/lib/appwrite/models/project.rb +23 -18
  324. data/lib/appwrite/models/project_auth_method.rb +1 -2
  325. data/lib/appwrite/models/project_list.rb +1 -1
  326. data/lib/appwrite/models/project_protocol.rb +1 -2
  327. data/lib/appwrite/models/project_service.rb +1 -2
  328. data/lib/appwrite/models/provider.rb +2 -2
  329. data/lib/appwrite/models/provider_list.rb +1 -1
  330. data/lib/appwrite/models/proxy_invalidation.rb +42 -0
  331. data/lib/appwrite/models/proxy_rule.rb +2 -3
  332. data/lib/appwrite/models/proxy_rule_list.rb +1 -1
  333. data/lib/appwrite/models/report.rb +2 -2
  334. data/lib/appwrite/models/report_list.rb +1 -1
  335. data/lib/appwrite/models/resource_token.rb +1 -1
  336. data/lib/appwrite/models/resource_token_list.rb +1 -1
  337. data/lib/appwrite/models/row.rb +1 -1
  338. data/lib/appwrite/models/row_list.rb +1 -1
  339. data/lib/appwrite/models/runtime.rb +1 -1
  340. data/lib/appwrite/models/runtime_list.rb +1 -1
  341. data/lib/appwrite/models/session.rb +1 -1
  342. data/lib/appwrite/models/session_list.rb +1 -1
  343. data/lib/appwrite/models/site.rb +6 -1
  344. data/lib/appwrite/models/site_list.rb +1 -1
  345. data/lib/appwrite/models/specification.rb +1 -1
  346. data/lib/appwrite/models/specification_list.rb +1 -1
  347. data/lib/appwrite/models/subscriber.rb +1 -1
  348. data/lib/appwrite/models/subscriber_list.rb +1 -1
  349. data/lib/appwrite/models/table.rb +1 -1
  350. data/lib/appwrite/models/table_list.rb +1 -1
  351. data/lib/appwrite/models/target.rb +2 -2
  352. data/lib/appwrite/models/target_list.rb +1 -1
  353. data/lib/appwrite/models/team.rb +1 -1
  354. data/lib/appwrite/models/team_list.rb +1 -1
  355. data/lib/appwrite/models/token.rb +1 -1
  356. data/lib/appwrite/models/topic.rb +1 -1
  357. data/lib/appwrite/models/topic_list.rb +1 -1
  358. data/lib/appwrite/models/transaction.rb +1 -1
  359. data/lib/appwrite/models/transaction_list.rb +1 -1
  360. data/lib/appwrite/models/usage_billing_plan.rb +7 -7
  361. data/lib/appwrite/models/user.rb +11 -11
  362. data/lib/appwrite/models/user_list.rb +1 -1
  363. data/lib/appwrite/models/variable.rb +1 -1
  364. data/lib/appwrite/models/variable_list.rb +1 -1
  365. data/lib/appwrite/models/vectorsdb_collection.rb +87 -0
  366. data/lib/appwrite/models/vectorsdb_collection_list.rb +32 -0
  367. data/lib/appwrite/models/webhook.rb +1 -1
  368. data/lib/appwrite/models/webhook_list.rb +1 -1
  369. data/lib/appwrite/operator.rb +6 -0
  370. data/lib/appwrite/permission.rb +4 -0
  371. data/lib/appwrite/query.rb +4 -4
  372. data/lib/appwrite/role.rb +12 -14
  373. data/lib/appwrite/service.rb +1 -1
  374. data/lib/appwrite/services/account.rb +329 -322
  375. data/lib/appwrite/services/activities.rb +14 -15
  376. data/lib/appwrite/services/advisor.rb +41 -37
  377. data/lib/appwrite/services/apps.rb +228 -131
  378. data/lib/appwrite/services/avatars.rb +156 -55
  379. data/lib/appwrite/services/backups.rb +113 -88
  380. data/lib/appwrite/services/databases.rb +875 -516
  381. data/lib/appwrite/services/documents_db.rb +1683 -0
  382. data/lib/appwrite/services/embeddings.rb +48 -0
  383. data/lib/appwrite/services/functions.rb +277 -173
  384. data/lib/appwrite/services/graphql.rb +12 -12
  385. data/lib/appwrite/services/locale.rb +19 -37
  386. data/lib/appwrite/services/messaging.rb +544 -259
  387. data/lib/appwrite/services/mongo.rb +1359 -0
  388. data/lib/appwrite/services/mysql.rb +1503 -0
  389. data/lib/appwrite/services/oauth2.rb +122 -53
  390. data/lib/appwrite/services/organization.rb +153 -123
  391. data/lib/appwrite/services/postgresql.rb +1615 -0
  392. data/lib/appwrite/services/presences.rb +49 -35
  393. data/lib/appwrite/services/project.rb +889 -580
  394. data/lib/appwrite/services/proxy.rb +111 -52
  395. data/lib/appwrite/services/sites.rb +270 -165
  396. data/lib/appwrite/services/storage.rb +153 -92
  397. data/lib/appwrite/services/tables_db.rb +1153 -534
  398. data/lib/appwrite/services/teams.rb +161 -122
  399. data/lib/appwrite/services/tokens.rb +38 -31
  400. data/lib/appwrite/services/users.rb +406 -266
  401. data/lib/appwrite/services/vectors_db.rb +1614 -0
  402. data/lib/appwrite/services/webhooks.rb +59 -40
  403. data/lib/appwrite.rb +39 -0
  404. metadata +43 -4
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -13,6 +13,9 @@ module Appwrite
13
13
  attr_reader :engine
14
14
  attr_reader :specification
15
15
  attr_reader :replicas
16
+ attr_reader :error
17
+ attr_reader :container_status
18
+ attr_reader :lifecycle_state
16
19
  attr_reader :policies
17
20
  attr_reader :archives
18
21
 
@@ -23,12 +26,15 @@ module Appwrite
23
26
  updated_at:,
24
27
  enabled:,
25
28
  type:,
26
- status: ,
27
- engine: ,
28
- specification: ,
29
- replicas: ,
30
- policies: ,
31
- archives:
29
+ status:,
30
+ engine:,
31
+ specification:,
32
+ replicas:,
33
+ error:,
34
+ container_status:,
35
+ lifecycle_state:,
36
+ policies:,
37
+ archives:
32
38
  )
33
39
  @id = id
34
40
  @name = name
@@ -40,6 +46,9 @@ module Appwrite
40
46
  @engine = engine
41
47
  @specification = specification
42
48
  @replicas = replicas
49
+ @error = error
50
+ @container_status = container_status
51
+ @lifecycle_state = lifecycle_state
43
52
  @policies = policies
44
53
  @archives = archives
45
54
  end
@@ -56,6 +65,9 @@ module Appwrite
56
65
  engine: map["engine"],
57
66
  specification: map["specification"],
58
67
  replicas: map["replicas"],
68
+ error: map["error"],
69
+ container_status: map["containerStatus"],
70
+ lifecycle_state: map["lifecycleState"],
59
71
  policies: map["policies"]&.map { |it| BackupPolicy.from(map: it) },
60
72
  archives: map["archives"]&.map { |it| BackupArchive.from(map: it) }
61
73
  )
@@ -73,6 +85,9 @@ module Appwrite
73
85
  "engine": @engine,
74
86
  "specification": @specification,
75
87
  "replicas": @replicas,
88
+ "error": @error,
89
+ "containerStatus": @container_status,
90
+ "lifecycleState": @lifecycle_state,
76
91
  "policies": @policies&.map { |it| it.to_map },
77
92
  "archives": @archives&.map { |it| it.to_map }
78
93
  }
@@ -122,7 +137,6 @@ module Appwrite
122
137
 
123
138
  status
124
139
  end
125
-
126
140
  end
127
141
  end
128
142
  end
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DatabaseMigration
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :project_id
10
+ attr_reader :database_id
11
+ attr_reader :specification
12
+ attr_reader :phase
13
+ attr_reader :attempt
14
+ attr_reader :last_error
15
+ attr_reader :lag_documents
16
+ attr_reader :changelog_watermark
17
+ attr_reader :verified_at
18
+ attr_reader :cutover_at
19
+ attr_reader :soak_until
20
+ attr_reader :auto_cutover
21
+ attr_reader :cutover_requested
22
+ attr_reader :paused
23
+
24
+ def initialize(
25
+ id:,
26
+ created_at:,
27
+ updated_at:,
28
+ project_id:,
29
+ database_id:,
30
+ specification:,
31
+ phase:,
32
+ attempt:,
33
+ last_error:,
34
+ lag_documents:,
35
+ changelog_watermark:,
36
+ verified_at:,
37
+ cutover_at:,
38
+ soak_until:,
39
+ auto_cutover:,
40
+ cutover_requested:,
41
+ paused:
42
+ )
43
+ @id = id
44
+ @created_at = created_at
45
+ @updated_at = updated_at
46
+ @project_id = project_id
47
+ @database_id = database_id
48
+ @specification = specification
49
+ @phase = phase
50
+ @attempt = attempt
51
+ @last_error = last_error
52
+ @lag_documents = lag_documents
53
+ @changelog_watermark = changelog_watermark
54
+ @verified_at = verified_at
55
+ @cutover_at = cutover_at
56
+ @soak_until = soak_until
57
+ @auto_cutover = auto_cutover
58
+ @cutover_requested = cutover_requested
59
+ @paused = paused
60
+ end
61
+
62
+ def self.from(map:)
63
+ DatabaseMigration.new(
64
+ id: map["$id"],
65
+ created_at: map["$createdAt"],
66
+ updated_at: map["$updatedAt"],
67
+ project_id: map["projectId"],
68
+ database_id: map["databaseId"],
69
+ specification: map["specification"],
70
+ phase: map["phase"],
71
+ attempt: map["attempt"],
72
+ last_error: map["lastError"],
73
+ lag_documents: map["lagDocuments"],
74
+ changelog_watermark: map["changelogWatermark"],
75
+ verified_at: map["verifiedAt"],
76
+ cutover_at: map["cutoverAt"],
77
+ soak_until: map["soakUntil"],
78
+ auto_cutover: map["autoCutover"],
79
+ cutover_requested: map["cutoverRequested"],
80
+ paused: map["paused"]
81
+ )
82
+ end
83
+
84
+ def to_map
85
+ {
86
+ "$id": @id,
87
+ "$createdAt": @created_at,
88
+ "$updatedAt": @updated_at,
89
+ "projectId": @project_id,
90
+ "databaseId": @database_id,
91
+ "specification": @specification,
92
+ "phase": @phase,
93
+ "attempt": @attempt,
94
+ "lastError": @last_error,
95
+ "lagDocuments": @lag_documents,
96
+ "changelogWatermark": @changelog_watermark,
97
+ "verifiedAt": @verified_at,
98
+ "cutoverAt": @cutover_at,
99
+ "soakUntil": @soak_until,
100
+ "autoCutover": @auto_cutover,
101
+ "cutoverRequested": @cutover_requested,
102
+ "paused": @paused
103
+ }
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DatabaseMigrationList
6
+ attr_reader :total
7
+ attr_reader :migrations
8
+
9
+ def initialize(
10
+ total:,
11
+ migrations:
12
+ )
13
+ @total = total
14
+ @migrations = migrations
15
+ end
16
+
17
+ def self.from(map:)
18
+ DatabaseMigrationList.new(
19
+ total: map["total"],
20
+ migrations: map["migrations"].map { |it| DatabaseMigration.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "migrations": @migrations.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -9,6 +9,12 @@ module Appwrite
9
9
  attr_reader :version
10
10
  attr_reader :uptime
11
11
  attr_reader :connections
12
+ attr_reader :sync_mode
13
+ attr_reader :effective_sync_mode
14
+ attr_reader :sync_degraded
15
+ attr_reader :sync_acknowledgements
16
+ attr_reader :sync_standby_count
17
+ attr_reader :sync_state_confirmed
12
18
  attr_reader :replicas
13
19
  attr_reader :volumes
14
20
 
@@ -19,6 +25,12 @@ module Appwrite
19
25
  version:,
20
26
  uptime:,
21
27
  connections:,
28
+ sync_mode:,
29
+ effective_sync_mode:,
30
+ sync_degraded:,
31
+ sync_acknowledgements:,
32
+ sync_standby_count:,
33
+ sync_state_confirmed:,
22
34
  replicas:,
23
35
  volumes:
24
36
  )
@@ -28,6 +40,12 @@ module Appwrite
28
40
  @version = version
29
41
  @uptime = uptime
30
42
  @connections = connections
43
+ @sync_mode = sync_mode
44
+ @effective_sync_mode = effective_sync_mode
45
+ @sync_degraded = sync_degraded
46
+ @sync_acknowledgements = sync_acknowledgements
47
+ @sync_standby_count = sync_standby_count
48
+ @sync_state_confirmed = sync_state_confirmed
31
49
  @replicas = replicas
32
50
  @volumes = volumes
33
51
  end
@@ -40,6 +58,12 @@ module Appwrite
40
58
  version: map["version"],
41
59
  uptime: map["uptime"],
42
60
  connections: DatabaseStatusConnections.from(map: map["connections"]),
61
+ sync_mode: map["syncMode"],
62
+ effective_sync_mode: map["effectiveSyncMode"],
63
+ sync_degraded: map["syncDegraded"],
64
+ sync_acknowledgements: map["syncAcknowledgements"],
65
+ sync_standby_count: map["syncStandbyCount"],
66
+ sync_state_confirmed: map["syncStateConfirmed"],
43
67
  replicas: map["replicas"].map { |it| DatabaseStatusReplica.from(map: it) },
44
68
  volumes: map["volumes"].map { |it| DatabaseStatusVolume.from(map: it) }
45
69
  )
@@ -53,6 +77,12 @@ module Appwrite
53
77
  "version": @version,
54
78
  "uptime": @uptime,
55
79
  "connections": @connections.to_map,
80
+ "syncMode": @sync_mode,
81
+ "effectiveSyncMode": @effective_sync_mode,
82
+ "syncDegraded": @sync_degraded,
83
+ "syncAcknowledgements": @sync_acknowledgements,
84
+ "syncStandbyCount": @sync_standby_count,
85
+ "syncStateConfirmed": @sync_state_confirmed,
56
86
  "replicas": @replicas.map { |it| it.to_map },
57
87
  "volumes": @volumes.map { |it| it.to_map }
58
88
  }
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -6,17 +6,20 @@ module Appwrite
6
6
  attr_reader :index
7
7
  attr_reader :role
8
8
  attr_reader :healthy
9
+ attr_reader :replicating
9
10
  attr_reader :lag_seconds
10
11
 
11
12
  def initialize(
12
13
  index:,
13
14
  role:,
14
15
  healthy:,
15
- lag_seconds:
16
+ replicating:,
17
+ lag_seconds:
16
18
  )
17
19
  @index = index
18
20
  @role = role
19
21
  @healthy = healthy
22
+ @replicating = replicating
20
23
  @lag_seconds = lag_seconds
21
24
  end
22
25
 
@@ -25,6 +28,7 @@ module Appwrite
25
28
  index: map["index"],
26
29
  role: map["role"],
27
30
  healthy: map["healthy"],
31
+ replicating: map["replicating"],
28
32
  lag_seconds: map["lagSeconds"]
29
33
  )
30
34
  end
@@ -34,6 +38,7 @@ module Appwrite
34
38
  "index": @index,
35
39
  "role": @role,
36
40
  "healthy": @healthy,
41
+ "replicating": @replicating,
37
42
  "lagSeconds": @lag_seconds
38
43
  }
39
44
  end
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -1,4 +1,4 @@
1
- #frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Appwrite
4
4
  module Models
@@ -33,7 +33,6 @@ module Appwrite
33
33
  attr_reader :node_pool
34
34
  attr_reader :replicas
35
35
  attr_reader :sync_mode
36
- attr_reader :cross_region_replicas
37
36
  attr_reader :network_max_connections
38
37
  attr_reader :network_idle_timeout_seconds
39
38
  attr_reader :network_ip_allowlist
@@ -72,8 +71,8 @@ module Appwrite
72
71
  ssl:,
73
72
  status:,
74
73
  container_status:,
75
- last_accessed_at: ,
76
- idle_until: ,
74
+ last_accessed_at:,
75
+ idle_until:,
77
76
  lifecycle_state:,
78
77
  idle_timeout_minutes:,
79
78
  cpu:,
@@ -84,7 +83,6 @@ module Appwrite
84
83
  node_pool:,
85
84
  replicas:,
86
85
  sync_mode:,
87
- cross_region_replicas:,
88
86
  network_max_connections:,
89
87
  network_idle_timeout_seconds:,
90
88
  network_ip_allowlist:,
@@ -134,7 +132,6 @@ module Appwrite
134
132
  @node_pool = node_pool
135
133
  @replicas = replicas
136
134
  @sync_mode = sync_mode
137
- @cross_region_replicas = cross_region_replicas
138
135
  @network_max_connections = network_max_connections
139
136
  @network_idle_timeout_seconds = network_idle_timeout_seconds
140
137
  @network_ip_allowlist = network_ip_allowlist
@@ -187,7 +184,6 @@ module Appwrite
187
184
  node_pool: map["nodePool"],
188
185
  replicas: map["replicas"],
189
186
  sync_mode: map["syncMode"],
190
- cross_region_replicas: map["crossRegionReplicas"],
191
187
  network_max_connections: map["networkMaxConnections"],
192
188
  network_idle_timeout_seconds: map["networkIdleTimeoutSeconds"],
193
189
  network_ip_allowlist: map["networkIPAllowlist"],
@@ -241,7 +237,6 @@ module Appwrite
241
237
  "nodePool": @node_pool,
242
238
  "replicas": @replicas,
243
239
  "syncMode": @sync_mode,
244
- "crossRegionReplicas": @cross_region_replicas,
245
240
  "networkMaxConnections": @network_max_connections,
246
241
  "networkIdleTimeoutSeconds": @network_idle_timeout_seconds,
247
242
  "networkIPAllowlist": @network_ip_allowlist,
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseBackup
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :database_id
9
+ attr_reader :project_id
10
+ attr_reader :policy_id
11
+ attr_reader :trigger
12
+ attr_reader :type
13
+ attr_reader :requested_type
14
+ attr_reader :fallback_reason
15
+ attr_reader :status
16
+ attr_reader :size_bytes
17
+ attr_reader :started_at
18
+ attr_reader :completed_at
19
+ attr_reader :verified_at
20
+ attr_reader :expires_at
21
+ attr_reader :log_position
22
+ attr_reader :error
23
+
24
+ def initialize(
25
+ id:,
26
+ created_at:,
27
+ database_id:,
28
+ project_id:,
29
+ policy_id:,
30
+ trigger:,
31
+ type:,
32
+ requested_type:,
33
+ fallback_reason:,
34
+ status:,
35
+ size_bytes:,
36
+ started_at:,
37
+ completed_at:,
38
+ verified_at:,
39
+ expires_at:,
40
+ log_position:,
41
+ error:
42
+ )
43
+ @id = id
44
+ @created_at = created_at
45
+ @database_id = database_id
46
+ @project_id = project_id
47
+ @policy_id = policy_id
48
+ @trigger = trigger
49
+ @type = type
50
+ @requested_type = requested_type
51
+ @fallback_reason = fallback_reason
52
+ @status = status
53
+ @size_bytes = size_bytes
54
+ @started_at = started_at
55
+ @completed_at = completed_at
56
+ @verified_at = verified_at
57
+ @expires_at = expires_at
58
+ @log_position = log_position
59
+ @error = error
60
+ end
61
+
62
+ def self.from(map:)
63
+ DedicatedDatabaseBackup.new(
64
+ id: map["$id"],
65
+ created_at: map["$createdAt"],
66
+ database_id: map["databaseId"],
67
+ project_id: map["projectId"],
68
+ policy_id: map["policyId"],
69
+ trigger: map["trigger"],
70
+ type: map["type"],
71
+ requested_type: map["requestedType"],
72
+ fallback_reason: map["fallbackReason"],
73
+ status: map["status"],
74
+ size_bytes: map["sizeBytes"],
75
+ started_at: map["startedAt"],
76
+ completed_at: map["completedAt"],
77
+ verified_at: map["verifiedAt"],
78
+ expires_at: map["expiresAt"],
79
+ log_position: map["logPosition"],
80
+ error: map["error"]
81
+ )
82
+ end
83
+
84
+ def to_map
85
+ {
86
+ "$id": @id,
87
+ "$createdAt": @created_at,
88
+ "databaseId": @database_id,
89
+ "projectId": @project_id,
90
+ "policyId": @policy_id,
91
+ "trigger": @trigger,
92
+ "type": @type,
93
+ "requestedType": @requested_type,
94
+ "fallbackReason": @fallback_reason,
95
+ "status": @status,
96
+ "sizeBytes": @size_bytes,
97
+ "startedAt": @started_at,
98
+ "completedAt": @completed_at,
99
+ "verifiedAt": @verified_at,
100
+ "expiresAt": @expires_at,
101
+ "logPosition": @log_position,
102
+ "error": @error
103
+ }
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseBackupList
6
+ attr_reader :total
7
+ attr_reader :backups
8
+
9
+ def initialize(
10
+ total:,
11
+ backups:
12
+ )
13
+ @total = total
14
+ @backups = backups
15
+ end
16
+
17
+ def self.from(map:)
18
+ DedicatedDatabaseBackupList.new(
19
+ total: map["total"],
20
+ backups: map["backups"].map { |it| DedicatedDatabaseBackup.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "backups": @backups.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseBackupStorage
6
+ attr_reader :provider
7
+ attr_reader :bucket
8
+ attr_reader :region
9
+ attr_reader :prefix
10
+ attr_reader :endpoint
11
+
12
+ def initialize(
13
+ provider:,
14
+ bucket:,
15
+ region:,
16
+ prefix:,
17
+ endpoint:
18
+ )
19
+ @provider = provider
20
+ @bucket = bucket
21
+ @region = region
22
+ @prefix = prefix
23
+ @endpoint = endpoint
24
+ end
25
+
26
+ def self.from(map:)
27
+ DedicatedDatabaseBackupStorage.new(
28
+ provider: map["provider"],
29
+ bucket: map["bucket"],
30
+ region: map["region"],
31
+ prefix: map["prefix"],
32
+ endpoint: map["endpoint"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "provider": @provider,
39
+ "bucket": @bucket,
40
+ "region": @region,
41
+ "prefix": @prefix,
42
+ "endpoint": @endpoint
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseBranch
6
+ attr_reader :branch_id
7
+ attr_reader :branch_name
8
+ attr_reader :namespace
9
+ attr_reader :expires_at
10
+ attr_reader :host
11
+ attr_reader :port
12
+ attr_reader :database
13
+ attr_reader :username
14
+ attr_reader :password
15
+ attr_reader :ssl
16
+ attr_reader :engine
17
+ attr_reader :connection_string
18
+
19
+ def initialize(
20
+ branch_id:,
21
+ branch_name:,
22
+ namespace:,
23
+ expires_at:,
24
+ host:,
25
+ port:,
26
+ database:,
27
+ username:,
28
+ password:,
29
+ ssl:,
30
+ engine:,
31
+ connection_string:
32
+ )
33
+ @branch_id = branch_id
34
+ @branch_name = branch_name
35
+ @namespace = namespace
36
+ @expires_at = expires_at
37
+ @host = host
38
+ @port = port
39
+ @database = database
40
+ @username = username
41
+ @password = password
42
+ @ssl = ssl
43
+ @engine = engine
44
+ @connection_string = connection_string
45
+ end
46
+
47
+ def self.from(map:)
48
+ DedicatedDatabaseBranch.new(
49
+ branch_id: map["branchId"],
50
+ branch_name: map["branchName"],
51
+ namespace: map["namespace"],
52
+ expires_at: map["expiresAt"],
53
+ host: map["host"],
54
+ port: map["port"],
55
+ database: map["database"],
56
+ username: map["username"],
57
+ password: map["password"],
58
+ ssl: map["ssl"],
59
+ engine: map["engine"],
60
+ connection_string: map["connectionString"]
61
+ )
62
+ end
63
+
64
+ def to_map
65
+ {
66
+ "branchId": @branch_id,
67
+ "branchName": @branch_name,
68
+ "namespace": @namespace,
69
+ "expiresAt": @expires_at,
70
+ "host": @host,
71
+ "port": @port,
72
+ "database": @database,
73
+ "username": @username,
74
+ "password": @password,
75
+ "ssl": @ssl,
76
+ "engine": @engine,
77
+ "connectionString": @connection_string
78
+ }
79
+ end
80
+ end
81
+ end
82
+ end