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
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "$id" => "", "enabled" => true }.merge(map)
18
19
  PolicySessionInvalidation.new(
19
20
  id: map["$id"],
20
21
  enabled: map["enabled"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "$id" => "", "total" => 0 }.merge(map)
18
19
  PolicySessionLimit.new(
19
20
  id: map["$id"],
20
21
  total: map["total"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "$id" => "", "total" => 0 }.merge(map)
18
19
  PolicyUserLimit.new(
19
20
  id: map["$id"],
20
21
  total: map["total"]
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "key" => "", "name" => "", "description" => "", "category" => "" }.merge(map)
24
25
  PostgresExtension.new(
25
26
  key: map["key"],
26
27
  name: map["name"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  updated_at:,
20
20
  permissions:,
21
21
  user_id:,
22
- status:,
22
+ status: nil,
23
23
  source:,
24
- expires_at:,
25
- metadata:
24
+ expires_at: nil,
25
+ metadata: nil
26
26
  )
27
27
  @id = id
28
28
  @created_at = created_at
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "userId" => "", "source" => "" }.merge(map)
39
40
  Presence.new(
40
41
  id: map["$id"],
41
42
  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, "presences" => [] }.merge(map)
18
19
  PresenceList.new(
19
20
  total: map["total"],
20
21
  presences: map["presences"].map { |it| Presence.from(map: it) }
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "title" => "", "description" => "", "tag" => "", "icon" => "", "url" => "", "active" => true, "external" => true, "billingPlanId" => "" }.merge(map)
39
40
  Program.new(
40
41
  id: map["$id"],
41
42
  title: map["title"],
@@ -9,7 +9,6 @@ module Appwrite
9
9
  attr_reader :name
10
10
  attr_reader :team_id
11
11
  attr_reader :region
12
- attr_reader :dev_keys
13
12
  attr_reader :smtp_enabled
14
13
  attr_reader :smtp_sender_name
15
14
  attr_reader :smtp_sender_email
@@ -31,7 +30,10 @@ module Appwrite
31
30
  attr_reader :blocks
32
31
  attr_reader :console_accessed_at
33
32
  attr_reader :waf_enabled
33
+ attr_reader :parent_id
34
34
  attr_reader :billing_limits
35
+ attr_reader :first_accessed_at
36
+ attr_reader :mcp_accessed_at
35
37
  attr_reader :o_auth2_server_enabled
36
38
  attr_reader :o_auth2_server_authorization_url
37
39
  attr_reader :o_auth2_server_scopes
@@ -57,7 +59,6 @@ module Appwrite
57
59
  name:,
58
60
  team_id:,
59
61
  region:,
60
- dev_keys:,
61
62
  smtp_enabled:,
62
63
  smtp_sender_name:,
63
64
  smtp_sender_email:,
@@ -78,25 +79,28 @@ module Appwrite
78
79
  protocols:,
79
80
  blocks:,
80
81
  console_accessed_at:,
81
- waf_enabled:,
82
- billing_limits:,
83
- o_auth2_server_enabled:,
84
- o_auth2_server_authorization_url:,
85
- o_auth2_server_scopes:,
86
- o_auth2_server_default_scopes:,
87
- o_auth2_server_installation_scopes:,
88
- o_auth2_server_authorization_details_types:,
89
- o_auth2_server_access_token_duration:,
90
- o_auth2_server_refresh_token_duration:,
91
- o_auth2_server_public_access_token_duration:,
92
- o_auth2_server_public_refresh_token_duration:,
93
- o_auth2_server_installation_access_token_duration:,
94
- o_auth2_server_confidential_pkce:,
95
- o_auth2_server_verification_url:,
96
- o_auth2_server_user_code_length:,
97
- o_auth2_server_user_code_format:,
98
- o_auth2_server_device_code_duration:,
99
- o_auth2_server_discovery_url:
82
+ waf_enabled: false,
83
+ parent_id: nil,
84
+ billing_limits: nil,
85
+ first_accessed_at: nil,
86
+ mcp_accessed_at: nil,
87
+ o_auth2_server_enabled: false,
88
+ o_auth2_server_authorization_url: nil,
89
+ o_auth2_server_scopes: [],
90
+ o_auth2_server_default_scopes: [],
91
+ o_auth2_server_installation_scopes: [],
92
+ o_auth2_server_authorization_details_types: [],
93
+ o_auth2_server_access_token_duration: 0,
94
+ o_auth2_server_refresh_token_duration: 0,
95
+ o_auth2_server_public_access_token_duration: 0,
96
+ o_auth2_server_public_refresh_token_duration: 0,
97
+ o_auth2_server_installation_access_token_duration: 0,
98
+ o_auth2_server_confidential_pkce: false,
99
+ o_auth2_server_verification_url: nil,
100
+ o_auth2_server_user_code_length: 8,
101
+ o_auth2_server_user_code_format: "alphanumeric",
102
+ o_auth2_server_device_code_duration: 600,
103
+ o_auth2_server_discovery_url: nil
100
104
  )
101
105
  @id = id
102
106
  @created_at = created_at
@@ -104,7 +108,6 @@ module Appwrite
104
108
  @name = name
105
109
  @team_id = team_id
106
110
  @region = region
107
- @dev_keys = dev_keys
108
111
  @smtp_enabled = smtp_enabled
109
112
  @smtp_sender_name = smtp_sender_name
110
113
  @smtp_sender_email = smtp_sender_email
@@ -126,7 +129,10 @@ module Appwrite
126
129
  @blocks = blocks
127
130
  @console_accessed_at = console_accessed_at
128
131
  @waf_enabled = waf_enabled
132
+ @parent_id = parent_id
129
133
  @billing_limits = billing_limits
134
+ @first_accessed_at = first_accessed_at
135
+ @mcp_accessed_at = mcp_accessed_at
130
136
  @o_auth2_server_enabled = o_auth2_server_enabled
131
137
  @o_auth2_server_authorization_url = o_auth2_server_authorization_url
132
138
  @o_auth2_server_scopes = o_auth2_server_scopes
@@ -147,6 +153,7 @@ module Appwrite
147
153
  end
148
154
 
149
155
  def self.from(map:)
156
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "teamId" => "", "region" => "fra", "smtpEnabled" => false, "smtpSenderName" => "", "smtpSenderEmail" => "", "smtpReplyToName" => "", "smtpReplyToEmail" => "", "smtpHost" => "", "smtpPort" => 0, "smtpUsername" => "", "smtpPassword" => "", "smtpSecure" => "", "pingCount" => 0, "pingedAt" => "", "labels" => [], "status" => "active", "onboarding" => {}, "authMethods" => [], "services" => [], "protocols" => [], "blocks" => [], "consoleAccessedAt" => "" }.merge(map)
150
157
  Project.new(
151
158
  id: map["$id"],
152
159
  created_at: map["$createdAt"],
@@ -154,7 +161,6 @@ module Appwrite
154
161
  name: map["name"],
155
162
  team_id: map["teamId"],
156
163
  region: map["region"],
157
- dev_keys: map["devKeys"].map { |it| DevKey.from(map: it) },
158
164
  smtp_enabled: map["smtpEnabled"],
159
165
  smtp_sender_name: map["smtpSenderName"],
160
166
  smtp_sender_email: map["smtpSenderEmail"],
@@ -176,7 +182,10 @@ module Appwrite
176
182
  blocks: map["blocks"].map { |it| Block.from(map: it) },
177
183
  console_accessed_at: map["consoleAccessedAt"],
178
184
  waf_enabled: map["wafEnabled"],
185
+ parent_id: map["parentId"],
179
186
  billing_limits: map["billingLimits"].nil? ? nil : BillingLimits.from(map: map["billingLimits"]),
187
+ first_accessed_at: map["firstAccessedAt"],
188
+ mcp_accessed_at: map["mcpAccessedAt"],
180
189
  o_auth2_server_enabled: map["oAuth2ServerEnabled"],
181
190
  o_auth2_server_authorization_url: map["oAuth2ServerAuthorizationUrl"],
182
191
  o_auth2_server_scopes: map["oAuth2ServerScopes"],
@@ -205,7 +214,6 @@ module Appwrite
205
214
  "name": @name,
206
215
  "teamId": @team_id,
207
216
  "region": @region,
208
- "devKeys": @dev_keys.map { |it| it.to_map },
209
217
  "smtpEnabled": @smtp_enabled,
210
218
  "smtpSenderName": @smtp_sender_name,
211
219
  "smtpSenderEmail": @smtp_sender_email,
@@ -227,7 +235,10 @@ module Appwrite
227
235
  "blocks": @blocks.map { |it| it.to_map },
228
236
  "consoleAccessedAt": @console_accessed_at,
229
237
  "wafEnabled": @waf_enabled,
238
+ "parentId": @parent_id,
230
239
  "billingLimits": @billing_limits&.to_map,
240
+ "firstAccessedAt": @first_accessed_at,
241
+ "mcpAccessedAt": @mcp_accessed_at,
231
242
  "oAuth2ServerEnabled": @o_auth2_server_enabled,
232
243
  "oAuth2ServerAuthorizationUrl": @o_auth2_server_authorization_url,
233
244
  "oAuth2ServerScopes": @o_auth2_server_scopes,
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "enabled" => true }.merge(map)
18
19
  ProjectAuthMethod.new(
19
20
  id: map["$id"],
20
21
  enabled: map["enabled"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "projects" => [] }.merge(map)
18
19
  ProjectList.new(
19
20
  total: map["total"],
20
21
  projects: map["projects"].map { |it| Project.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "enabled" => true }.merge(map)
18
19
  ProjectProtocol.new(
19
20
  id: map["$id"],
20
21
  enabled: map["enabled"]
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "enabled" => true }.merge(map)
18
19
  ProjectService.new(
19
20
  id: map["$id"],
20
21
  enabled: map["enabled"]
@@ -22,7 +22,7 @@ module Appwrite
22
22
  enabled:,
23
23
  type:,
24
24
  credentials:,
25
- options:
25
+ options: {}
26
26
  )
27
27
  @id = id
28
28
  @created_at = created_at
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "provider" => "", "enabled" => true, "type" => "", "credentials" => {} }.merge(map)
39
40
  Provider.new(
40
41
  id: map["$id"],
41
42
  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, "providers" => [] }.merge(map)
18
19
  ProviderList.new(
19
20
  total: map["total"],
20
21
  providers: map["providers"].map { |it| Provider.from(map: it) }
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "domain" => "", "type" => "", "reference" => "", "status" => "" }.merge(map)
24
25
  ProxyInvalidation.new(
25
26
  domain: map["domain"],
26
27
  type: map["type"],
@@ -18,6 +18,7 @@ module Appwrite
18
18
  attr_reader :status
19
19
  attr_reader :logs
20
20
  attr_reader :renew_at
21
+ attr_reader :protocol
21
22
 
22
23
  def initialize(
23
24
  id:,
@@ -29,12 +30,13 @@ module Appwrite
29
30
  redirect_url:,
30
31
  redirect_status_code:,
31
32
  deployment_id:,
32
- deployment_resource_type:,
33
+ deployment_resource_type: nil,
33
34
  deployment_resource_id:,
34
35
  deployment_vcs_provider_branch:,
35
36
  status:,
36
37
  logs:,
37
- renew_at:
38
+ renew_at:,
39
+ protocol:
38
40
  )
39
41
  @id = id
40
42
  @created_at = created_at
@@ -51,9 +53,11 @@ module Appwrite
51
53
  @status = validate_status(status)
52
54
  @logs = logs
53
55
  @renew_at = renew_at
56
+ @protocol = validate_protocol(protocol)
54
57
  end
55
58
 
56
59
  def self.from(map:)
60
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "domain" => "", "type" => "", "trigger" => "", "redirectUrl" => "", "redirectStatusCode" => 301, "deploymentId" => "", "deploymentResourceId" => "", "deploymentVcsProviderBranch" => "", "status" => "unverified", "logs" => "", "protocol" => "http" }.merge(map)
57
61
  ProxyRule.new(
58
62
  id: map["$id"],
59
63
  created_at: map["$createdAt"],
@@ -69,7 +73,8 @@ module Appwrite
69
73
  deployment_vcs_provider_branch: map["deploymentVcsProviderBranch"],
70
74
  status: map["status"],
71
75
  logs: map["logs"],
72
- renew_at: map["renewAt"]
76
+ renew_at: map["renewAt"],
77
+ protocol: map["protocol"]
73
78
  )
74
79
  end
75
80
 
@@ -89,7 +94,8 @@ module Appwrite
89
94
  "deploymentVcsProviderBranch": @deployment_vcs_provider_branch,
90
95
  "status": @status,
91
96
  "logs": @logs,
92
- "renewAt": @renew_at
97
+ "renewAt": @renew_at,
98
+ "protocol": @protocol
93
99
  }
94
100
  end
95
101
 
@@ -99,6 +105,7 @@ module Appwrite
99
105
  valid_deployment_resource_type = [
100
106
  Appwrite::Enums::ProxyRuleDeploymentResourceType::FUNCTION,
101
107
  Appwrite::Enums::ProxyRuleDeploymentResourceType::SITE,
108
+ Appwrite::Enums::ProxyRuleDeploymentResourceType::DEDICATEDDATABASE,
102
109
  ]
103
110
 
104
111
  unless valid_deployment_resource_type.include?(deployment_resource_type)
@@ -121,6 +128,19 @@ module Appwrite
121
128
 
122
129
  status
123
130
  end
131
+
132
+ def validate_protocol(protocol)
133
+ valid_protocol = [
134
+ Appwrite::Enums::ProxyRuleProtocol::HTTP,
135
+ Appwrite::Enums::ProxyRuleProtocol::SMTP,
136
+ ]
137
+
138
+ unless valid_protocol.include?(protocol)
139
+ raise ArgumentError, "Invalid " + protocol + ". Must be one of: " + valid_protocol.join(', ')
140
+ end
141
+
142
+ protocol
143
+ end
124
144
  end
125
145
  end
126
146
  end
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "rules" => [] }.merge(map)
18
19
  ProxyRuleList.new(
19
20
  total: map["total"],
20
21
  rules: map["rules"].map { |it| ProxyRule.from(map: it) }
@@ -28,7 +28,7 @@ module Appwrite
28
28
  target:,
29
29
  categories:,
30
30
  insights:,
31
- analyzed_at:
31
+ analyzed_at: 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" => "", "appId" => "", "type" => "", "title" => "", "summary" => "", "targetType" => "", "target" => "", "categories" => [], "insights" => [] }.merge(map)
48
49
  Report.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, "reports" => [] }.merge(map)
18
19
  ReportList.new(
19
20
  total: map["total"],
20
21
  reports: map["reports"].map { |it| Report.from(map: it) }
@@ -30,6 +30,7 @@ module Appwrite
30
30
  end
31
31
 
32
32
  def self.from(map:)
33
+ map = { "$id" => "", "$createdAt" => "", "resourceId" => "", "resourceType" => "", "expire" => "", "secret" => "", "accessedAt" => "" }.merge(map)
33
34
  ResourceToken.new(
34
35
  id: map["$id"],
35
36
  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, "tokens" => [] }.merge(map)
18
19
  ResourceTokenList.new(
19
20
  total: map["total"],
20
21
  tokens: map["tokens"].map { |it| ResourceToken.from(map: it) }
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "$id" => "", "$sequence" => "", "$tableId" => "", "$databaseId" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [] }.merge(map)
36
37
  Row.new(
37
38
  id: map["$id"],
38
39
  sequence: map["$sequence"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "rows" => [] }.merge(map)
18
19
  RowList.new(
19
20
  total: map["total"],
20
21
  rows: map["rows"].map { |it| Row.from(map: it) }
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "$id" => "", "key" => "", "name" => "", "version" => "", "base" => "", "image" => "", "logo" => "", "supports" => [] }.merge(map)
36
37
  Runtime.new(
37
38
  id: map["$id"],
38
39
  key: map["key"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "runtimes" => [] }.merge(map)
18
19
  RuntimeList.new(
19
20
  total: map["total"],
20
21
  runtimes: map["runtimes"].map { |it| Runtime.from(map: it) }
@@ -96,6 +96,7 @@ module Appwrite
96
96
  end
97
97
 
98
98
  def self.from(map:)
99
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "userId" => "", "expire" => "", "provider" => "", "providerUid" => "", "providerAccessToken" => "", "providerAccessTokenExpiry" => "", "providerRefreshToken" => "", "ip" => "", "osCode" => "", "osName" => "", "osVersion" => "", "clientType" => "", "clientCode" => "", "clientName" => "", "clientVersion" => "", "clientEngine" => "", "clientEngineVersion" => "", "deviceName" => "", "deviceBrand" => "", "deviceModel" => "", "countryCode" => "", "countryName" => "", "current" => false, "factors" => [], "secret" => "", "mfaUpdatedAt" => "" }.merge(map)
99
100
  Session.new(
100
101
  id: map["$id"],
101
102
  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, "sessions" => [] }.merge(map)
18
19
  SessionList.new(
19
20
  total: map["total"],
20
21
  sessions: map["sessions"].map { |it| Session.from(map: it) }
@@ -114,6 +114,7 @@ module Appwrite
114
114
  end
115
115
 
116
116
  def self.from(map:)
117
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "enabled" => true, "live" => true, "logging" => true, "framework" => "", "deploymentRetention" => 0, "deploymentId" => "", "deploymentCreatedAt" => "", "deploymentScreenshotLight" => "", "deploymentScreenshotDark" => "", "latestDeploymentId" => "", "latestDeploymentCreatedAt" => "", "latestDeploymentStatus" => "", "scopes" => [], "vars" => [], "timeout" => 15, "installCommand" => "", "buildCommand" => "", "startCommand" => "", "outputDirectory" => "", "installationId" => "", "providerRepositoryId" => "", "providerBranch" => "", "providerRootDirectory" => "", "providerSilentMode" => false, "providerBranches" => [], "providerPaths" => [], "buildSpecification" => "s-1vcpu-512mb", "runtimeSpecification" => "s-1vcpu-512mb", "buildRuntime" => "" }.merge(map)
117
118
  Site.new(
118
119
  id: map["$id"],
119
120
  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, "sites" => [] }.merge(map)
18
19
  SiteList.new(
19
20
  total: map["total"],
20
21
  sites: map["sites"].map { |it| Site.from(map: it) }
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "memory" => 0, "cpus" => 0, "enabled" => false, "slug" => "" }.merge(map)
24
25
  Specification.new(
25
26
  memory: map["memory"],
26
27
  cpus: map["cpus"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "specifications" => [] }.merge(map)
18
19
  SpecificationList.new(
19
20
  total: map["total"],
20
21
  specifications: map["specifications"].map { |it| Specification.from(map: it) }
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "targetId" => "", "userId" => "", "userName" => "", "topicId" => "", "providerType" => "" }.merge(map)
39
40
  Subscriber.new(
40
41
  id: map["$id"],
41
42
  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, "subscribers" => [] }.merge(map)
18
19
  SubscriberList.new(
19
20
  total: map["total"],
20
21
  subscribers: map["subscribers"].map { |it| Subscriber.from(map: it) }
@@ -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, "rowSecurity" => false, "columns" => [], "indexes" => [], "bytesMax" => 0, "bytesUsed" => 0 }.merge(map)
48
49
  Table.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, "tables" => [] }.merge(map)
18
19
  TableList.new(
19
20
  total: map["total"],
20
21
  tables: map["tables"].map { |it| Table.from(map: it) }
@@ -19,7 +19,7 @@ module Appwrite
19
19
  updated_at:,
20
20
  name:,
21
21
  user_id:,
22
- provider_id:,
22
+ provider_id: nil,
23
23
  provider_type:,
24
24
  identifier:,
25
25
  expired:
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "userId" => "", "providerType" => "", "identifier" => "", "expired" => false }.merge(map)
39
40
  Target.new(
40
41
  id: map["$id"],
41
42
  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, "targets" => [] }.merge(map)
18
19
  TargetList.new(
19
20
  total: map["total"],
20
21
  targets: map["targets"].map { |it| Target.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "total" => 0 }.merge(map)
30
31
  Team.new(
31
32
  id: map["$id"],
32
33
  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, "teams" => [] }.merge(map)
18
19
  TeamList.new(
19
20
  total: map["total"],
20
21
  teams: map["teams"].map { |it| Team.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "userId" => "", "secret" => "", "expire" => "", "phrase" => "" }.merge(map)
30
31
  Token.new(
31
32
  id: map["$id"],
32
33
  created_at: map["$createdAt"],
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "userId" => "", "secret" => "", "expire" => "", "phrase" => "" }.merge(map)
30
31
  TokenSecret.new(
31
32
  id: map["$id"],
32
33
  created_at: map["$createdAt"],