appwrite 28.3.2 → 29.0.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 (397) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +36 -20
  3. data/lib/appwrite/enums/billing_plan_group.rb +2 -1
  4. data/lib/appwrite/enums/build_runtime.rb +2 -0
  5. data/lib/appwrite/enums/databases_index_type.rb +1 -0
  6. data/lib/appwrite/enums/domain_registration_type.rb +10 -0
  7. data/lib/appwrite/enums/domain_transfer_status_enum.rb +14 -0
  8. data/lib/appwrite/enums/execution_trigger.rb +1 -0
  9. data/lib/appwrite/enums/framework.rb +1 -0
  10. data/lib/appwrite/enums/id_token_provider.rb +8 -0
  11. data/lib/appwrite/enums/image_gravity.rb +1 -0
  12. data/lib/appwrite/enums/o_auth2_auth0_prompt.rb +9 -0
  13. data/lib/appwrite/enums/o_auth2_discord_prompt.rb +8 -0
  14. data/lib/appwrite/enums/o_auth2_github_prompt.rb +7 -0
  15. data/lib/appwrite/enums/o_auth2_kakao_prompt.rb +10 -0
  16. data/lib/appwrite/enums/o_auth2_microsoft_prompt.rb +10 -0
  17. data/lib/appwrite/enums/o_auth2_okta_prompt.rb +9 -0
  18. data/lib/appwrite/enums/o_auth2_salesforce_prompt.rb +8 -0
  19. data/lib/appwrite/enums/o_auth2_zoho_prompt.rb +7 -0
  20. data/lib/appwrite/enums/o_auth_provider.rb +3 -0
  21. data/lib/appwrite/enums/project_email_template_id.rb +2 -0
  22. data/lib/appwrite/enums/project_key_scopes.rb +4 -0
  23. data/lib/appwrite/enums/project_o_auth2_auth0_prompt.rb +9 -0
  24. data/lib/appwrite/enums/project_o_auth2_discord_prompt.rb +8 -0
  25. data/lib/appwrite/enums/project_o_auth2_git_hub_prompt.rb +7 -0
  26. data/lib/appwrite/enums/project_o_auth2_kakao_prompt.rb +10 -0
  27. data/lib/appwrite/enums/project_o_auth2_microsoft_prompt.rb +10 -0
  28. data/lib/appwrite/enums/project_o_auth2_okta_prompt.rb +9 -0
  29. data/lib/appwrite/enums/project_o_auth2_salesforce_prompt.rb +8 -0
  30. data/lib/appwrite/enums/project_o_auth2_zoho_prompt.rb +7 -0
  31. data/lib/appwrite/enums/project_o_auth_provider_id.rb +3 -0
  32. data/lib/appwrite/enums/project_policy_id.rb +2 -0
  33. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -0
  34. data/lib/appwrite/enums/proxy_rule_protocol.rb +8 -0
  35. data/lib/appwrite/enums/runtime.rb +2 -0
  36. data/lib/appwrite/enums/tables_db_index_type.rb +1 -0
  37. data/lib/appwrite/enums/waf_rule_action.rb +11 -0
  38. data/lib/appwrite/models/account.rb +143 -0
  39. data/lib/appwrite/models/activity_event.rb +1 -0
  40. data/lib/appwrite/models/activity_event_list.rb +1 -0
  41. data/lib/appwrite/models/additional_resource.rb +1 -0
  42. data/lib/appwrite/models/algo_argon2.rb +1 -0
  43. data/lib/appwrite/models/algo_bcrypt.rb +1 -0
  44. data/lib/appwrite/models/algo_md5.rb +1 -0
  45. data/lib/appwrite/models/algo_phpass.rb +1 -0
  46. data/lib/appwrite/models/algo_scrypt.rb +1 -0
  47. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -0
  48. data/lib/appwrite/models/algo_sha.rb +1 -0
  49. data/lib/appwrite/models/app.rb +1 -0
  50. data/lib/appwrite/models/app_installation.rb +2 -1
  51. data/lib/appwrite/models/app_installation_list.rb +1 -0
  52. data/lib/appwrite/models/app_key.rb +2 -1
  53. data/lib/appwrite/models/app_key_list.rb +1 -0
  54. data/lib/appwrite/models/app_scope.rb +1 -0
  55. data/lib/appwrite/models/app_scope_list.rb +1 -0
  56. data/lib/appwrite/models/app_secret.rb +2 -1
  57. data/lib/appwrite/models/app_secret_list.rb +1 -0
  58. data/lib/appwrite/models/app_secret_plaintext.rb +2 -1
  59. data/lib/appwrite/models/apps_list.rb +1 -0
  60. data/lib/appwrite/models/attribute_bigint.rb +5 -4
  61. data/lib/appwrite/models/attribute_boolean.rb +3 -2
  62. data/lib/appwrite/models/attribute_datetime.rb +3 -2
  63. data/lib/appwrite/models/attribute_email.rb +3 -2
  64. data/lib/appwrite/models/attribute_enum.rb +3 -2
  65. data/lib/appwrite/models/attribute_float.rb +5 -4
  66. data/lib/appwrite/models/attribute_integer.rb +5 -4
  67. data/lib/appwrite/models/attribute_ip.rb +3 -2
  68. data/lib/appwrite/models/attribute_line.rb +3 -2
  69. data/lib/appwrite/models/attribute_list.rb +1 -0
  70. data/lib/appwrite/models/attribute_longtext.rb +4 -3
  71. data/lib/appwrite/models/attribute_mediumtext.rb +4 -3
  72. data/lib/appwrite/models/attribute_object.rb +2 -1
  73. data/lib/appwrite/models/attribute_point.rb +3 -2
  74. data/lib/appwrite/models/attribute_polygon.rb +3 -2
  75. data/lib/appwrite/models/attribute_relationship.rb +2 -1
  76. data/lib/appwrite/models/attribute_string.rb +4 -3
  77. data/lib/appwrite/models/attribute_text.rb +4 -3
  78. data/lib/appwrite/models/attribute_url.rb +3 -2
  79. data/lib/appwrite/models/attribute_varchar.rb +4 -3
  80. data/lib/appwrite/models/attribute_vector.rb +2 -1
  81. data/lib/appwrite/models/backup_archive.rb +5 -4
  82. data/lib/appwrite/models/backup_archive_list.rb +1 -0
  83. data/lib/appwrite/models/backup_policy.rb +3 -2
  84. data/lib/appwrite/models/backup_policy_list.rb +1 -0
  85. data/lib/appwrite/models/backup_restoration.rb +2 -1
  86. data/lib/appwrite/models/backup_restoration_list.rb +1 -0
  87. data/lib/appwrite/models/billing_limits.rb +8 -8
  88. data/lib/appwrite/models/billing_plan.rb +25 -13
  89. data/lib/appwrite/models/billing_plan_addon.rb +2 -2
  90. data/lib/appwrite/models/billing_plan_addon_details.rb +2 -1
  91. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +19 -19
  92. data/lib/appwrite/models/billing_plan_limits.rb +2 -2
  93. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -0
  94. data/lib/appwrite/models/block.rb +4 -33
  95. data/lib/appwrite/models/bucket.rb +1 -0
  96. data/lib/appwrite/models/bucket_list.rb +1 -0
  97. data/lib/appwrite/models/collection.rb +1 -0
  98. data/lib/appwrite/models/collection_list.rb +1 -0
  99. data/lib/appwrite/models/column_bigint.rb +5 -4
  100. data/lib/appwrite/models/column_boolean.rb +3 -2
  101. data/lib/appwrite/models/column_datetime.rb +3 -2
  102. data/lib/appwrite/models/column_email.rb +3 -2
  103. data/lib/appwrite/models/column_enum.rb +3 -2
  104. data/lib/appwrite/models/column_float.rb +5 -4
  105. data/lib/appwrite/models/column_index.rb +2 -1
  106. data/lib/appwrite/models/column_index_list.rb +1 -0
  107. data/lib/appwrite/models/column_integer.rb +5 -4
  108. data/lib/appwrite/models/column_ip.rb +3 -2
  109. data/lib/appwrite/models/column_line.rb +3 -2
  110. data/lib/appwrite/models/column_list.rb +1 -0
  111. data/lib/appwrite/models/column_longtext.rb +4 -3
  112. data/lib/appwrite/models/column_mediumtext.rb +4 -3
  113. data/lib/appwrite/models/column_point.rb +3 -2
  114. data/lib/appwrite/models/column_polygon.rb +3 -2
  115. data/lib/appwrite/models/column_relationship.rb +2 -1
  116. data/lib/appwrite/models/column_string.rb +4 -3
  117. data/lib/appwrite/models/column_text.rb +4 -3
  118. data/lib/appwrite/models/column_url.rb +3 -2
  119. data/lib/appwrite/models/column_varchar.rb +4 -3
  120. data/lib/appwrite/models/continent.rb +1 -0
  121. data/lib/appwrite/models/continent_list.rb +1 -0
  122. data/lib/appwrite/models/country.rb +1 -0
  123. data/lib/appwrite/models/country_list.rb +1 -0
  124. data/lib/appwrite/models/currency.rb +1 -0
  125. data/lib/appwrite/models/currency_list.rb +1 -0
  126. data/lib/appwrite/models/database.rb +10 -9
  127. data/lib/appwrite/models/database_list.rb +1 -0
  128. data/lib/appwrite/models/database_migration.rb +1 -0
  129. data/lib/appwrite/models/database_migration_list.rb +1 -0
  130. data/lib/appwrite/models/database_status.rb +6 -5
  131. data/lib/appwrite/models/database_status_connections.rb +1 -0
  132. data/lib/appwrite/models/database_status_replica.rb +3 -2
  133. data/lib/appwrite/models/database_status_volume.rb +1 -0
  134. data/lib/appwrite/models/dedicated_database.rb +22 -6
  135. data/lib/appwrite/models/dedicated_database_backup.rb +6 -5
  136. data/lib/appwrite/models/dedicated_database_backup_list.rb +1 -0
  137. data/lib/appwrite/models/dedicated_database_backup_storage.rb +1 -0
  138. data/lib/appwrite/models/dedicated_database_branch.rb +2 -1
  139. data/lib/appwrite/models/dedicated_database_branch_list.rb +1 -0
  140. data/lib/appwrite/models/dedicated_database_execution.rb +1 -0
  141. data/lib/appwrite/models/dedicated_database_execution_column.rb +1 -0
  142. data/lib/appwrite/models/dedicated_database_extensions.rb +1 -0
  143. data/lib/appwrite/models/dedicated_database_list.rb +1 -0
  144. data/lib/appwrite/models/dedicated_database_member.rb +3 -2
  145. data/lib/appwrite/models/dedicated_database_operation.rb +4 -3
  146. data/lib/appwrite/models/dedicated_database_operation_list.rb +1 -0
  147. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +1 -0
  148. data/lib/appwrite/models/dedicated_database_pooler.rb +1 -0
  149. data/lib/appwrite/models/dedicated_database_replicas.rb +3 -2
  150. data/lib/appwrite/models/dedicated_database_restoration.rb +11 -5
  151. data/lib/appwrite/models/dedicated_database_restoration_list.rb +1 -0
  152. data/lib/appwrite/models/dedicated_database_specification.rb +21 -0
  153. data/lib/appwrite/models/dedicated_database_specification_list.rb +4 -8
  154. data/lib/appwrite/models/deployment.rb +1 -0
  155. data/lib/appwrite/models/deployment_list.rb +1 -0
  156. data/lib/appwrite/models/dns_record.rb +83 -0
  157. data/lib/appwrite/models/dns_records_list.rb +33 -0
  158. data/lib/appwrite/models/document.rb +1 -0
  159. data/lib/appwrite/models/document_list.rb +1 -0
  160. data/lib/appwrite/models/domain.rb +109 -0
  161. data/lib/appwrite/models/domain_price.rb +63 -0
  162. data/lib/appwrite/models/domain_prices_list.rb +33 -0
  163. data/lib/appwrite/models/domain_transfer_status.rb +59 -0
  164. data/lib/appwrite/models/domains_list.rb +33 -0
  165. data/lib/appwrite/models/email_template.rb +1 -0
  166. data/lib/appwrite/models/email_template_list.rb +1 -0
  167. data/lib/appwrite/models/embedding.rb +1 -0
  168. data/lib/appwrite/models/embedding_list.rb +1 -0
  169. data/lib/appwrite/models/ephemeral_key.rb +1 -0
  170. data/lib/appwrite/models/execution.rb +3 -1
  171. data/lib/appwrite/models/execution_list.rb +1 -0
  172. data/lib/appwrite/models/file.rb +1 -0
  173. data/lib/appwrite/models/file_list.rb +1 -0
  174. data/lib/appwrite/models/framework.rb +1 -0
  175. data/lib/appwrite/models/framework_adapter.rb +2 -1
  176. data/lib/appwrite/models/framework_list.rb +1 -0
  177. data/lib/appwrite/models/function.rb +10 -4
  178. data/lib/appwrite/models/function_list.rb +1 -0
  179. data/lib/appwrite/models/headers.rb +1 -0
  180. data/lib/appwrite/models/identity.rb +9 -3
  181. data/lib/appwrite/models/identity_list.rb +1 -0
  182. data/lib/appwrite/models/index.rb +2 -1
  183. data/lib/appwrite/models/index_list.rb +1 -0
  184. data/lib/appwrite/models/insight.rb +4 -3
  185. data/lib/appwrite/models/insight_cta.rb +1 -0
  186. data/lib/appwrite/models/insight_list.rb +1 -0
  187. data/lib/appwrite/models/jwt.rb +1 -0
  188. data/lib/appwrite/models/key.rb +1 -0
  189. data/lib/appwrite/models/key_list.rb +1 -0
  190. data/lib/appwrite/models/language.rb +1 -0
  191. data/lib/appwrite/models/language_list.rb +1 -0
  192. data/lib/appwrite/models/locale.rb +12 -11
  193. data/lib/appwrite/models/locale_code.rb +1 -0
  194. data/lib/appwrite/models/locale_code_list.rb +1 -0
  195. data/lib/appwrite/models/membership.rb +1 -0
  196. data/lib/appwrite/models/membership_list.rb +1 -0
  197. data/lib/appwrite/models/message.rb +4 -3
  198. data/lib/appwrite/models/message_list.rb +1 -0
  199. data/lib/appwrite/models/mfa_challenge.rb +1 -0
  200. data/lib/appwrite/models/mfa_challenge_secret.rb +1 -0
  201. data/lib/appwrite/models/mfa_factors.rb +1 -0
  202. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -0
  203. data/lib/appwrite/models/mfa_type.rb +1 -0
  204. data/lib/appwrite/models/mock_number.rb +1 -0
  205. data/lib/appwrite/models/mock_number_list.rb +1 -0
  206. data/lib/appwrite/models/o_auth2_amazon.rb +1 -0
  207. data/lib/appwrite/models/o_auth2_apple.rb +14 -3
  208. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -0
  209. data/lib/appwrite/models/o_auth2_auth0.rb +24 -0
  210. data/lib/appwrite/models/o_auth2_authentik.rb +1 -0
  211. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -0
  212. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -0
  213. data/lib/appwrite/models/o_auth2_bitly.rb +1 -0
  214. data/lib/appwrite/models/o_auth2_box.rb +1 -0
  215. data/lib/appwrite/models/o_auth2_cloudflare.rb +1 -0
  216. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -0
  217. data/lib/appwrite/models/o_auth2_discord.rb +26 -3
  218. data/lib/appwrite/models/o_auth2_disqus.rb +1 -0
  219. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -0
  220. data/lib/appwrite/models/o_auth2_etsy.rb +1 -0
  221. data/lib/appwrite/models/o_auth2_facebook.rb +1 -0
  222. data/lib/appwrite/models/o_auth2_figma.rb +1 -0
  223. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -0
  224. data/lib/appwrite/models/o_auth2_github.rb +25 -3
  225. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -0
  226. data/lib/appwrite/models/o_auth2_google.rb +18 -5
  227. data/lib/appwrite/models/o_auth2_hugging_face.rb +1 -0
  228. data/lib/appwrite/models/o_auth2_kakao.rb +67 -0
  229. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -0
  230. data/lib/appwrite/models/o_auth2_kick.rb +1 -0
  231. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -0
  232. data/lib/appwrite/models/o_auth2_microsoft.rb +25 -0
  233. data/lib/appwrite/models/o_auth2_notion.rb +1 -0
  234. data/lib/appwrite/models/o_auth2_oidc.rb +11 -8
  235. data/lib/appwrite/models/o_auth2_okta.rb +24 -0
  236. data/lib/appwrite/models/o_auth2_paypal.rb +1 -0
  237. data/lib/appwrite/models/o_auth2_podio.rb +1 -0
  238. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -0
  239. data/lib/appwrite/models/o_auth2_resend.rb +1 -0
  240. data/lib/appwrite/models/o_auth2_salesforce.rb +26 -3
  241. data/lib/appwrite/models/o_auth2_slack.rb +1 -0
  242. data/lib/appwrite/models/o_auth2_spotify.rb +1 -0
  243. data/lib/appwrite/models/o_auth2_stripe.rb +1 -0
  244. data/lib/appwrite/models/o_auth2_tik_tok.rb +43 -0
  245. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -0
  246. data/lib/appwrite/models/o_auth2_twitch.rb +1 -0
  247. data/lib/appwrite/models/o_auth2_webflow.rb +43 -0
  248. data/lib/appwrite/models/o_auth2_word_press.rb +1 -0
  249. data/lib/appwrite/models/o_auth2_x.rb +1 -0
  250. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -0
  251. data/lib/appwrite/models/o_auth2_yandex.rb +1 -0
  252. data/lib/appwrite/models/o_auth2_zoho.rb +25 -3
  253. data/lib/appwrite/models/o_auth2_zoom.rb +1 -0
  254. data/lib/appwrite/models/oauth2_approve.rb +1 -0
  255. data/lib/appwrite/models/oauth2_authorize.rb +1 -0
  256. data/lib/appwrite/models/oauth2_consent.rb +1 -0
  257. data/lib/appwrite/models/oauth2_consent_list.rb +1 -0
  258. data/lib/appwrite/models/oauth2_consent_token.rb +1 -0
  259. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -0
  260. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -0
  261. data/lib/appwrite/models/oauth2_grant.rb +1 -0
  262. data/lib/appwrite/models/oauth2_introspection.rb +83 -0
  263. data/lib/appwrite/models/oauth2_organization.rb +1 -0
  264. data/lib/appwrite/models/oauth2_organization_list.rb +1 -0
  265. data/lib/appwrite/models/oauth2_par.rb +1 -0
  266. data/lib/appwrite/models/oauth2_project.rb +1 -0
  267. data/lib/appwrite/models/oauth2_project_list.rb +1 -0
  268. data/lib/appwrite/models/oauth2_reject.rb +1 -0
  269. data/lib/appwrite/models/oauth2_token.rb +3 -2
  270. data/lib/appwrite/models/organization.rb +21 -20
  271. data/lib/appwrite/models/passkey.rb +1 -0
  272. data/lib/appwrite/models/passkey_challenge.rb +1 -0
  273. data/lib/appwrite/models/passkey_list.rb +1 -0
  274. data/lib/appwrite/models/phone.rb +1 -0
  275. data/lib/appwrite/models/phone_list.rb +1 -0
  276. data/lib/appwrite/models/platform_android.rb +9 -3
  277. data/lib/appwrite/models/platform_apple.rb +1 -0
  278. data/lib/appwrite/models/platform_linux.rb +1 -0
  279. data/lib/appwrite/models/platform_list.rb +1 -0
  280. data/lib/appwrite/models/platform_web.rb +1 -0
  281. data/lib/appwrite/models/platform_windows.rb +1 -0
  282. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -0
  283. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -0
  284. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -0
  285. data/lib/appwrite/models/policy_deny_free_email.rb +1 -0
  286. data/lib/appwrite/models/policy_list.rb +1 -0
  287. data/lib/appwrite/models/policy_membership_privacy.rb +1 -0
  288. data/lib/appwrite/models/policy_mfa_factors.rb +1 -0
  289. data/lib/appwrite/models/policy_passkey.rb +1 -0
  290. data/lib/appwrite/models/policy_password_dictionary.rb +1 -0
  291. data/lib/appwrite/models/policy_password_history.rb +1 -0
  292. data/lib/appwrite/models/policy_password_personal_data.rb +1 -0
  293. data/lib/appwrite/models/policy_password_pwned.rb +43 -0
  294. data/lib/appwrite/models/policy_password_rotation.rb +38 -0
  295. data/lib/appwrite/models/policy_password_strength.rb +1 -0
  296. data/lib/appwrite/models/policy_session_alert.rb +1 -0
  297. data/lib/appwrite/models/policy_session_duration.rb +1 -0
  298. data/lib/appwrite/models/policy_session_invalidation.rb +1 -0
  299. data/lib/appwrite/models/policy_session_limit.rb +1 -0
  300. data/lib/appwrite/models/policy_user_limit.rb +1 -0
  301. data/lib/appwrite/models/postgres_extension.rb +1 -0
  302. data/lib/appwrite/models/presence.rb +4 -3
  303. data/lib/appwrite/models/presence_list.rb +1 -0
  304. data/lib/appwrite/models/program.rb +1 -0
  305. data/lib/appwrite/models/project.rb +35 -24
  306. data/lib/appwrite/models/project_auth_method.rb +1 -0
  307. data/lib/appwrite/models/project_list.rb +1 -0
  308. data/lib/appwrite/models/project_protocol.rb +1 -0
  309. data/lib/appwrite/models/project_service.rb +1 -0
  310. data/lib/appwrite/models/provider.rb +2 -1
  311. data/lib/appwrite/models/provider_list.rb +1 -0
  312. data/lib/appwrite/models/proxy_invalidation.rb +1 -0
  313. data/lib/appwrite/models/proxy_rule.rb +24 -4
  314. data/lib/appwrite/models/proxy_rule_list.rb +1 -0
  315. data/lib/appwrite/models/report.rb +2 -1
  316. data/lib/appwrite/models/report_list.rb +1 -0
  317. data/lib/appwrite/models/resource_token.rb +1 -0
  318. data/lib/appwrite/models/resource_token_list.rb +1 -0
  319. data/lib/appwrite/models/row.rb +1 -0
  320. data/lib/appwrite/models/row_list.rb +1 -0
  321. data/lib/appwrite/models/runtime.rb +1 -0
  322. data/lib/appwrite/models/runtime_list.rb +1 -0
  323. data/lib/appwrite/models/session.rb +1 -0
  324. data/lib/appwrite/models/session_list.rb +1 -0
  325. data/lib/appwrite/models/site.rb +1 -0
  326. data/lib/appwrite/models/site_list.rb +1 -0
  327. data/lib/appwrite/models/specification.rb +1 -0
  328. data/lib/appwrite/models/specification_list.rb +1 -0
  329. data/lib/appwrite/models/subscriber.rb +1 -0
  330. data/lib/appwrite/models/subscriber_list.rb +1 -0
  331. data/lib/appwrite/models/table.rb +1 -0
  332. data/lib/appwrite/models/table_list.rb +1 -0
  333. data/lib/appwrite/models/target.rb +2 -1
  334. data/lib/appwrite/models/target_list.rb +1 -0
  335. data/lib/appwrite/models/team.rb +1 -0
  336. data/lib/appwrite/models/team_list.rb +1 -0
  337. data/lib/appwrite/models/token.rb +1 -0
  338. data/lib/appwrite/models/token_secret.rb +1 -0
  339. data/lib/appwrite/models/topic.rb +14 -3
  340. data/lib/appwrite/models/topic_list.rb +1 -0
  341. data/lib/appwrite/models/transaction.rb +1 -0
  342. data/lib/appwrite/models/transaction_list.rb +1 -0
  343. data/lib/appwrite/models/usage_billing_plan.rb +27 -27
  344. data/lib/appwrite/models/user.rb +16 -10
  345. data/lib/appwrite/models/user_list.rb +1 -0
  346. data/lib/appwrite/models/variable.rb +1 -0
  347. data/lib/appwrite/models/variable_list.rb +1 -0
  348. data/lib/appwrite/models/vectorsdb_collection.rb +1 -0
  349. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  350. data/lib/appwrite/models/waf_rule_bypass.rb +111 -0
  351. data/lib/appwrite/models/waf_rule_challenge.rb +126 -0
  352. data/lib/appwrite/models/waf_rule_deny.rb +111 -0
  353. data/lib/appwrite/models/{log_list.rb → waf_rule_list.rb} +8 -7
  354. data/lib/appwrite/models/waf_rule_rate_limit.rb +136 -0
  355. data/lib/appwrite/models/waf_rule_redirect.rb +121 -0
  356. data/lib/appwrite/models/webhook.rb +1 -0
  357. data/lib/appwrite/models/webhook_list.rb +1 -0
  358. data/lib/appwrite/query/builder.rb +361 -0
  359. data/lib/appwrite/query.rb +190 -0
  360. data/lib/appwrite/services/account.rb +409 -133
  361. data/lib/appwrite/services/activities.rb +4 -4
  362. data/lib/appwrite/services/advisor.rb +19 -18
  363. data/lib/appwrite/services/apps.rb +89 -89
  364. data/lib/appwrite/services/avatars.rb +92 -21
  365. data/lib/appwrite/services/backups.rb +30 -30
  366. data/lib/appwrite/services/databases.rb +504 -453
  367. data/lib/appwrite/services/documents_db.rb +199 -191
  368. data/lib/appwrite/services/domains.rb +2318 -0
  369. data/lib/appwrite/services/embeddings.rb +2 -2
  370. data/lib/appwrite/services/functions.rb +128 -112
  371. data/lib/appwrite/services/graphql.rb +4 -4
  372. data/lib/appwrite/services/locale.rb +49 -14
  373. data/lib/appwrite/services/messaging.rb +281 -153
  374. data/lib/appwrite/services/mongo.rb +194 -130
  375. data/lib/appwrite/services/mysql.rb +212 -144
  376. data/lib/appwrite/services/oauth2.rb +72 -27
  377. data/lib/appwrite/services/organization.rb +255 -221
  378. data/lib/appwrite/services/postgresql.rb +226 -158
  379. data/lib/appwrite/services/presences.rb +17 -16
  380. data/lib/appwrite/services/project.rb +588 -157
  381. data/lib/appwrite/services/proxy.rb +70 -23
  382. data/lib/appwrite/services/sites.rb +119 -107
  383. data/lib/appwrite/services/storage.rb +62 -59
  384. data/lib/appwrite/services/tables_db.rb +617 -558
  385. data/lib/appwrite/services/teams.rb +87 -82
  386. data/lib/appwrite/services/tokens.rb +25 -24
  387. data/lib/appwrite/services/users.rb +170 -199
  388. data/lib/appwrite/services/vectors_db.rb +185 -177
  389. data/lib/appwrite/services/waf.rb +859 -0
  390. data/lib/appwrite/services/webhooks.rb +23 -22
  391. data/lib/appwrite/topic.rb +53 -0
  392. data/lib/appwrite.rb +48 -9
  393. metadata +47 -7
  394. data/lib/appwrite/enums/organization_key_scopes.rb +0 -22
  395. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -42
  396. data/lib/appwrite/models/dev_key.rb +0 -62
  397. data/lib/appwrite/models/log.rb +0 -132
@@ -50,7 +50,7 @@ module Appwrite
50
50
  # @param [Integer] pitr_retention_days Number of days to retain PITR data.
51
51
  # @param [] storage_autoscaling Enable automatic storage expansion when usage exceeds threshold.
52
52
  # @param [Integer] storage_autoscaling_threshold_percent Storage usage percentage (50-95) that triggers automatic expansion.
53
- # @param [Integer] storage_autoscaling_max_gb Maximum storage size in GB for autoscaling. 0 means no limit.
53
+ # @param [Integer] storage_autoscaling_max_gb Maximum storage size in GB for autoscaling. Defaults to 3 times the specification's storage. 0 means no limit.
54
54
  #
55
55
  # @return [DedicatedDatabase]
56
56
  def create(
@@ -69,8 +69,6 @@ module Appwrite
69
69
  storage_autoscaling_threshold_percent: nil,
70
70
  storage_autoscaling_max_gb: nil
71
71
  )
72
- api_path = '/mongo'
73
-
74
72
  if database_id.nil?
75
73
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
76
74
  end
@@ -79,6 +77,8 @@ module Appwrite
79
77
  raise Appwrite::Exception.new('Missing required parameter: "name"')
80
78
  end
81
79
 
80
+ api_path = '/mongo'
81
+
82
82
  api_params = {
83
83
  databaseId: database_id,
84
84
  name: name,
@@ -112,8 +112,8 @@ module Appwrite
112
112
  end
113
113
 
114
114
  # List the dedicated database specifications available on the current plan.
115
- # Each specification reports its resource limits, pricing, and whether it is
116
- # enabled for the organization.
115
+ # Each specification reports its resource limits, its own prices and overage
116
+ # rates, and whether it is enabled for the organization.
117
117
  #
118
118
  #
119
119
  # @return [DedicatedDatabaseSpecificationList]
@@ -145,13 +145,13 @@ module Appwrite
145
145
  def get(
146
146
  database_id:
147
147
  )
148
- api_path = '/mongo/{databaseId}'
149
- .gsub('{databaseId}', database_id)
150
-
151
- if database_id.nil?
148
+ if database_id.nil? || database_id == ''
152
149
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
153
150
  end
154
151
 
152
+ api_path = '/mongo/{databaseId}'
153
+ .gsub('{databaseId}', database_id)
154
+
155
155
  api_params = {}
156
156
 
157
157
  api_headers = {
@@ -219,13 +219,13 @@ module Appwrite
219
219
  sql_api_max_bytes: nil,
220
220
  sql_api_timeout_seconds: nil
221
221
  )
222
- api_path = '/mongo/{databaseId}'
223
- .gsub('{databaseId}', database_id)
224
-
225
- if database_id.nil?
222
+ if database_id.nil? || database_id == ''
226
223
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
227
224
  end
228
225
 
226
+ api_path = '/mongo/{databaseId}'
227
+ .gsub('{databaseId}', database_id)
228
+
229
229
  api_params = {
230
230
  name: name,
231
231
  status: status,
@@ -275,13 +275,13 @@ module Appwrite
275
275
  def delete(
276
276
  database_id:
277
277
  )
278
- api_path = '/mongo/{databaseId}'
279
- .gsub('{databaseId}', database_id)
280
-
281
- if database_id.nil?
278
+ if database_id.nil? || database_id == ''
282
279
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
283
280
  end
284
281
 
282
+ api_path = '/mongo/{databaseId}'
283
+ .gsub('{databaseId}', database_id)
284
+
285
285
  api_params = {}
286
286
 
287
287
  api_headers = {
@@ -309,13 +309,13 @@ module Appwrite
309
309
  database_id:,
310
310
  queries: nil
311
311
  )
312
- api_path = '/mongo/{databaseId}/backups'
313
- .gsub('{databaseId}', database_id)
314
-
315
- if database_id.nil?
312
+ if database_id.nil? || database_id == ''
316
313
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
317
314
  end
318
315
 
316
+ api_path = '/mongo/{databaseId}/backups'
317
+ .gsub('{databaseId}', database_id)
318
+
319
319
  api_params = {
320
320
  queries: queries,
321
321
  }
@@ -345,13 +345,13 @@ module Appwrite
345
345
  database_id:,
346
346
  type: nil
347
347
  )
348
- api_path = '/mongo/{databaseId}/backups'
349
- .gsub('{databaseId}', database_id)
350
-
351
- if database_id.nil?
348
+ if database_id.nil? || database_id == ''
352
349
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
353
350
  end
354
351
 
352
+ api_path = '/mongo/{databaseId}/backups'
353
+ .gsub('{databaseId}', database_id)
354
+
355
355
  api_params = {
356
356
  type: type,
357
357
  }
@@ -381,13 +381,13 @@ module Appwrite
381
381
  database_id:,
382
382
  queries: nil
383
383
  )
384
- api_path = '/mongo/{databaseId}/backups/policies'
385
- .gsub('{databaseId}', database_id)
386
-
387
- if database_id.nil?
384
+ if database_id.nil? || database_id == ''
388
385
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
389
386
  end
390
387
 
388
+ api_path = '/mongo/{databaseId}/backups/policies'
389
+ .gsub('{databaseId}', database_id)
390
+
391
391
  api_params = {
392
392
  queries: queries,
393
393
  }
@@ -426,10 +426,7 @@ module Appwrite
426
426
  type: nil,
427
427
  enabled: nil
428
428
  )
429
- api_path = '/mongo/{databaseId}/backups/policies'
430
- .gsub('{databaseId}', database_id)
431
-
432
- if database_id.nil?
429
+ if database_id.nil? || database_id == ''
433
430
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
434
431
  end
435
432
 
@@ -449,6 +446,9 @@ module Appwrite
449
446
  raise Appwrite::Exception.new('Missing required parameter: "retention"')
450
447
  end
451
448
 
449
+ api_path = '/mongo/{databaseId}/backups/policies'
450
+ .gsub('{databaseId}', database_id)
451
+
452
452
  api_params = {
453
453
  policyId: policy_id,
454
454
  name: name,
@@ -483,18 +483,18 @@ module Appwrite
483
483
  database_id:,
484
484
  policy_id:
485
485
  )
486
- api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
487
- .gsub('{databaseId}', database_id)
488
- .gsub('{policyId}', policy_id)
489
-
490
- if database_id.nil?
486
+ if database_id.nil? || database_id == ''
491
487
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
492
488
  end
493
489
 
494
- if policy_id.nil?
490
+ if policy_id.nil? || policy_id == ''
495
491
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
496
492
  end
497
493
 
494
+ api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
495
+ .gsub('{databaseId}', database_id)
496
+ .gsub('{policyId}', policy_id)
497
+
498
498
  api_params = {}
499
499
 
500
500
  api_headers = {
@@ -529,18 +529,18 @@ module Appwrite
529
529
  retention: nil,
530
530
  enabled: nil
531
531
  )
532
- api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
533
- .gsub('{databaseId}', database_id)
534
- .gsub('{policyId}', policy_id)
535
-
536
- if database_id.nil?
532
+ if database_id.nil? || database_id == ''
537
533
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
538
534
  end
539
535
 
540
- if policy_id.nil?
536
+ if policy_id.nil? || policy_id == ''
541
537
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
542
538
  end
543
539
 
540
+ api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
541
+ .gsub('{databaseId}', database_id)
542
+ .gsub('{policyId}', policy_id)
543
+
544
544
  api_params = {
545
545
  name: name,
546
546
  schedule: schedule,
@@ -574,18 +574,18 @@ module Appwrite
574
574
  database_id:,
575
575
  policy_id:
576
576
  )
577
- api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
578
- .gsub('{databaseId}', database_id)
579
- .gsub('{policyId}', policy_id)
580
-
581
- if database_id.nil?
577
+ if database_id.nil? || database_id == ''
582
578
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
583
579
  end
584
580
 
585
- if policy_id.nil?
581
+ if policy_id.nil? || policy_id == ''
586
582
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
587
583
  end
588
584
 
585
+ api_path = '/mongo/{databaseId}/backups/policies/{policyId}'
586
+ .gsub('{databaseId}', database_id)
587
+ .gsub('{policyId}', policy_id)
588
+
589
589
  api_params = {}
590
590
 
591
591
  api_headers = {
@@ -626,10 +626,7 @@ module Appwrite
626
626
  prefix: nil,
627
627
  endpoint: nil
628
628
  )
629
- api_path = '/mongo/{databaseId}/backups/storage'
630
- .gsub('{databaseId}', database_id)
631
-
632
- if database_id.nil?
629
+ if database_id.nil? || database_id == ''
633
630
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
634
631
  end
635
632
 
@@ -649,6 +646,9 @@ module Appwrite
649
646
  raise Appwrite::Exception.new('Missing required parameter: "secretKey"')
650
647
  end
651
648
 
649
+ api_path = '/mongo/{databaseId}/backups/storage'
650
+ .gsub('{databaseId}', database_id)
651
+
652
652
  api_params = {
653
653
  provider: provider,
654
654
  bucket: bucket,
@@ -685,18 +685,18 @@ module Appwrite
685
685
  database_id:,
686
686
  backup_id:
687
687
  )
688
- api_path = '/mongo/{databaseId}/backups/{backupId}'
689
- .gsub('{databaseId}', database_id)
690
- .gsub('{backupId}', backup_id)
691
-
692
- if database_id.nil?
688
+ if database_id.nil? || database_id == ''
693
689
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
694
690
  end
695
691
 
696
- if backup_id.nil?
692
+ if backup_id.nil? || backup_id == ''
697
693
  raise Appwrite::Exception.new('Missing required parameter: "backupId"')
698
694
  end
699
695
 
696
+ api_path = '/mongo/{databaseId}/backups/{backupId}'
697
+ .gsub('{databaseId}', database_id)
698
+ .gsub('{backupId}', backup_id)
699
+
700
700
  api_params = {}
701
701
 
702
702
  api_headers = {
@@ -724,18 +724,18 @@ module Appwrite
724
724
  database_id:,
725
725
  backup_id:
726
726
  )
727
- api_path = '/mongo/{databaseId}/backups/{backupId}'
728
- .gsub('{databaseId}', database_id)
729
- .gsub('{backupId}', backup_id)
730
-
731
- if database_id.nil?
727
+ if database_id.nil? || database_id == ''
732
728
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
733
729
  end
734
730
 
735
- if backup_id.nil?
731
+ if backup_id.nil? || backup_id == ''
736
732
  raise Appwrite::Exception.new('Missing required parameter: "backupId"')
737
733
  end
738
734
 
735
+ api_path = '/mongo/{databaseId}/backups/{backupId}'
736
+ .gsub('{databaseId}', database_id)
737
+ .gsub('{backupId}', backup_id)
738
+
739
739
  api_params = {}
740
740
 
741
741
  api_headers = {
@@ -761,13 +761,13 @@ module Appwrite
761
761
  def list_branches(
762
762
  database_id:
763
763
  )
764
- api_path = '/mongo/{databaseId}/branches'
765
- .gsub('{databaseId}', database_id)
766
-
767
- if database_id.nil?
764
+ if database_id.nil? || database_id == ''
768
765
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
769
766
  end
770
767
 
768
+ api_path = '/mongo/{databaseId}/branches'
769
+ .gsub('{databaseId}', database_id)
770
+
771
771
  api_params = {}
772
772
 
773
773
  api_headers = {
@@ -800,13 +800,13 @@ module Appwrite
800
800
  branch_id: nil,
801
801
  ttl: nil
802
802
  )
803
- api_path = '/mongo/{databaseId}/branches'
804
- .gsub('{databaseId}', database_id)
805
-
806
- if database_id.nil?
803
+ if database_id.nil? || database_id == ''
807
804
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
808
805
  end
809
806
 
807
+ api_path = '/mongo/{databaseId}/branches'
808
+ .gsub('{databaseId}', database_id)
809
+
810
810
  api_params = {
811
811
  branchId: branch_id,
812
812
  ttl: ttl,
@@ -839,18 +839,18 @@ module Appwrite
839
839
  database_id:,
840
840
  branch_id:
841
841
  )
842
- api_path = '/mongo/{databaseId}/branches/{branchId}'
843
- .gsub('{databaseId}', database_id)
844
- .gsub('{branchId}', branch_id)
845
-
846
- if database_id.nil?
842
+ if database_id.nil? || database_id == ''
847
843
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
848
844
  end
849
845
 
850
- if branch_id.nil?
846
+ if branch_id.nil? || branch_id == ''
851
847
  raise Appwrite::Exception.new('Missing required parameter: "branchId"')
852
848
  end
853
849
 
850
+ api_path = '/mongo/{databaseId}/branches/{branchId}'
851
+ .gsub('{databaseId}', database_id)
852
+ .gsub('{branchId}', branch_id)
853
+
854
854
  api_params = {}
855
855
 
856
856
  api_headers = {
@@ -879,13 +879,13 @@ module Appwrite
879
879
  def update_credentials(
880
880
  database_id:
881
881
  )
882
- api_path = '/mongo/{databaseId}/credentials'
883
- .gsub('{databaseId}', database_id)
884
-
885
- if database_id.nil?
882
+ if database_id.nil? || database_id == ''
886
883
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
887
884
  end
888
885
 
886
+ api_path = '/mongo/{databaseId}/credentials'
887
+ .gsub('{databaseId}', database_id)
888
+
889
889
  api_params = {}
890
890
 
891
891
  api_headers = {
@@ -921,13 +921,13 @@ module Appwrite
921
921
  database_id:,
922
922
  target_replica_id: nil
923
923
  )
924
- api_path = '/mongo/{databaseId}/failovers'
925
- .gsub('{databaseId}', database_id)
926
-
927
- if database_id.nil?
924
+ if database_id.nil? || database_id == ''
928
925
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
929
926
  end
930
927
 
928
+ api_path = '/mongo/{databaseId}/failovers'
929
+ .gsub('{databaseId}', database_id)
930
+
931
931
  api_params = {
932
932
  targetReplicaId: target_replica_id,
933
933
  }
@@ -961,10 +961,7 @@ module Appwrite
961
961
  day:,
962
962
  hour_utc:
963
963
  )
964
- api_path = '/mongo/{databaseId}/maintenance'
965
- .gsub('{databaseId}', database_id)
966
-
967
- if database_id.nil?
964
+ if database_id.nil? || database_id == ''
968
965
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
969
966
  end
970
967
 
@@ -976,6 +973,9 @@ module Appwrite
976
973
  raise Appwrite::Exception.new('Missing required parameter: "hourUtc"')
977
974
  end
978
975
 
976
+ api_path = '/mongo/{databaseId}/maintenance'
977
+ .gsub('{databaseId}', database_id)
978
+
979
979
  api_params = {
980
980
  day: day,
981
981
  hourUtc: hour_utc,
@@ -1011,10 +1011,7 @@ module Appwrite
1011
1011
  target_type:,
1012
1012
  specification: nil
1013
1013
  )
1014
- api_path = '/mongo/{databaseId}/migrations'
1015
- .gsub('{databaseId}', database_id)
1016
-
1017
- if database_id.nil?
1014
+ if database_id.nil? || database_id == ''
1018
1015
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1019
1016
  end
1020
1017
 
@@ -1022,6 +1019,9 @@ module Appwrite
1022
1019
  raise Appwrite::Exception.new('Missing required parameter: "targetType"')
1023
1020
  end
1024
1021
 
1022
+ api_path = '/mongo/{databaseId}/migrations'
1023
+ .gsub('{databaseId}', database_id)
1024
+
1025
1025
  api_params = {
1026
1026
  targetType: target_type,
1027
1027
  specification: specification,
@@ -1059,13 +1059,13 @@ module Appwrite
1059
1059
  limit: nil,
1060
1060
  offset: nil
1061
1061
  )
1062
- api_path = '/mongo/{databaseId}/operations'
1063
- .gsub('{databaseId}', database_id)
1064
-
1065
- if database_id.nil?
1062
+ if database_id.nil? || database_id == ''
1066
1063
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1067
1064
  end
1068
1065
 
1066
+ api_path = '/mongo/{databaseId}/operations'
1067
+ .gsub('{databaseId}', database_id)
1068
+
1069
1069
  api_params = {
1070
1070
  status: status,
1071
1071
  limit: limit,
@@ -1095,13 +1095,13 @@ module Appwrite
1095
1095
  def get_pitr(
1096
1096
  database_id:
1097
1097
  )
1098
- api_path = '/mongo/{databaseId}/pitr'
1099
- .gsub('{databaseId}', database_id)
1100
-
1101
- if database_id.nil?
1098
+ if database_id.nil? || database_id == ''
1102
1099
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1103
1100
  end
1104
1101
 
1102
+ api_path = '/mongo/{databaseId}/pitr'
1103
+ .gsub('{databaseId}', database_id)
1104
+
1105
1105
  api_params = {}
1106
1106
 
1107
1107
  api_headers = {
@@ -1127,13 +1127,13 @@ module Appwrite
1127
1127
  def get_replicas(
1128
1128
  database_id:
1129
1129
  )
1130
- api_path = '/mongo/{databaseId}/replicas'
1131
- .gsub('{databaseId}', database_id)
1132
-
1133
- if database_id.nil?
1130
+ if database_id.nil? || database_id == ''
1134
1131
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1135
1132
  end
1136
1133
 
1134
+ api_path = '/mongo/{databaseId}/replicas'
1135
+ .gsub('{databaseId}', database_id)
1136
+
1137
1137
  api_params = {}
1138
1138
 
1139
1139
  api_headers = {
@@ -1167,13 +1167,13 @@ module Appwrite
1167
1167
  limit: nil,
1168
1168
  offset: nil
1169
1169
  )
1170
- api_path = '/mongo/{databaseId}/restorations'
1171
- .gsub('{databaseId}', database_id)
1172
-
1173
- if database_id.nil?
1170
+ if database_id.nil? || database_id == ''
1174
1171
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1175
1172
  end
1176
1173
 
1174
+ api_path = '/mongo/{databaseId}/restorations'
1175
+ .gsub('{databaseId}', database_id)
1176
+
1177
1177
  api_params = {
1178
1178
  status: status,
1179
1179
  type: type,
@@ -1200,11 +1200,25 @@ module Appwrite
1200
1200
  # an ISO 8601 datetime. PITR requires the database to have PITR enabled and
1201
1201
  # is only available for enterprise databases.
1202
1202
  #
1203
+ # By default the backup is replayed over the database it was taken from. Pass
1204
+ # `restoreMode` as `clone` to recover it onto a second workload beside this
1205
+ # database instead: this database keeps serving its own data while the clone
1206
+ # is filled, and the switch happens as soon as the clone is ready, on the
1207
+ # endpoint and credentials it already had. Pass `autoPromote` as false to
1208
+ # hold the clone until you promote it yourself. Pass `restoreMode` as `copy`
1209
+ # to recover onto a separate database with its own endpoint, either one you
1210
+ # name with `targetDatabaseId` or one provisioned as a copy of this
1211
+ # database's engine, version, specification and replicas. Neither mode is
1212
+ # available for a point-in-time recovery or an incremental backup.
1213
+ #
1203
1214
  # @param [String] database_id Database ID.
1204
1215
  # @param [String] type Restoration type. Allowed values: backup, pitr. Use "backup" to restore from a specific backup, or "pitr" for point-in-time recovery.
1205
1216
  # @param [String] backup_id Backup ID to restore from (required for backup type).
1206
- # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version.
1217
+ # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version. Omit it on a copy restoration to have one provisioned. Not accepted for a clone, which is recovered inside this database.
1207
1218
  # @param [String] target_time Target time for PITR (required for pitr type) as an [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) datetime.
1219
+ # @param [String] restore_mode Where the backup is restored. Allowed values: in_place, clone, copy. Use "clone" to recover onto a second workload beside this database and leave it serving until you promote — the endpoint and credentials do not change. Use "copy" to recover onto a separate database with its own endpoint, either one you name with targetDatabaseId or one Cloud provisions. Use "in_place" to replay the backup over this database. Defaults to "copy" when a targetDatabaseId is given, "in_place" otherwise.
1220
+ # @param [String] target_name Display name for the database a copy restoration provisions. Defaults to this database's name followed by "(restored)". Max length: 128 chars.
1221
+ # @param [] auto_promote Whether a clone restoration switches the database over as soon as the recovery is ready. Default true: the restore finishes with the database serving the recovery point on the endpoint it already had, and the side it replaced kept briefly so the switch can be reversed. Pass false to hold the recovery until you call the promotion endpoint yourself.
1208
1222
  #
1209
1223
  # @return [DedicatedDatabaseRestoration]
1210
1224
  def create_restoration(
@@ -1212,20 +1226,26 @@ module Appwrite
1212
1226
  type: nil,
1213
1227
  backup_id: nil,
1214
1228
  target_database_id: nil,
1215
- target_time: nil
1229
+ target_time: nil,
1230
+ restore_mode: nil,
1231
+ target_name: nil,
1232
+ auto_promote: nil
1216
1233
  )
1217
- api_path = '/mongo/{databaseId}/restorations'
1218
- .gsub('{databaseId}', database_id)
1219
-
1220
- if database_id.nil?
1234
+ if database_id.nil? || database_id == ''
1221
1235
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1222
1236
  end
1223
1237
 
1238
+ api_path = '/mongo/{databaseId}/restorations'
1239
+ .gsub('{databaseId}', database_id)
1240
+
1224
1241
  api_params = {
1225
1242
  type: type,
1226
1243
  backupId: backup_id,
1227
1244
  targetDatabaseId: target_database_id,
1228
1245
  targetTime: target_time,
1246
+ restoreMode: restore_mode,
1247
+ targetName: target_name,
1248
+ autoPromote: auto_promote,
1229
1249
  }
1230
1250
 
1231
1251
  api_headers = {
@@ -1254,27 +1274,71 @@ module Appwrite
1254
1274
  database_id:,
1255
1275
  restoration_id:
1256
1276
  )
1277
+ if database_id.nil? || database_id == ''
1278
+ raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1279
+ end
1280
+
1281
+ if restoration_id.nil? || restoration_id == ''
1282
+ raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1283
+ end
1284
+
1257
1285
  api_path = '/mongo/{databaseId}/restorations/{restorationId}'
1258
1286
  .gsub('{databaseId}', database_id)
1259
1287
  .gsub('{restorationId}', restoration_id)
1260
1288
 
1261
- if database_id.nil?
1289
+ api_params = {}
1290
+
1291
+ api_headers = {
1292
+ "X-Appwrite-Project": @client.get_config('project'),
1293
+ "accept": 'application/json',
1294
+ }
1295
+
1296
+ @client.call(
1297
+ method: 'GET',
1298
+ path: api_path,
1299
+ headers: api_headers,
1300
+ params: api_params,
1301
+ response_type: Models::DedicatedDatabaseRestoration
1302
+ )
1303
+ end
1304
+
1305
+ # Switch the database over to the clone a restoration recovered. The database
1306
+ # keeps
1307
+ # its endpoint and credentials; clients reconnect once. Writes made after the
1308
+ # recovery point are discarded, and the side being replaced is retained
1309
+ # briefly so
1310
+ # the switch can be reversed.
1311
+ #
1312
+ # @param [String] database_id Database ID.
1313
+ # @param [String] restoration_id Restoration ID.
1314
+ #
1315
+ # @return [DedicatedDatabaseRestoration]
1316
+ def promote_restoration(
1317
+ database_id:,
1318
+ restoration_id:
1319
+ )
1320
+ if database_id.nil? || database_id == ''
1262
1321
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1263
1322
  end
1264
1323
 
1265
- if restoration_id.nil?
1324
+ if restoration_id.nil? || restoration_id == ''
1266
1325
  raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1267
1326
  end
1268
1327
 
1328
+ api_path = '/mongo/{databaseId}/restorations/{restorationId}/promotions'
1329
+ .gsub('{databaseId}', database_id)
1330
+ .gsub('{restorationId}', restoration_id)
1331
+
1269
1332
  api_params = {}
1270
1333
 
1271
1334
  api_headers = {
1272
1335
  "X-Appwrite-Project": @client.get_config('project'),
1336
+ "content-type": 'application/json',
1273
1337
  "accept": 'application/json',
1274
1338
  }
1275
1339
 
1276
1340
  @client.call(
1277
- method: 'GET',
1341
+ method: 'POST',
1278
1342
  path: api_path,
1279
1343
  headers: api_headers,
1280
1344
  params: api_params,
@@ -1292,13 +1356,13 @@ module Appwrite
1292
1356
  def get_status(
1293
1357
  database_id:
1294
1358
  )
1295
- api_path = '/mongo/{databaseId}/status'
1296
- .gsub('{databaseId}', database_id)
1297
-
1298
- if database_id.nil?
1359
+ if database_id.nil? || database_id == ''
1299
1360
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1300
1361
  end
1301
1362
 
1363
+ api_path = '/mongo/{databaseId}/status'
1364
+ .gsub('{databaseId}', database_id)
1365
+
1302
1366
  api_params = {}
1303
1367
 
1304
1368
  api_headers = {
@@ -1326,10 +1390,7 @@ module Appwrite
1326
1390
  database_id:,
1327
1391
  target_version:
1328
1392
  )
1329
- api_path = '/mongo/{databaseId}/upgrades'
1330
- .gsub('{databaseId}', database_id)
1331
-
1332
- if database_id.nil?
1393
+ if database_id.nil? || database_id == ''
1333
1394
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1334
1395
  end
1335
1396
 
@@ -1337,6 +1398,9 @@ module Appwrite
1337
1398
  raise Appwrite::Exception.new('Missing required parameter: "targetVersion"')
1338
1399
  end
1339
1400
 
1401
+ api_path = '/mongo/{databaseId}/upgrades'
1402
+ .gsub('{databaseId}', database_id)
1403
+
1340
1404
  api_params = {
1341
1405
  targetVersion: target_version,
1342
1406
  }