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
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "databaseId" => "", "name" => "", "enabled" => true, "documentSecurity" => false, "attributes" => [], "indexes" => [], "bytesMax" => 0, "bytesUsed" => 0 }.merge(map)
48
49
  Collection.new(
49
50
  id: map["$id"],
50
51
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "collections" => [] }.merge(map)
18
19
  CollectionList.new(
19
20
  total: map["total"],
20
21
  collections: map["collections"].map { |it| Collection.from(map: it) }
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  ColumnBigint.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  ColumnBoolean.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  ColumnDatetime.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "format" => "email" }.merge(map)
42
43
  ColumnEmail.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
27
  elements:,
28
28
  format:,
29
- default:
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "elements" => [], "format" => "enum" }.merge(map)
45
46
  ColumnEnum.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  ColumnFloat.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -24,7 +24,7 @@ module Appwrite
24
24
  error:,
25
25
  columns:,
26
26
  lengths:,
27
- orders:
27
+ orders: []
28
28
  )
29
29
  @id = id
30
30
  @created_at = created_at
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "key" => "", "type" => "", "status" => "", "error" => "", "columns" => [], "lengths" => [] }.merge(map)
42
43
  ColumnIndex.new(
43
44
  id: map["$id"],
44
45
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "indexes" => [] }.merge(map)
18
19
  ColumnIndexList.new(
19
20
  total: map["total"],
20
21
  indexes: map["indexes"].map { |it| ColumnIndex.from(map: it) }
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  ColumnInteger.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "format" => "ip" }.merge(map)
42
43
  ColumnIp.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  ColumnLine.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "columns" => [] }.merge(map)
18
19
  ColumnList.new(
19
20
  total: map["total"],
20
21
  columns: map["columns"]
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
- default:,
27
- encrypt:
26
+ default: nil,
27
+ encrypt: false
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  ColumnLongtext.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
- default:,
27
- encrypt:
26
+ default: nil,
27
+ encrypt: false
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  ColumnMediumtext.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  ColumnPoint.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  ColumnPolygon.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -24,7 +24,7 @@ module Appwrite
24
24
  status:,
25
25
  error:,
26
26
  required:,
27
- array:,
27
+ array: false,
28
28
  created_at:,
29
29
  updated_at:,
30
30
  related_table:,
@@ -51,6 +51,7 @@ module Appwrite
51
51
  end
52
52
 
53
53
  def self.from(map:)
54
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "relationType" => "", "twoWay" => false, "twoWayKey" => "", "onDelete" => "restrict", "side" => "" }.merge(map)
54
55
  ColumnRelationship.new(
55
56
  key: map["key"],
56
57
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
27
  size:,
28
- default:,
29
- encrypt:
28
+ default: nil,
29
+ encrypt: false
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "size" => 0 }.merge(map)
45
46
  ColumnString.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
- default:,
27
- encrypt:
26
+ default: nil,
27
+ encrypt: false
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  ColumnText.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "format" => "url" }.merge(map)
42
43
  ColumnUrl.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
27
  size:,
28
- default:,
29
- encrypt:
28
+ default: nil,
29
+ encrypt: false
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "size" => 0 }.merge(map)
45
46
  ColumnVarchar.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "name" => "", "code" => "" }.merge(map)
18
19
  Continent.new(
19
20
  name: map["name"],
20
21
  code: map["code"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "continents" => [] }.merge(map)
18
19
  ContinentList.new(
19
20
  total: map["total"],
20
21
  continents: map["continents"].map { |it| Continent.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "name" => "", "code" => "" }.merge(map)
18
19
  Country.new(
19
20
  name: map["name"],
20
21
  code: map["code"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "countries" => [] }.merge(map)
18
19
  CountryList.new(
19
20
  total: map["total"],
20
21
  countries: map["countries"].map { |it| Country.from(map: it) }
@@ -30,6 +30,7 @@ module Appwrite
30
30
  end
31
31
 
32
32
  def self.from(map:)
33
+ map = { "symbol" => "", "name" => "", "symbolNative" => "", "decimalDigits" => 0, "rounding" => 0, "code" => "", "namePlural" => "" }.merge(map)
33
34
  Currency.new(
34
35
  symbol: map["symbol"],
35
36
  name: map["name"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "currencies" => [] }.merge(map)
18
19
  CurrencyList.new(
19
20
  total: map["total"],
20
21
  currencies: map["currencies"].map { |it| Currency.from(map: it) }
@@ -26,15 +26,15 @@ module Appwrite
26
26
  updated_at:,
27
27
  enabled:,
28
28
  type:,
29
- status:,
30
- engine:,
31
- specification:,
32
- replicas:,
33
- error:,
34
- container_status:,
35
- lifecycle_state:,
36
- policies:,
37
- archives:
29
+ status: nil,
30
+ engine: nil,
31
+ specification: nil,
32
+ replicas: nil,
33
+ error: nil,
34
+ container_status: nil,
35
+ lifecycle_state: nil,
36
+ policies: nil,
37
+ archives: nil
38
38
  )
39
39
  @id = id
40
40
  @name = name
@@ -54,6 +54,7 @@ module Appwrite
54
54
  end
55
55
 
56
56
  def self.from(map:)
57
+ map = { "$id" => "", "name" => "", "$createdAt" => "", "$updatedAt" => "", "enabled" => true, "type" => "legacy" }.merge(map)
57
58
  Database.new(
58
59
  id: map["$id"],
59
60
  name: map["name"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "databases" => [] }.merge(map)
18
19
  DatabaseList.new(
19
20
  total: map["total"],
20
21
  databases: map["databases"].map { |it| Database.from(map: it) }
@@ -60,6 +60,7 @@ module Appwrite
60
60
  end
61
61
 
62
62
  def self.from(map:)
63
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "projectId" => "", "databaseId" => "", "specification" => "", "phase" => "pending", "attempt" => 0, "lastError" => "", "lagDocuments" => 0, "changelogWatermark" => 0, "verifiedAt" => "", "cutoverAt" => "", "soakUntil" => "", "autoCutover" => true, "cutoverRequested" => false, "paused" => false }.merge(map)
63
64
  DatabaseMigration.new(
64
65
  id: map["$id"],
65
66
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "migrations" => [] }.merge(map)
18
19
  DatabaseMigrationList.new(
19
20
  total: map["total"],
20
21
  migrations: map["migrations"].map { |it| DatabaseMigration.from(map: it) }
@@ -24,13 +24,13 @@ module Appwrite
24
24
  engine:,
25
25
  version:,
26
26
  uptime:,
27
- connections:,
27
+ connections: nil,
28
28
  sync_mode:,
29
- effective_sync_mode:,
29
+ effective_sync_mode: nil,
30
30
  sync_degraded:,
31
31
  sync_acknowledgements:,
32
32
  sync_standby_count:,
33
- sync_state_confirmed:,
33
+ sync_state_confirmed: nil,
34
34
  replicas:,
35
35
  volumes:
36
36
  )
@@ -51,13 +51,14 @@ module Appwrite
51
51
  end
52
52
 
53
53
  def self.from(map:)
54
+ map = { "health" => "unknown", "ready" => false, "engine" => "postgresql", "version" => "", "uptime" => 0, "syncMode" => "async", "syncDegraded" => false, "syncAcknowledgements" => 0, "syncStandbyCount" => 0, "replicas" => [], "volumes" => [] }.merge(map)
54
55
  DatabaseStatus.new(
55
56
  health: map["health"],
56
57
  ready: map["ready"],
57
58
  engine: map["engine"],
58
59
  version: map["version"],
59
60
  uptime: map["uptime"],
60
- connections: DatabaseStatusConnections.from(map: map["connections"]),
61
+ connections: map["connections"].nil? ? nil : DatabaseStatusConnections.from(map: map["connections"]),
61
62
  sync_mode: map["syncMode"],
62
63
  effective_sync_mode: map["effectiveSyncMode"],
63
64
  sync_degraded: map["syncDegraded"],
@@ -76,7 +77,7 @@ module Appwrite
76
77
  "engine": @engine,
77
78
  "version": @version,
78
79
  "uptime": @uptime,
79
- "connections": @connections.to_map,
80
+ "connections": @connections&.to_map,
80
81
  "syncMode": @sync_mode,
81
82
  "effectiveSyncMode": @effective_sync_mode,
82
83
  "syncDegraded": @sync_degraded,
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "current" => 0, "max" => 100 }.merge(map)
18
19
  DatabaseStatusConnections.new(
19
20
  current: map["current"],
20
21
  max: map["max"]