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 = '/postgresql'
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 = '/postgresql'
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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{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 = '/postgresql/{databaseId}/executions'
941
+ .gsub('{databaseId}', database_id)
942
+
939
943
  api_params = {
940
944
  sql: sql,
941
945
  bindings: bindings,
@@ -965,13 +969,13 @@ module Appwrite
965
969
  def list_extensions(
966
970
  database_id:
967
971
  )
968
- api_path = '/postgresql/{databaseId}/extensions'
969
- .gsub('{databaseId}', database_id)
970
-
971
- if database_id.nil?
972
+ if database_id.nil? || database_id == ''
972
973
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
973
974
  end
974
975
 
976
+ api_path = '/postgresql/{databaseId}/extensions'
977
+ .gsub('{databaseId}', database_id)
978
+
975
979
  api_params = {}
976
980
 
977
981
  api_headers = {
@@ -999,10 +1003,7 @@ module Appwrite
999
1003
  database_id:,
1000
1004
  name:
1001
1005
  )
1002
- api_path = '/postgresql/{databaseId}/extensions'
1003
- .gsub('{databaseId}', database_id)
1004
-
1005
- if database_id.nil?
1006
+ if database_id.nil? || database_id == ''
1006
1007
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1007
1008
  end
1008
1009
 
@@ -1010,6 +1011,9 @@ module Appwrite
1010
1011
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1011
1012
  end
1012
1013
 
1014
+ api_path = '/postgresql/{databaseId}/extensions'
1015
+ .gsub('{databaseId}', database_id)
1016
+
1013
1017
  api_params = {
1014
1018
  name: name,
1015
1019
  }
@@ -1040,18 +1044,18 @@ module Appwrite
1040
1044
  database_id:,
1041
1045
  extension_name:
1042
1046
  )
1043
- api_path = '/postgresql/{databaseId}/extensions/{extensionName}'
1044
- .gsub('{databaseId}', database_id)
1045
- .gsub('{extensionName}', extension_name)
1046
-
1047
- if database_id.nil?
1047
+ if database_id.nil? || database_id == ''
1048
1048
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1049
1049
  end
1050
1050
 
1051
- if extension_name.nil?
1051
+ if extension_name.nil? || extension_name == ''
1052
1052
  raise Appwrite::Exception.new('Missing required parameter: "extensionName"')
1053
1053
  end
1054
1054
 
1055
+ api_path = '/postgresql/{databaseId}/extensions/{extensionName}'
1056
+ .gsub('{databaseId}', database_id)
1057
+ .gsub('{extensionName}', extension_name)
1058
+
1055
1059
  api_params = {}
1056
1060
 
1057
1061
  api_headers = {
@@ -1087,13 +1091,13 @@ module Appwrite
1087
1091
  database_id:,
1088
1092
  target_replica_id: nil
1089
1093
  )
1090
- api_path = '/postgresql/{databaseId}/failovers'
1091
- .gsub('{databaseId}', database_id)
1092
-
1093
- if database_id.nil?
1094
+ if database_id.nil? || database_id == ''
1094
1095
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1095
1096
  end
1096
1097
 
1098
+ api_path = '/postgresql/{databaseId}/failovers'
1099
+ .gsub('{databaseId}', database_id)
1100
+
1097
1101
  api_params = {
1098
1102
  targetReplicaId: target_replica_id,
1099
1103
  }
@@ -1127,10 +1131,7 @@ module Appwrite
1127
1131
  day:,
1128
1132
  hour_utc:
1129
1133
  )
1130
- api_path = '/postgresql/{databaseId}/maintenance'
1131
- .gsub('{databaseId}', database_id)
1132
-
1133
- if database_id.nil?
1134
+ if database_id.nil? || database_id == ''
1134
1135
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1135
1136
  end
1136
1137
 
@@ -1142,6 +1143,9 @@ module Appwrite
1142
1143
  raise Appwrite::Exception.new('Missing required parameter: "hourUtc"')
1143
1144
  end
1144
1145
 
1146
+ api_path = '/postgresql/{databaseId}/maintenance'
1147
+ .gsub('{databaseId}', database_id)
1148
+
1145
1149
  api_params = {
1146
1150
  day: day,
1147
1151
  hourUtc: hour_utc,
@@ -1177,10 +1181,7 @@ module Appwrite
1177
1181
  target_type:,
1178
1182
  specification: nil
1179
1183
  )
1180
- api_path = '/postgresql/{databaseId}/migrations'
1181
- .gsub('{databaseId}', database_id)
1182
-
1183
- if database_id.nil?
1184
+ if database_id.nil? || database_id == ''
1184
1185
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1185
1186
  end
1186
1187
 
@@ -1188,6 +1189,9 @@ module Appwrite
1188
1189
  raise Appwrite::Exception.new('Missing required parameter: "targetType"')
1189
1190
  end
1190
1191
 
1192
+ api_path = '/postgresql/{databaseId}/migrations'
1193
+ .gsub('{databaseId}', database_id)
1194
+
1191
1195
  api_params = {
1192
1196
  targetType: target_type,
1193
1197
  specification: specification,
@@ -1225,13 +1229,13 @@ module Appwrite
1225
1229
  limit: nil,
1226
1230
  offset: nil
1227
1231
  )
1228
- api_path = '/postgresql/{databaseId}/operations'
1229
- .gsub('{databaseId}', database_id)
1230
-
1231
- if database_id.nil?
1232
+ if database_id.nil? || database_id == ''
1232
1233
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1233
1234
  end
1234
1235
 
1236
+ api_path = '/postgresql/{databaseId}/operations'
1237
+ .gsub('{databaseId}', database_id)
1238
+
1235
1239
  api_params = {
1236
1240
  status: status,
1237
1241
  limit: limit,
@@ -1261,13 +1265,13 @@ module Appwrite
1261
1265
  def get_pitr(
1262
1266
  database_id:
1263
1267
  )
1264
- api_path = '/postgresql/{databaseId}/pitr'
1265
- .gsub('{databaseId}', database_id)
1266
-
1267
- if database_id.nil?
1268
+ if database_id.nil? || database_id == ''
1268
1269
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1269
1270
  end
1270
1271
 
1272
+ api_path = '/postgresql/{databaseId}/pitr'
1273
+ .gsub('{databaseId}', database_id)
1274
+
1271
1275
  api_params = {}
1272
1276
 
1273
1277
  api_headers = {
@@ -1293,13 +1297,13 @@ module Appwrite
1293
1297
  def get_pooler(
1294
1298
  database_id:
1295
1299
  )
1296
- api_path = '/postgresql/{databaseId}/pooler'
1297
- .gsub('{databaseId}', database_id)
1298
-
1299
- if database_id.nil?
1300
+ if database_id.nil? || database_id == ''
1300
1301
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1301
1302
  end
1302
1303
 
1304
+ api_path = '/postgresql/{databaseId}/pooler'
1305
+ .gsub('{databaseId}', database_id)
1306
+
1303
1307
  api_params = {}
1304
1308
 
1305
1309
  api_headers = {
@@ -1323,7 +1327,7 @@ module Appwrite
1323
1327
  # @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.
1324
1328
  # @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.
1325
1329
  # @param [Integer] default_pool_size Default pool size per user.
1326
- # @param [] read_write_splitting Route SELECTs to HA replicas, writes and locked reads to the primary. Defaults to true when HA is enabled.
1330
+ # @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.
1327
1331
  # @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).
1328
1332
  # @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.
1329
1333
  # @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).
@@ -1341,13 +1345,13 @@ module Appwrite
1341
1345
  pooler_memory_request: nil,
1342
1346
  pooler_memory_limit: nil
1343
1347
  )
1344
- api_path = '/postgresql/{databaseId}/pooler'
1345
- .gsub('{databaseId}', database_id)
1346
-
1347
- if database_id.nil?
1348
+ if database_id.nil? || database_id == ''
1348
1349
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1349
1350
  end
1350
1351
 
1352
+ api_path = '/postgresql/{databaseId}/pooler'
1353
+ .gsub('{databaseId}', database_id)
1354
+
1351
1355
  api_params = {
1352
1356
  mode: mode,
1353
1357
  maxConnections: max_connections,
@@ -1383,13 +1387,13 @@ module Appwrite
1383
1387
  def get_replicas(
1384
1388
  database_id:
1385
1389
  )
1386
- api_path = '/postgresql/{databaseId}/replicas'
1387
- .gsub('{databaseId}', database_id)
1388
-
1389
- if database_id.nil?
1390
+ if database_id.nil? || database_id == ''
1390
1391
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1391
1392
  end
1392
1393
 
1394
+ api_path = '/postgresql/{databaseId}/replicas'
1395
+ .gsub('{databaseId}', database_id)
1396
+
1393
1397
  api_params = {}
1394
1398
 
1395
1399
  api_headers = {
@@ -1423,13 +1427,13 @@ module Appwrite
1423
1427
  limit: nil,
1424
1428
  offset: nil
1425
1429
  )
1426
- api_path = '/postgresql/{databaseId}/restorations'
1427
- .gsub('{databaseId}', database_id)
1428
-
1429
- if database_id.nil?
1430
+ if database_id.nil? || database_id == ''
1430
1431
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1431
1432
  end
1432
1433
 
1434
+ api_path = '/postgresql/{databaseId}/restorations'
1435
+ .gsub('{databaseId}', database_id)
1436
+
1433
1437
  api_params = {
1434
1438
  status: status,
1435
1439
  type: type,
@@ -1456,11 +1460,25 @@ module Appwrite
1456
1460
  # an ISO 8601 datetime. PITR requires the database to have PITR enabled and
1457
1461
  # is only available for enterprise databases.
1458
1462
  #
1463
+ # By default the backup is replayed over the database it was taken from. Pass
1464
+ # `restoreMode` as `clone` to recover it onto a second workload beside this
1465
+ # database instead: this database keeps serving its own data while the clone
1466
+ # is filled, and the switch happens as soon as the clone is ready, on the
1467
+ # endpoint and credentials it already had. Pass `autoPromote` as false to
1468
+ # hold the clone until you promote it yourself. Pass `restoreMode` as `copy`
1469
+ # to recover onto a separate database with its own endpoint, either one you
1470
+ # name with `targetDatabaseId` or one provisioned as a copy of this
1471
+ # database's engine, version, specification and replicas. Neither mode is
1472
+ # available for a point-in-time recovery or an incremental backup.
1473
+ #
1459
1474
  # @param [String] database_id Database ID.
1460
1475
  # @param [String] type Restoration type. Allowed values: backup, pitr. Use "backup" to restore from a specific backup, or "pitr" for point-in-time recovery.
1461
1476
  # @param [String] backup_id Backup ID to restore from (required for backup type).
1462
- # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version.
1477
+ # @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.
1463
1478
  # @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.
1479
+ # @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.
1480
+ # @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.
1481
+ # @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.
1464
1482
  #
1465
1483
  # @return [DedicatedDatabaseRestoration]
1466
1484
  def create_restoration(
@@ -1468,20 +1486,26 @@ module Appwrite
1468
1486
  type: nil,
1469
1487
  backup_id: nil,
1470
1488
  target_database_id: nil,
1471
- target_time: nil
1489
+ target_time: nil,
1490
+ restore_mode: nil,
1491
+ target_name: nil,
1492
+ auto_promote: nil
1472
1493
  )
1473
- api_path = '/postgresql/{databaseId}/restorations'
1474
- .gsub('{databaseId}', database_id)
1475
-
1476
- if database_id.nil?
1494
+ if database_id.nil? || database_id == ''
1477
1495
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1478
1496
  end
1479
1497
 
1498
+ api_path = '/postgresql/{databaseId}/restorations'
1499
+ .gsub('{databaseId}', database_id)
1500
+
1480
1501
  api_params = {
1481
1502
  type: type,
1482
1503
  backupId: backup_id,
1483
1504
  targetDatabaseId: target_database_id,
1484
1505
  targetTime: target_time,
1506
+ restoreMode: restore_mode,
1507
+ targetName: target_name,
1508
+ autoPromote: auto_promote,
1485
1509
  }
1486
1510
 
1487
1511
  api_headers = {
@@ -1510,27 +1534,71 @@ module Appwrite
1510
1534
  database_id:,
1511
1535
  restoration_id:
1512
1536
  )
1537
+ if database_id.nil? || database_id == ''
1538
+ raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1539
+ end
1540
+
1541
+ if restoration_id.nil? || restoration_id == ''
1542
+ raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1543
+ end
1544
+
1513
1545
  api_path = '/postgresql/{databaseId}/restorations/{restorationId}'
1514
1546
  .gsub('{databaseId}', database_id)
1515
1547
  .gsub('{restorationId}', restoration_id)
1516
1548
 
1517
- if database_id.nil?
1549
+ api_params = {}
1550
+
1551
+ api_headers = {
1552
+ "X-Appwrite-Project": @client.get_config('project'),
1553
+ "accept": 'application/json',
1554
+ }
1555
+
1556
+ @client.call(
1557
+ method: 'GET',
1558
+ path: api_path,
1559
+ headers: api_headers,
1560
+ params: api_params,
1561
+ response_type: Models::DedicatedDatabaseRestoration
1562
+ )
1563
+ end
1564
+
1565
+ # Switch the database over to the clone a restoration recovered. The database
1566
+ # keeps
1567
+ # its endpoint and credentials; clients reconnect once. Writes made after the
1568
+ # recovery point are discarded, and the side being replaced is retained
1569
+ # briefly so
1570
+ # the switch can be reversed.
1571
+ #
1572
+ # @param [String] database_id Database ID.
1573
+ # @param [String] restoration_id Restoration ID.
1574
+ #
1575
+ # @return [DedicatedDatabaseRestoration]
1576
+ def promote_restoration(
1577
+ database_id:,
1578
+ restoration_id:
1579
+ )
1580
+ if database_id.nil? || database_id == ''
1518
1581
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1519
1582
  end
1520
1583
 
1521
- if restoration_id.nil?
1584
+ if restoration_id.nil? || restoration_id == ''
1522
1585
  raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1523
1586
  end
1524
1587
 
1588
+ api_path = '/postgresql/{databaseId}/restorations/{restorationId}/promotions'
1589
+ .gsub('{databaseId}', database_id)
1590
+ .gsub('{restorationId}', restoration_id)
1591
+
1525
1592
  api_params = {}
1526
1593
 
1527
1594
  api_headers = {
1528
1595
  "X-Appwrite-Project": @client.get_config('project'),
1596
+ "content-type": 'application/json',
1529
1597
  "accept": 'application/json',
1530
1598
  }
1531
1599
 
1532
1600
  @client.call(
1533
- method: 'GET',
1601
+ method: 'POST',
1534
1602
  path: api_path,
1535
1603
  headers: api_headers,
1536
1604
  params: api_params,
@@ -1548,13 +1616,13 @@ module Appwrite
1548
1616
  def get_status(
1549
1617
  database_id:
1550
1618
  )
1551
- api_path = '/postgresql/{databaseId}/status'
1552
- .gsub('{databaseId}', database_id)
1553
-
1554
- if database_id.nil?
1619
+ if database_id.nil? || database_id == ''
1555
1620
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1556
1621
  end
1557
1622
 
1623
+ api_path = '/postgresql/{databaseId}/status'
1624
+ .gsub('{databaseId}', database_id)
1625
+
1558
1626
  api_params = {}
1559
1627
 
1560
1628
  api_headers = {
@@ -1582,10 +1650,7 @@ module Appwrite
1582
1650
  database_id:,
1583
1651
  target_version:
1584
1652
  )
1585
- api_path = '/postgresql/{databaseId}/upgrades'
1586
- .gsub('{databaseId}', database_id)
1587
-
1588
- if database_id.nil?
1653
+ if database_id.nil? || database_id == ''
1589
1654
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1590
1655
  end
1591
1656
 
@@ -1593,6 +1658,9 @@ module Appwrite
1593
1658
  raise Appwrite::Exception.new('Missing required parameter: "targetVersion"')
1594
1659
  end
1595
1660
 
1661
+ api_path = '/postgresql/{databaseId}/upgrades'
1662
+ .gsub('{databaseId}', database_id)
1663
+
1596
1664
  api_params = {
1597
1665
  targetVersion: target_version,
1598
1666
  }