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 = '/mysql'
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 = '/mysql'
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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{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 = '/mysql/{databaseId}/credentials'
887
+ .gsub('{databaseId}', database_id)
888
+
889
889
  api_params = {}
890
890
 
891
891
  api_headers = {
@@ -912,11 +912,15 @@ module Appwrite
912
912
  # without a per-query cloud round-trip. The statement type must be on the
913
913
  # database's configured allow-list. Use bound parameters for any
914
914
  # user-supplied values — the API does not interpolate raw strings.
915
+ # Long-running statements (for example CREATE INDEX) can outlive the HTTP
916
+ # request: if the request ends before a result is returned, check the
917
+ # database before retrying, and prefer a direct connection for work that may
918
+ # take minutes.
915
919
  #
916
920
  # @param [String] database_id Database ID.
917
921
  # @param [String] sql SQL statement to execute. Exactly one statement per request.
918
922
  # @param [Hash] bindings Optional bound parameters. Pass either a positional list or a name => value map matching the placeholder style used in the SQL.
919
- # @param [Integer] timeout_seconds Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds.
923
+ # @param [Integer] timeout_seconds Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds. Statements that may exceed this — or the HTTP request timeout in front of Cloud — should use a direct connection instead.
920
924
  #
921
925
  # @return [DedicatedDatabaseExecution]
922
926
  def create_execution(
@@ -925,10 +929,7 @@ module Appwrite
925
929
  bindings: nil,
926
930
  timeout_seconds: nil
927
931
  )
928
- api_path = '/mysql/{databaseId}/executions'
929
- .gsub('{databaseId}', database_id)
930
-
931
- if database_id.nil?
932
+ if database_id.nil? || database_id == ''
932
933
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
933
934
  end
934
935
 
@@ -936,6 +937,9 @@ module Appwrite
936
937
  raise Appwrite::Exception.new('Missing required parameter: "sql"')
937
938
  end
938
939
 
940
+ api_path = '/mysql/{databaseId}/executions'
941
+ .gsub('{databaseId}', database_id)
942
+
939
943
  api_params = {
940
944
  sql: sql,
941
945
  bindings: bindings,
@@ -975,13 +979,13 @@ module Appwrite
975
979
  database_id:,
976
980
  target_replica_id: nil
977
981
  )
978
- api_path = '/mysql/{databaseId}/failovers'
979
- .gsub('{databaseId}', database_id)
980
-
981
- if database_id.nil?
982
+ if database_id.nil? || database_id == ''
982
983
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
983
984
  end
984
985
 
986
+ api_path = '/mysql/{databaseId}/failovers'
987
+ .gsub('{databaseId}', database_id)
988
+
985
989
  api_params = {
986
990
  targetReplicaId: target_replica_id,
987
991
  }
@@ -1015,10 +1019,7 @@ module Appwrite
1015
1019
  day:,
1016
1020
  hour_utc:
1017
1021
  )
1018
- api_path = '/mysql/{databaseId}/maintenance'
1019
- .gsub('{databaseId}', database_id)
1020
-
1021
- if database_id.nil?
1022
+ if database_id.nil? || database_id == ''
1022
1023
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1023
1024
  end
1024
1025
 
@@ -1030,6 +1031,9 @@ module Appwrite
1030
1031
  raise Appwrite::Exception.new('Missing required parameter: "hourUtc"')
1031
1032
  end
1032
1033
 
1034
+ api_path = '/mysql/{databaseId}/maintenance'
1035
+ .gsub('{databaseId}', database_id)
1036
+
1033
1037
  api_params = {
1034
1038
  day: day,
1035
1039
  hourUtc: hour_utc,
@@ -1065,10 +1069,7 @@ module Appwrite
1065
1069
  target_type:,
1066
1070
  specification: nil
1067
1071
  )
1068
- api_path = '/mysql/{databaseId}/migrations'
1069
- .gsub('{databaseId}', database_id)
1070
-
1071
- if database_id.nil?
1072
+ if database_id.nil? || database_id == ''
1072
1073
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1073
1074
  end
1074
1075
 
@@ -1076,6 +1077,9 @@ module Appwrite
1076
1077
  raise Appwrite::Exception.new('Missing required parameter: "targetType"')
1077
1078
  end
1078
1079
 
1080
+ api_path = '/mysql/{databaseId}/migrations'
1081
+ .gsub('{databaseId}', database_id)
1082
+
1079
1083
  api_params = {
1080
1084
  targetType: target_type,
1081
1085
  specification: specification,
@@ -1113,13 +1117,13 @@ module Appwrite
1113
1117
  limit: nil,
1114
1118
  offset: nil
1115
1119
  )
1116
- api_path = '/mysql/{databaseId}/operations'
1117
- .gsub('{databaseId}', database_id)
1118
-
1119
- if database_id.nil?
1120
+ if database_id.nil? || database_id == ''
1120
1121
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1121
1122
  end
1122
1123
 
1124
+ api_path = '/mysql/{databaseId}/operations'
1125
+ .gsub('{databaseId}', database_id)
1126
+
1123
1127
  api_params = {
1124
1128
  status: status,
1125
1129
  limit: limit,
@@ -1149,13 +1153,13 @@ module Appwrite
1149
1153
  def get_pitr(
1150
1154
  database_id:
1151
1155
  )
1152
- api_path = '/mysql/{databaseId}/pitr'
1153
- .gsub('{databaseId}', database_id)
1154
-
1155
- if database_id.nil?
1156
+ if database_id.nil? || database_id == ''
1156
1157
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1157
1158
  end
1158
1159
 
1160
+ api_path = '/mysql/{databaseId}/pitr'
1161
+ .gsub('{databaseId}', database_id)
1162
+
1159
1163
  api_params = {}
1160
1164
 
1161
1165
  api_headers = {
@@ -1181,13 +1185,13 @@ module Appwrite
1181
1185
  def get_pooler(
1182
1186
  database_id:
1183
1187
  )
1184
- api_path = '/mysql/{databaseId}/pooler'
1185
- .gsub('{databaseId}', database_id)
1186
-
1187
- if database_id.nil?
1188
+ if database_id.nil? || database_id == ''
1188
1189
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1189
1190
  end
1190
1191
 
1192
+ api_path = '/mysql/{databaseId}/pooler'
1193
+ .gsub('{databaseId}', database_id)
1194
+
1191
1195
  api_params = {}
1192
1196
 
1193
1197
  api_headers = {
@@ -1211,7 +1215,7 @@ module Appwrite
1211
1215
  # @param [String] mode Connection pool mode. Allowed values: transaction, session. Transaction mode returns connections to the pool after each transaction; session mode holds connections for the entire session lifetime.
1212
1216
  # @param [Integer] max_connections Client-connection ceiling the pooler accepts. Supported on MySQL and MariaDB only; the PostgreSQL pooler has no client cap, so set networkMaxConnections on the database instead.
1213
1217
  # @param [Integer] default_pool_size Default pool size per user.
1214
- # @param [] read_write_splitting Route SELECTs to HA replicas, writes and locked reads to the primary. Defaults to true when HA is enabled.
1218
+ # @param [] read_write_splitting Route SELECTs to HA replicas, writes and locked reads to the primary. Off by default, and only takes effect while HA is enabled. Replication is asynchronous, so a read issued immediately after a write may not observe it.
1215
1219
  # @param [String] pooler_cpu_request Pooler sidecar CPU request override (Kubernetes quantity, e.g. "250m" or "1"). Leave null for the proportional default (5% of DB CPU, floor 100m).
1216
1220
  # @param [String] pooler_cpu_limit Pooler sidecar CPU limit override (Kubernetes quantity, e.g. "500m" or "1"). Leave null for the proportional default (10% of DB CPU, floor 200m). Changing this field rolls the database pod.
1217
1221
  # @param [String] pooler_memory_request Pooler sidecar memory request override (Kubernetes quantity, e.g. "128Mi" or "1Gi"). Leave null for the proportional default (7.5% of DB memory, floor 64Mi).
@@ -1229,13 +1233,13 @@ module Appwrite
1229
1233
  pooler_memory_request: nil,
1230
1234
  pooler_memory_limit: nil
1231
1235
  )
1232
- api_path = '/mysql/{databaseId}/pooler'
1233
- .gsub('{databaseId}', database_id)
1234
-
1235
- if database_id.nil?
1236
+ if database_id.nil? || database_id == ''
1236
1237
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1237
1238
  end
1238
1239
 
1240
+ api_path = '/mysql/{databaseId}/pooler'
1241
+ .gsub('{databaseId}', database_id)
1242
+
1239
1243
  api_params = {
1240
1244
  mode: mode,
1241
1245
  maxConnections: max_connections,
@@ -1271,13 +1275,13 @@ module Appwrite
1271
1275
  def get_replicas(
1272
1276
  database_id:
1273
1277
  )
1274
- api_path = '/mysql/{databaseId}/replicas'
1275
- .gsub('{databaseId}', database_id)
1276
-
1277
- if database_id.nil?
1278
+ if database_id.nil? || database_id == ''
1278
1279
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1279
1280
  end
1280
1281
 
1282
+ api_path = '/mysql/{databaseId}/replicas'
1283
+ .gsub('{databaseId}', database_id)
1284
+
1281
1285
  api_params = {}
1282
1286
 
1283
1287
  api_headers = {
@@ -1311,13 +1315,13 @@ module Appwrite
1311
1315
  limit: nil,
1312
1316
  offset: nil
1313
1317
  )
1314
- api_path = '/mysql/{databaseId}/restorations'
1315
- .gsub('{databaseId}', database_id)
1316
-
1317
- if database_id.nil?
1318
+ if database_id.nil? || database_id == ''
1318
1319
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1319
1320
  end
1320
1321
 
1322
+ api_path = '/mysql/{databaseId}/restorations'
1323
+ .gsub('{databaseId}', database_id)
1324
+
1321
1325
  api_params = {
1322
1326
  status: status,
1323
1327
  type: type,
@@ -1344,11 +1348,25 @@ module Appwrite
1344
1348
  # an ISO 8601 datetime. PITR requires the database to have PITR enabled and
1345
1349
  # is only available for enterprise databases.
1346
1350
  #
1351
+ # By default the backup is replayed over the database it was taken from. Pass
1352
+ # `restoreMode` as `clone` to recover it onto a second workload beside this
1353
+ # database instead: this database keeps serving its own data while the clone
1354
+ # is filled, and the switch happens as soon as the clone is ready, on the
1355
+ # endpoint and credentials it already had. Pass `autoPromote` as false to
1356
+ # hold the clone until you promote it yourself. Pass `restoreMode` as `copy`
1357
+ # to recover onto a separate database with its own endpoint, either one you
1358
+ # name with `targetDatabaseId` or one provisioned as a copy of this
1359
+ # database's engine, version, specification and replicas. Neither mode is
1360
+ # available for a point-in-time recovery or an incremental backup.
1361
+ #
1347
1362
  # @param [String] database_id Database ID.
1348
1363
  # @param [String] type Restoration type. Allowed values: backup, pitr. Use "backup" to restore from a specific backup, or "pitr" for point-in-time recovery.
1349
1364
  # @param [String] backup_id Backup ID to restore from (required for backup type).
1350
- # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version.
1365
+ # @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.
1351
1366
  # @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.
1367
+ # @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.
1368
+ # @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.
1369
+ # @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.
1352
1370
  #
1353
1371
  # @return [DedicatedDatabaseRestoration]
1354
1372
  def create_restoration(
@@ -1356,20 +1374,26 @@ module Appwrite
1356
1374
  type: nil,
1357
1375
  backup_id: nil,
1358
1376
  target_database_id: nil,
1359
- target_time: nil
1377
+ target_time: nil,
1378
+ restore_mode: nil,
1379
+ target_name: nil,
1380
+ auto_promote: nil
1360
1381
  )
1361
- api_path = '/mysql/{databaseId}/restorations'
1362
- .gsub('{databaseId}', database_id)
1363
-
1364
- if database_id.nil?
1382
+ if database_id.nil? || database_id == ''
1365
1383
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1366
1384
  end
1367
1385
 
1386
+ api_path = '/mysql/{databaseId}/restorations'
1387
+ .gsub('{databaseId}', database_id)
1388
+
1368
1389
  api_params = {
1369
1390
  type: type,
1370
1391
  backupId: backup_id,
1371
1392
  targetDatabaseId: target_database_id,
1372
1393
  targetTime: target_time,
1394
+ restoreMode: restore_mode,
1395
+ targetName: target_name,
1396
+ autoPromote: auto_promote,
1373
1397
  }
1374
1398
 
1375
1399
  api_headers = {
@@ -1398,27 +1422,71 @@ module Appwrite
1398
1422
  database_id:,
1399
1423
  restoration_id:
1400
1424
  )
1425
+ if database_id.nil? || database_id == ''
1426
+ raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1427
+ end
1428
+
1429
+ if restoration_id.nil? || restoration_id == ''
1430
+ raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1431
+ end
1432
+
1401
1433
  api_path = '/mysql/{databaseId}/restorations/{restorationId}'
1402
1434
  .gsub('{databaseId}', database_id)
1403
1435
  .gsub('{restorationId}', restoration_id)
1404
1436
 
1405
- if database_id.nil?
1437
+ api_params = {}
1438
+
1439
+ api_headers = {
1440
+ "X-Appwrite-Project": @client.get_config('project'),
1441
+ "accept": 'application/json',
1442
+ }
1443
+
1444
+ @client.call(
1445
+ method: 'GET',
1446
+ path: api_path,
1447
+ headers: api_headers,
1448
+ params: api_params,
1449
+ response_type: Models::DedicatedDatabaseRestoration
1450
+ )
1451
+ end
1452
+
1453
+ # Switch the database over to the clone a restoration recovered. The database
1454
+ # keeps
1455
+ # its endpoint and credentials; clients reconnect once. Writes made after the
1456
+ # recovery point are discarded, and the side being replaced is retained
1457
+ # briefly so
1458
+ # the switch can be reversed.
1459
+ #
1460
+ # @param [String] database_id Database ID.
1461
+ # @param [String] restoration_id Restoration ID.
1462
+ #
1463
+ # @return [DedicatedDatabaseRestoration]
1464
+ def promote_restoration(
1465
+ database_id:,
1466
+ restoration_id:
1467
+ )
1468
+ if database_id.nil? || database_id == ''
1406
1469
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1407
1470
  end
1408
1471
 
1409
- if restoration_id.nil?
1472
+ if restoration_id.nil? || restoration_id == ''
1410
1473
  raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1411
1474
  end
1412
1475
 
1476
+ api_path = '/mysql/{databaseId}/restorations/{restorationId}/promotions'
1477
+ .gsub('{databaseId}', database_id)
1478
+ .gsub('{restorationId}', restoration_id)
1479
+
1413
1480
  api_params = {}
1414
1481
 
1415
1482
  api_headers = {
1416
1483
  "X-Appwrite-Project": @client.get_config('project'),
1484
+ "content-type": 'application/json',
1417
1485
  "accept": 'application/json',
1418
1486
  }
1419
1487
 
1420
1488
  @client.call(
1421
- method: 'GET',
1489
+ method: 'POST',
1422
1490
  path: api_path,
1423
1491
  headers: api_headers,
1424
1492
  params: api_params,
@@ -1436,13 +1504,13 @@ module Appwrite
1436
1504
  def get_status(
1437
1505
  database_id:
1438
1506
  )
1439
- api_path = '/mysql/{databaseId}/status'
1440
- .gsub('{databaseId}', database_id)
1441
-
1442
- if database_id.nil?
1507
+ if database_id.nil? || database_id == ''
1443
1508
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1444
1509
  end
1445
1510
 
1511
+ api_path = '/mysql/{databaseId}/status'
1512
+ .gsub('{databaseId}', database_id)
1513
+
1446
1514
  api_params = {}
1447
1515
 
1448
1516
  api_headers = {
@@ -1470,10 +1538,7 @@ module Appwrite
1470
1538
  database_id:,
1471
1539
  target_version:
1472
1540
  )
1473
- api_path = '/mysql/{databaseId}/upgrades'
1474
- .gsub('{databaseId}', database_id)
1475
-
1476
- if database_id.nil?
1541
+ if database_id.nil? || database_id == ''
1477
1542
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1478
1543
  end
1479
1544
 
@@ -1481,6 +1546,9 @@ module Appwrite
1481
1546
  raise Appwrite::Exception.new('Missing required parameter: "targetVersion"')
1482
1547
  end
1483
1548
 
1549
+ api_path = '/mysql/{databaseId}/upgrades'
1550
+ .gsub('{databaseId}', database_id)
1551
+
1484
1552
  api_params = {
1485
1553
  targetVersion: target_version,
1486
1554
  }