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
@@ -18,7 +18,7 @@ module Appwrite
18
18
  status:,
19
19
  error:,
20
20
  required:,
21
- array:,
21
+ array: false,
22
22
  created_at:,
23
23
  updated_at:
24
24
  )
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
36
37
  AttributeObject.new(
37
38
  key: map["key"],
38
39
  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
  AttributePoint.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
  AttributePolygon.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_collection:,
@@ -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
  AttributeRelationship.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
  AttributeString.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
  AttributeText.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
  AttributeUrl.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
  AttributeVarchar.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -19,7 +19,7 @@ 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
25
  size:
@@ -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" => "", "size" => 0 }.merge(map)
39
40
  AttributeVector.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -21,14 +21,14 @@ module Appwrite
21
21
  created_at:,
22
22
  updated_at:,
23
23
  policy_id:,
24
- size:,
24
+ size: nil,
25
25
  status:,
26
- started_at:,
26
+ started_at: nil,
27
27
  migration_id:,
28
28
  services:,
29
29
  resources:,
30
- resource_id:,
31
- resource_type:
30
+ resource_id: nil,
31
+ resource_type: nil
32
32
  )
33
33
  @id = id
34
34
  @created_at = created_at
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "policyId" => "", "status" => "", "migrationId" => "", "services" => [], "resources" => [] }.merge(map)
48
49
  BackupArchive.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, "archives" => [] }.merge(map)
18
19
  BackupArchiveList.new(
19
20
  total: map["total"],
20
21
  archives: map["archives"].map { |it| BackupArchive.from(map: it) }
@@ -23,8 +23,8 @@ module Appwrite
23
23
  updated_at:,
24
24
  services:,
25
25
  resources:,
26
- resource_id:,
27
- resource_type:,
26
+ resource_id: nil,
27
+ resource_type: nil,
28
28
  retention:,
29
29
  schedule:,
30
30
  type:,
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "name" => "", "$createdAt" => "", "$updatedAt" => "", "services" => [], "resources" => [], "retention" => 1, "schedule" => "0 * * * *", "type" => "full", "enabled" => false }.merge(map)
48
49
  BackupPolicy.new(
49
50
  id: map["$id"],
50
51
  name: map["name"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "policies" => [] }.merge(map)
18
19
  BackupPolicyList.new(
19
20
  total: map["total"],
20
21
  policies: map["policies"].map { |it| BackupPolicy.from(map: it) }
@@ -22,7 +22,7 @@ module Appwrite
22
22
  archive_id:,
23
23
  policy_id:,
24
24
  status:,
25
- started_at:,
25
+ started_at: nil,
26
26
  migration_id:,
27
27
  services:,
28
28
  resources:,
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "archiveId" => "", "policyId" => "", "status" => "", "migrationId" => "", "services" => [], "resources" => [], "options" => {} }.merge(map)
45
46
  BackupRestoration.new(
46
47
  id: map["$id"],
47
48
  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, "restorations" => [] }.merge(map)
18
19
  BackupRestorationList.new(
19
20
  total: map["total"],
20
21
  restorations: map["restorations"].map { |it| BackupRestoration.from(map: it) }
@@ -13,14 +13,14 @@ module Appwrite
13
13
  attr_reader :budget_limit
14
14
 
15
15
  def initialize(
16
- bandwidth:,
17
- storage:,
18
- users:,
19
- executions:,
20
- gb_hours:,
21
- image_transformations:,
22
- auth_phone:,
23
- budget_limit:
16
+ bandwidth: 0,
17
+ storage: 0,
18
+ users: 0,
19
+ executions: 0,
20
+ gb_hours: 0,
21
+ image_transformations: 0,
22
+ auth_phone: 0,
23
+ budget_limit: 0
24
24
  )
25
25
  @bandwidth = bandwidth
26
26
  @storage = storage
@@ -16,6 +16,7 @@ module Appwrite
16
16
  attr_reader :members
17
17
  attr_reader :webhooks
18
18
  attr_reader :waf_rules
19
+ attr_reader :environments
19
20
  attr_reader :projects
20
21
  attr_reader :platforms
21
22
  attr_reader :users
@@ -50,6 +51,7 @@ module Appwrite
50
51
  attr_reader :email_branding
51
52
  attr_reader :requires_payment_method
52
53
  attr_reader :requires_billing_address
54
+ attr_reader :eligible_countries
53
55
  attr_reader :is_available
54
56
  attr_reader :self_service
55
57
  attr_reader :premium_support
@@ -88,9 +90,10 @@ module Appwrite
88
90
  storage:,
89
91
  image_transformations:,
90
92
  screenshots_generated:,
91
- members:,
93
+ members: 0,
92
94
  webhooks:,
93
95
  waf_rules:,
96
+ environments:,
94
97
  projects:,
95
98
  platforms:,
96
99
  users:,
@@ -112,19 +115,20 @@ module Appwrite
112
115
  topics:,
113
116
  auth_phone:,
114
117
  domains:,
115
- activity_logs:,
118
+ activity_logs: 1,
116
119
  usage_logs:,
117
- usage_logs_intervals:,
118
- usage_aggregate_only_metrics:,
120
+ usage_logs_intervals: ["15m", "1h", "1d"],
121
+ usage_aggregate_only_metrics: [],
119
122
  project_inactivity_days:,
120
123
  alert_limit:,
121
- usage:,
124
+ usage: nil,
122
125
  addons:,
123
126
  budget_cap_enabled:,
124
127
  custom_smtp:,
125
128
  email_branding:,
126
129
  requires_payment_method:,
127
130
  requires_billing_address:,
131
+ eligible_countries: [],
128
132
  is_available:,
129
133
  self_service:,
130
134
  premium_support:,
@@ -138,19 +142,19 @@ module Appwrite
138
142
  supports_free_email_validation:,
139
143
  supports_corporate_email_validation:,
140
144
  supports_project_specific_roles:,
141
- backups_enabled:,
145
+ backups_enabled: true,
142
146
  usage_per_project:,
143
147
  supported_addons:,
144
- backup_policies:,
148
+ backup_policies: 0,
145
149
  deployment_size:,
146
150
  build_size:,
147
151
  functions_interval_minimum:,
148
152
  databases_allow_encrypt:,
149
- limits:,
153
+ limits: nil,
150
154
  group:,
151
- program:,
155
+ program: nil,
152
156
  database_compute_credit:,
153
- dedicated_databases:
157
+ dedicated_databases: nil
154
158
  )
155
159
  @id = id
156
160
  @name = name
@@ -165,6 +169,7 @@ module Appwrite
165
169
  @members = members
166
170
  @webhooks = webhooks
167
171
  @waf_rules = waf_rules
172
+ @environments = environments
168
173
  @projects = projects
169
174
  @platforms = platforms
170
175
  @users = users
@@ -199,6 +204,7 @@ module Appwrite
199
204
  @email_branding = email_branding
200
205
  @requires_payment_method = requires_payment_method
201
206
  @requires_billing_address = requires_billing_address
207
+ @eligible_countries = eligible_countries
202
208
  @is_available = is_available
203
209
  @self_service = self_service
204
210
  @premium_support = premium_support
@@ -228,6 +234,7 @@ module Appwrite
228
234
  end
229
235
 
230
236
  def self.from(map:)
237
+ map = { "$id" => "", "name" => "", "desc" => "", "order" => 0, "price" => 0, "trial" => 0, "bandwidth" => 0, "storage" => 0, "imageTransformations" => 0, "screenshotsGenerated" => 0, "webhooks" => 0, "wafRules" => 0, "environments" => 0, "projects" => 0, "platforms" => 0, "users" => 0, "teams" => 0, "databases" => 0, "databasesReads" => 0, "databasesWrites" => 0, "databasesBatchSize" => 0, "buckets" => 0, "fileSize" => 0, "functions" => 0, "sites" => 0, "executions" => 0, "executionsRetentionCount" => 1000, "GBHours" => 0, "realtime" => 0, "realtimeMessages" => 0, "messages" => 0, "topics" => 0, "authPhone" => 0, "domains" => 0, "usageLogs" => 0, "projectInactivityDays" => 0, "alertLimit" => 80, "budgetCapEnabled" => false, "customSmtp" => false, "emailBranding" => false, "requiresPaymentMethod" => true, "requiresBillingAddress" => false, "isAvailable" => true, "selfService" => true, "premiumSupport" => true, "budgeting" => true, "supportsMockNumbers" => true, "supportsOrganizationRoles" => true, "supportsCredits" => false, "supportsDedicatedDatabases" => false, "supportsDisposableEmailValidation" => false, "supportsCanonicalEmailValidation" => false, "supportsFreeEmailValidation" => false, "supportsCorporateEmailValidation" => false, "supportsProjectSpecificRoles" => false, "usagePerProject" => true, "deploymentSize" => 0, "buildSize" => 0, "functionsIntervalMinimum" => 0, "databasesAllowEncrypt" => false, "databaseComputeCredit" => 0 }.merge(map)
231
238
  BillingPlan.new(
232
239
  id: map["$id"],
233
240
  name: map["name"],
@@ -242,6 +249,7 @@ module Appwrite
242
249
  members: map["members"],
243
250
  webhooks: map["webhooks"],
244
251
  waf_rules: map["wafRules"],
252
+ environments: map["environments"],
245
253
  projects: map["projects"],
246
254
  platforms: map["platforms"],
247
255
  users: map["users"],
@@ -269,13 +277,14 @@ module Appwrite
269
277
  usage_aggregate_only_metrics: map["usageAggregateOnlyMetrics"],
270
278
  project_inactivity_days: map["projectInactivityDays"],
271
279
  alert_limit: map["alertLimit"],
272
- usage: UsageBillingPlan.from(map: map["usage"]),
280
+ usage: map["usage"].nil? ? nil : UsageBillingPlan.from(map: map["usage"]),
273
281
  addons: BillingPlanAddon.from(map: map["addons"]),
274
282
  budget_cap_enabled: map["budgetCapEnabled"],
275
283
  custom_smtp: map["customSmtp"],
276
284
  email_branding: map["emailBranding"],
277
285
  requires_payment_method: map["requiresPaymentMethod"],
278
286
  requires_billing_address: map["requiresBillingAddress"],
287
+ eligible_countries: map["eligibleCountries"],
279
288
  is_available: map["isAvailable"],
280
289
  self_service: map["selfService"],
281
290
  premium_support: map["premiumSupport"],
@@ -320,6 +329,7 @@ module Appwrite
320
329
  "members": @members,
321
330
  "webhooks": @webhooks,
322
331
  "wafRules": @waf_rules,
332
+ "environments": @environments,
323
333
  "projects": @projects,
324
334
  "platforms": @platforms,
325
335
  "users": @users,
@@ -347,13 +357,14 @@ module Appwrite
347
357
  "usageAggregateOnlyMetrics": @usage_aggregate_only_metrics,
348
358
  "projectInactivityDays": @project_inactivity_days,
349
359
  "alertLimit": @alert_limit,
350
- "usage": @usage.to_map,
360
+ "usage": @usage&.to_map,
351
361
  "addons": @addons.to_map,
352
362
  "budgetCapEnabled": @budget_cap_enabled,
353
363
  "customSmtp": @custom_smtp,
354
364
  "emailBranding": @email_branding,
355
365
  "requiresPaymentMethod": @requires_payment_method,
356
366
  "requiresBillingAddress": @requires_billing_address,
367
+ "eligibleCountries": @eligible_countries,
357
368
  "isAvailable": @is_available,
358
369
  "selfService": @self_service,
359
370
  "premiumSupport": @premium_support,
@@ -387,7 +398,8 @@ module Appwrite
387
398
 
388
399
  def validate_group(group)
389
400
  valid_group = [
390
- Appwrite::Enums::BillingPlanGroup::STARTER,
401
+ Appwrite::Enums::BillingPlanGroup::FREE,
402
+ Appwrite::Enums::BillingPlanGroup::START,
391
403
  Appwrite::Enums::BillingPlanGroup::PRO,
392
404
  Appwrite::Enums::BillingPlanGroup::SCALE,
393
405
  ]
@@ -7,8 +7,8 @@ module Appwrite
7
7
  attr_reader :projects
8
8
 
9
9
  def initialize(
10
- seats:,
11
- projects:
10
+ seats: nil,
11
+ projects: nil
12
12
  )
13
13
  @seats = seats
14
14
  @projects = projects
@@ -17,7 +17,7 @@ module Appwrite
17
17
  plan_included:,
18
18
  limit:,
19
19
  type:,
20
- currency:,
20
+ currency: nil,
21
21
  price:,
22
22
  value:,
23
23
  invoice_desc:
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "supported" => false, "planIncluded" => 0, "limit" => 0, "type" => "numeric", "price" => 0, "value" => 0, "invoiceDesc" => "" }.merge(map)
36
37
  BillingPlanAddonDetails.new(
37
38
  supported: map["supported"],
38
39
  plan_included: map["planIncluded"],
@@ -24,25 +24,25 @@ module Appwrite
24
24
  attr_reader :allowed_sync_modes
25
25
 
26
26
  def initialize(
27
- min_cpu:,
28
- max_cpu:,
29
- min_memory_mb:,
30
- max_memory_mb:,
31
- min_storage_gb:,
32
- max_storage_gb:,
33
- max_replicas:,
34
- max_connections:,
35
- max_ip_allowlist_size:,
36
- max_extensions:,
37
- max_backup_retention_days:,
38
- max_pitr_retention_days:,
39
- max_sql_api_max_rows:,
40
- max_sql_api_max_bytes:,
41
- max_sql_api_timeout_seconds:,
42
- max_sql_api_allowed_statements:,
43
- allowed_sql_statements:,
44
- allowed_storage_classes:,
45
- allowed_sync_modes:
27
+ min_cpu: 0,
28
+ max_cpu: 0,
29
+ min_memory_mb: 0,
30
+ max_memory_mb: 0,
31
+ min_storage_gb: 0,
32
+ max_storage_gb: 0,
33
+ max_replicas: 0,
34
+ max_connections: 0,
35
+ max_ip_allowlist_size: 0,
36
+ max_extensions: 0,
37
+ max_backup_retention_days: 0,
38
+ max_pitr_retention_days: 0,
39
+ max_sql_api_max_rows: 0,
40
+ max_sql_api_max_bytes: 0,
41
+ max_sql_api_timeout_seconds: 0,
42
+ max_sql_api_allowed_statements: 0,
43
+ allowed_sql_statements: [],
44
+ allowed_storage_classes: [],
45
+ allowed_sync_modes: []
46
46
  )
47
47
  @min_cpu = min_cpu
48
48
  @max_cpu = max_cpu
@@ -7,8 +7,8 @@ module Appwrite
7
7
  attr_reader :daily_credits
8
8
 
9
9
  def initialize(
10
- credits:,
11
- daily_credits:
10
+ credits: 0,
11
+ daily_credits: 0
12
12
  )
13
13
  @credits = credits
14
14
  @daily_credits = daily_credits
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "baa" => false, "premiumGeoDB" => false, "premiumGeoDBOrg" => false }.merge(map)
21
22
  BillingPlanSupportedAddons.new(
22
23
  baa: map["baa"],
23
24
  premium_geo_db: map["premiumGeoDB"],
@@ -7,53 +7,30 @@ module Appwrite
7
7
  attr_reader :resource_type
8
8
  attr_reader :resource_id
9
9
  attr_reader :mode
10
- attr_reader :reason
11
10
  attr_reader :expired_at
12
- attr_reader :project_name
13
- attr_reader :region
14
- attr_reader :organization_name
15
- attr_reader :organization_id
16
- attr_reader :billing_plan
17
11
 
18
12
  def initialize(
19
13
  created_at:,
20
14
  resource_type:,
21
15
  resource_id:,
22
16
  mode:,
23
- reason:,
24
- expired_at:,
25
- project_name:,
26
- region:,
27
- organization_name:,
28
- organization_id:,
29
- billing_plan:
17
+ expired_at: nil
30
18
  )
31
19
  @created_at = created_at
32
20
  @resource_type = resource_type
33
21
  @resource_id = resource_id
34
22
  @mode = mode
35
- @reason = reason
36
23
  @expired_at = expired_at
37
- @project_name = project_name
38
- @region = region
39
- @organization_name = organization_name
40
- @organization_id = organization_id
41
- @billing_plan = billing_plan
42
24
  end
43
25
 
44
26
  def self.from(map:)
27
+ map = { "$createdAt" => "", "resourceType" => "", "resourceId" => "", "mode" => "full" }.merge(map)
45
28
  Block.new(
46
29
  created_at: map["$createdAt"],
47
30
  resource_type: map["resourceType"],
48
31
  resource_id: map["resourceId"],
49
32
  mode: map["mode"],
50
- reason: map["reason"],
51
- expired_at: map["expiredAt"],
52
- project_name: map["projectName"],
53
- region: map["region"],
54
- organization_name: map["organizationName"],
55
- organization_id: map["organizationId"],
56
- billing_plan: map["billingPlan"]
33
+ expired_at: map["expiredAt"]
57
34
  )
58
35
  end
59
36
 
@@ -63,13 +40,7 @@ module Appwrite
63
40
  "resourceType": @resource_type,
64
41
  "resourceId": @resource_id,
65
42
  "mode": @mode,
66
- "reason": @reason,
67
- "expiredAt": @expired_at,
68
- "projectName": @project_name,
69
- "region": @region,
70
- "organizationName": @organization_name,
71
- "organizationId": @organization_id,
72
- "billingPlan": @billing_plan
43
+ "expiredAt": @expired_at
73
44
  }
74
45
  end
75
46
  end
@@ -51,6 +51,7 @@ module Appwrite
51
51
  end
52
52
 
53
53
  def self.from(map:)
54
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "fileSecurity" => false, "name" => "", "enabled" => true, "maximumFileSize" => 0, "allowedFileExtensions" => [], "compression" => "", "encryption" => true, "antivirus" => true, "transformations" => true, "totalSize" => 0 }.merge(map)
54
55
  Bucket.new(
55
56
  id: map["$id"],
56
57
  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, "buckets" => [] }.merge(map)
18
19
  BucketList.new(
19
20
  total: map["total"],
20
21
  buckets: map["buckets"].map { |it| Bucket.from(map: it) }