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
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Domain
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :domain
10
+ attr_reader :registrar
11
+ attr_reader :nameservers
12
+ attr_reader :expire
13
+ attr_reader :renewal
14
+ attr_reader :auto_renewal
15
+ attr_reader :renewal_price
16
+ attr_reader :transfer_status
17
+ attr_reader :team_id
18
+ attr_reader :dns_records
19
+
20
+ def initialize(
21
+ id:,
22
+ created_at:,
23
+ updated_at:,
24
+ domain:,
25
+ registrar:,
26
+ nameservers:,
27
+ expire:,
28
+ renewal:,
29
+ auto_renewal:,
30
+ renewal_price:,
31
+ transfer_status: nil,
32
+ team_id:,
33
+ dns_records:
34
+ )
35
+ @id = id
36
+ @created_at = created_at
37
+ @updated_at = updated_at
38
+ @domain = domain
39
+ @registrar = registrar
40
+ @nameservers = nameservers
41
+ @expire = expire
42
+ @renewal = renewal
43
+ @auto_renewal = auto_renewal
44
+ @renewal_price = renewal_price
45
+ @transfer_status = transfer_status.nil? ? transfer_status : validate_transfer_status(transfer_status)
46
+ @team_id = team_id
47
+ @dns_records = dns_records
48
+ end
49
+
50
+ def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "domain" => "", "registrar" => "", "nameservers" => "", "expire" => "", "renewal" => "", "autoRenewal" => false, "renewalPrice" => 0, "teamId" => "", "dnsRecords" => [] }.merge(map)
52
+ Domain.new(
53
+ id: map["$id"],
54
+ created_at: map["$createdAt"],
55
+ updated_at: map["$updatedAt"],
56
+ domain: map["domain"],
57
+ registrar: map["registrar"],
58
+ nameservers: map["nameservers"],
59
+ expire: map["expire"],
60
+ renewal: map["renewal"],
61
+ auto_renewal: map["autoRenewal"],
62
+ renewal_price: map["renewalPrice"],
63
+ transfer_status: map["transferStatus"],
64
+ team_id: map["teamId"],
65
+ dns_records: map["dnsRecords"].map { |it| DnsRecord.from(map: it) }
66
+ )
67
+ end
68
+
69
+ def to_map
70
+ {
71
+ "$id": @id,
72
+ "$createdAt": @created_at,
73
+ "$updatedAt": @updated_at,
74
+ "domain": @domain,
75
+ "registrar": @registrar,
76
+ "nameservers": @nameservers,
77
+ "expire": @expire,
78
+ "renewal": @renewal,
79
+ "autoRenewal": @auto_renewal,
80
+ "renewalPrice": @renewal_price,
81
+ "transferStatus": @transfer_status,
82
+ "teamId": @team_id,
83
+ "dnsRecords": @dns_records.map { |it| it.to_map }
84
+ }
85
+ end
86
+
87
+ private
88
+
89
+ def validate_transfer_status(transfer_status)
90
+ valid_transfer_status = [
91
+ Appwrite::Enums::DomainTransferStatusEnum::TRANSFERRABLE,
92
+ Appwrite::Enums::DomainTransferStatusEnum::NOT_TRANSFERRABLE,
93
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_OWNER,
94
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_ADMIN,
95
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_REGISTRY,
96
+ Appwrite::Enums::DomainTransferStatusEnum::COMPLETED,
97
+ Appwrite::Enums::DomainTransferStatusEnum::CANCELLED,
98
+ Appwrite::Enums::DomainTransferStatusEnum::SERVICE_UNAVAILABLE,
99
+ ]
100
+
101
+ unless valid_transfer_status.include?(transfer_status)
102
+ raise ArgumentError, "Invalid " + transfer_status + ". Must be one of: " + valid_transfer_status.join(', ')
103
+ end
104
+
105
+ transfer_status
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DomainPrice
6
+ attr_reader :domain
7
+ attr_reader :tld
8
+ attr_reader :available
9
+ attr_reader :price
10
+ attr_reader :period_years
11
+ attr_reader :premium
12
+ attr_reader :renewal_price
13
+ attr_reader :renewal_period_years
14
+
15
+ def initialize(
16
+ domain:,
17
+ tld:,
18
+ available:,
19
+ price: nil,
20
+ period_years:,
21
+ premium:,
22
+ renewal_price: nil,
23
+ renewal_period_years:
24
+ )
25
+ @domain = domain
26
+ @tld = tld
27
+ @available = available
28
+ @price = price
29
+ @period_years = period_years
30
+ @premium = premium
31
+ @renewal_price = renewal_price
32
+ @renewal_period_years = renewal_period_years
33
+ end
34
+
35
+ def self.from(map:)
36
+ map = { "domain" => "", "tld" => "", "available" => false, "periodYears" => 1, "premium" => false, "renewalPeriodYears" => 1 }.merge(map)
37
+ DomainPrice.new(
38
+ domain: map["domain"],
39
+ tld: map["tld"],
40
+ available: map["available"],
41
+ price: map["price"],
42
+ period_years: map["periodYears"],
43
+ premium: map["premium"],
44
+ renewal_price: map["renewalPrice"],
45
+ renewal_period_years: map["renewalPeriodYears"]
46
+ )
47
+ end
48
+
49
+ def to_map
50
+ {
51
+ "domain": @domain,
52
+ "tld": @tld,
53
+ "available": @available,
54
+ "price": @price,
55
+ "periodYears": @period_years,
56
+ "premium": @premium,
57
+ "renewalPrice": @renewal_price,
58
+ "renewalPeriodYears": @renewal_period_years
59
+ }
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DomainPricesList
6
+ attr_reader :total
7
+ attr_reader :prices
8
+
9
+ def initialize(
10
+ total:,
11
+ prices:
12
+ )
13
+ @total = total
14
+ @prices = prices
15
+ end
16
+
17
+ def self.from(map:)
18
+ map = { "total" => 0, "prices" => [] }.merge(map)
19
+ DomainPricesList.new(
20
+ total: map["total"],
21
+ prices: map["prices"].map { |it| DomainPrice.from(map: it) }
22
+ )
23
+ end
24
+
25
+ def to_map
26
+ {
27
+ "total": @total,
28
+ "prices": @prices.map { |it| it.to_map }
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DomainTransferStatus
6
+ attr_reader :status
7
+ attr_reader :reason
8
+ attr_reader :timestamp
9
+
10
+ def initialize(
11
+ status:,
12
+ reason:,
13
+ timestamp:
14
+ )
15
+ @status = validate_status(status)
16
+ @reason = reason
17
+ @timestamp = timestamp
18
+ end
19
+
20
+ def self.from(map:)
21
+ map = { "status" => "pending_registry", "reason" => "", "timestamp" => "" }.merge(map)
22
+ DomainTransferStatus.new(
23
+ status: map["status"],
24
+ reason: map["reason"],
25
+ timestamp: map["timestamp"]
26
+ )
27
+ end
28
+
29
+ def to_map
30
+ {
31
+ "status": @status,
32
+ "reason": @reason,
33
+ "timestamp": @timestamp
34
+ }
35
+ end
36
+
37
+ private
38
+
39
+ def validate_status(status)
40
+ valid_status = [
41
+ Appwrite::Enums::DomainTransferStatusEnum::TRANSFERRABLE,
42
+ Appwrite::Enums::DomainTransferStatusEnum::NOT_TRANSFERRABLE,
43
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_OWNER,
44
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_ADMIN,
45
+ Appwrite::Enums::DomainTransferStatusEnum::PENDING_REGISTRY,
46
+ Appwrite::Enums::DomainTransferStatusEnum::COMPLETED,
47
+ Appwrite::Enums::DomainTransferStatusEnum::CANCELLED,
48
+ Appwrite::Enums::DomainTransferStatusEnum::SERVICE_UNAVAILABLE,
49
+ ]
50
+
51
+ unless valid_status.include?(status)
52
+ raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ')
53
+ end
54
+
55
+ status
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DomainsList
6
+ attr_reader :total
7
+ attr_reader :domains
8
+
9
+ def initialize(
10
+ total:,
11
+ domains:
12
+ )
13
+ @total = total
14
+ @domains = domains
15
+ end
16
+
17
+ def self.from(map:)
18
+ map = { "total" => 0, "domains" => [] }.merge(map)
19
+ DomainsList.new(
20
+ total: map["total"],
21
+ domains: map["domains"].map { |it| Domain.from(map: it) }
22
+ )
23
+ end
24
+
25
+ def to_map
26
+ {
27
+ "total": @total,
28
+ "domains": @domains.map { |it| it.to_map }
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "templateId" => "", "locale" => "", "message" => "", "senderName" => "", "senderEmail" => "", "replyToEmail" => "", "replyToName" => "", "subject" => "" }.merge(map)
36
37
  EmailTemplate.new(
37
38
  template_id: map["templateId"],
38
39
  locale: map["locale"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "templates" => [] }.merge(map)
18
19
  EmailTemplateList.new(
19
20
  total: map["total"],
20
21
  templates: map["templates"].map { |it| EmailTemplate.from(map: it) }
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "model" => "", "dimension" => 0, "embedding" => [], "error" => "" }.merge(map)
24
25
  Embedding.new(
25
26
  model: map["model"],
26
27
  dimension: map["dimension"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "embeddings" => [] }.merge(map)
18
19
  EmbeddingList.new(
19
20
  total: map["total"],
20
21
  embeddings: map["embeddings"].map { |it| Embedding.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" => "", "name" => "", "expire" => "", "scopes" => [], "secret" => "", "accessedAt" => "", "sdks" => [] }.merge(map)
39
40
  EphemeralKey.new(
40
41
  id: map["$id"],
41
42
  created_at: map["$createdAt"],
@@ -42,7 +42,7 @@ module Appwrite
42
42
  logs:,
43
43
  errors:,
44
44
  duration:,
45
- scheduled_at:
45
+ scheduled_at: nil
46
46
  )
47
47
  @id = id
48
48
  @created_at = created_at
@@ -66,6 +66,7 @@ module Appwrite
66
66
  end
67
67
 
68
68
  def self.from(map:)
69
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "resourceId" => "", "resourceType" => "functions", "deploymentId" => "", "requestMethod" => "", "requestPath" => "", "requestHeaders" => [], "responseStatusCode" => 0, "responseBody" => "", "responseHeaders" => [], "logs" => "", "errors" => "", "duration" => 0 }.merge(map)
69
70
  Execution.new(
70
71
  id: map["$id"],
71
72
  created_at: map["$createdAt"],
@@ -133,6 +134,7 @@ module Appwrite
133
134
  Appwrite::Enums::ExecutionTrigger::HTTP,
134
135
  Appwrite::Enums::ExecutionTrigger::SCHEDULE,
135
136
  Appwrite::Enums::ExecutionTrigger::EVENT,
137
+ Appwrite::Enums::ExecutionTrigger::EMAIL,
136
138
  ]
137
139
 
138
140
  unless valid_trigger.include?(trigger)
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "executions" => [] }.merge(map)
18
19
  ExecutionList.new(
19
20
  total: map["total"],
20
21
  executions: map["executions"].map { |it| Execution.from(map: it) }
@@ -57,6 +57,7 @@ module Appwrite
57
57
  end
58
58
 
59
59
  def self.from(map:)
60
+ map = { "$id" => "", "bucketId" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "name" => "", "folder" => "", "key" => "", "signature" => "", "mimeType" => "", "sizeOriginal" => 0, "sizeActual" => 0, "chunksTotal" => 0, "chunksUploaded" => 0, "encryption" => false, "compression" => "none" }.merge(map)
60
61
  File.new(
61
62
  id: map["$id"],
62
63
  bucket_id: map["bucketId"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "files" => [] }.merge(map)
18
19
  FileList.new(
19
20
  total: map["total"],
20
21
  files: map["files"].map { |it| File.from(map: it) }
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "key" => "", "name" => "", "buildRuntime" => "", "runtimes" => [], "adapters" => [] }.merge(map)
27
28
  Framework.new(
28
29
  key: map["key"],
29
30
  name: map["name"],
@@ -14,7 +14,7 @@ module Appwrite
14
14
  install_command:,
15
15
  build_command:,
16
16
  output_directory:,
17
- fallback_file:
17
+ fallback_file: nil
18
18
  )
19
19
  @key = key
20
20
  @install_command = install_command
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "key" => "", "installCommand" => "", "buildCommand" => "", "outputDirectory" => "" }.merge(map)
27
28
  FrameworkAdapter.new(
28
29
  key: map["key"],
29
30
  install_command: map["installCommand"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "frameworks" => [] }.merge(map)
18
19
  FrameworkList.new(
19
20
  total: map["total"],
20
21
  frameworks: map["frameworks"].map { |it| Framework.from(map: it) }
@@ -36,6 +36,7 @@ module Appwrite
36
36
  attr_reader :provider_paths
37
37
  attr_reader :build_specification
38
38
  attr_reader :runtime_specification
39
+ attr_reader :email_enabled
39
40
 
40
41
  def initialize(
41
42
  id:,
@@ -57,7 +58,7 @@ module Appwrite
57
58
  vars:,
58
59
  events:,
59
60
  schedule:,
60
- interval:,
61
+ interval: 0,
61
62
  timeout:,
62
63
  entrypoint:,
63
64
  commands:,
@@ -70,7 +71,8 @@ module Appwrite
70
71
  provider_branches:,
71
72
  provider_paths:,
72
73
  build_specification:,
73
- runtime_specification:
74
+ runtime_specification:,
75
+ email_enabled:
74
76
  )
75
77
  @id = id
76
78
  @created_at = created_at
@@ -105,9 +107,11 @@ module Appwrite
105
107
  @provider_paths = provider_paths
106
108
  @build_specification = build_specification
107
109
  @runtime_specification = runtime_specification
110
+ @email_enabled = email_enabled
108
111
  end
109
112
 
110
113
  def self.from(map:)
114
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "execute" => [], "name" => "", "enabled" => true, "live" => true, "logging" => true, "runtime" => "", "deploymentRetention" => 0, "deploymentId" => "", "deploymentCreatedAt" => "", "latestDeploymentId" => "", "latestDeploymentCreatedAt" => "", "latestDeploymentStatus" => "", "scopes" => [], "vars" => [], "events" => [], "schedule" => "", "timeout" => 15, "entrypoint" => "", "commands" => "", "version" => "v5", "installationId" => "", "providerRepositoryId" => "", "providerBranch" => "", "providerRootDirectory" => "", "providerSilentMode" => false, "providerBranches" => [], "providerPaths" => [], "buildSpecification" => "s-1vcpu-512mb", "runtimeSpecification" => "s-1vcpu-512mb", "emailEnabled" => false }.merge(map)
111
115
  Function.new(
112
116
  id: map["$id"],
113
117
  created_at: map["$createdAt"],
@@ -141,7 +145,8 @@ module Appwrite
141
145
  provider_branches: map["providerBranches"],
142
146
  provider_paths: map["providerPaths"],
143
147
  build_specification: map["buildSpecification"],
144
- runtime_specification: map["runtimeSpecification"]
148
+ runtime_specification: map["runtimeSpecification"],
149
+ email_enabled: map["emailEnabled"]
145
150
  )
146
151
  end
147
152
 
@@ -179,7 +184,8 @@ module Appwrite
179
184
  "providerBranches": @provider_branches,
180
185
  "providerPaths": @provider_paths,
181
186
  "buildSpecification": @build_specification,
182
- "runtimeSpecification": @runtime_specification
187
+ "runtimeSpecification": @runtime_specification,
188
+ "emailEnabled": @email_enabled
183
189
  }
184
190
  end
185
191
  end
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "functions" => [] }.merge(map)
18
19
  FunctionList.new(
19
20
  total: map["total"],
20
21
  functions: map["functions"].map { |it| Function.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "name" => "", "value" => "" }.merge(map)
18
19
  Headers.new(
19
20
  name: map["name"],
20
21
  value: map["value"]
@@ -13,6 +13,7 @@ module Appwrite
13
13
  attr_reader :provider_access_token
14
14
  attr_reader :provider_access_token_expiry
15
15
  attr_reader :provider_refresh_token
16
+ attr_reader :provider_id_token
16
17
 
17
18
  def initialize(
18
19
  id:,
@@ -24,7 +25,8 @@ module Appwrite
24
25
  provider_email:,
25
26
  provider_access_token:,
26
27
  provider_access_token_expiry:,
27
- provider_refresh_token:
28
+ provider_refresh_token:,
29
+ provider_id_token:
28
30
  )
29
31
  @id = id
30
32
  @created_at = created_at
@@ -36,9 +38,11 @@ module Appwrite
36
38
  @provider_access_token = provider_access_token
37
39
  @provider_access_token_expiry = provider_access_token_expiry
38
40
  @provider_refresh_token = provider_refresh_token
41
+ @provider_id_token = provider_id_token
39
42
  end
40
43
 
41
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "userId" => "", "provider" => "", "providerUid" => "", "providerEmail" => "", "providerAccessToken" => "", "providerAccessTokenExpiry" => "", "providerRefreshToken" => "", "providerIdToken" => "" }.merge(map)
42
46
  Identity.new(
43
47
  id: map["$id"],
44
48
  created_at: map["$createdAt"],
@@ -49,7 +53,8 @@ module Appwrite
49
53
  provider_email: map["providerEmail"],
50
54
  provider_access_token: map["providerAccessToken"],
51
55
  provider_access_token_expiry: map["providerAccessTokenExpiry"],
52
- provider_refresh_token: map["providerRefreshToken"]
56
+ provider_refresh_token: map["providerRefreshToken"],
57
+ provider_id_token: map["providerIdToken"]
53
58
  )
54
59
  end
55
60
 
@@ -64,7 +69,8 @@ module Appwrite
64
69
  "providerEmail": @provider_email,
65
70
  "providerAccessToken": @provider_access_token,
66
71
  "providerAccessTokenExpiry": @provider_access_token_expiry,
67
- "providerRefreshToken": @provider_refresh_token
72
+ "providerRefreshToken": @provider_refresh_token,
73
+ "providerIdToken": @provider_id_token
68
74
  }
69
75
  end
70
76
  end
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "identities" => [] }.merge(map)
18
19
  IdentityList.new(
19
20
  total: map["total"],
20
21
  identities: map["identities"].map { |it| Identity.from(map: it) }
@@ -24,7 +24,7 @@ module Appwrite
24
24
  error:,
25
25
  attributes:,
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" => "", "error" => "", "attributes" => [], "lengths" => [] }.merge(map)
42
43
  Index.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
  IndexList.new(
19
20
  total: map["total"],
20
21
  indexes: map["indexes"].map { |it| Index.from(map: it) }
@@ -36,9 +36,9 @@ module Appwrite
36
36
  title:,
37
37
  summary:,
38
38
  ctas:,
39
- analyzed_at:,
40
- dismissed_at:,
41
- dismissed_by:
39
+ analyzed_at: nil,
40
+ dismissed_at: nil,
41
+ dismissed_by: nil
42
42
  )
43
43
  @id = id
44
44
  @created_at = created_at
@@ -60,6 +60,7 @@ module Appwrite
60
60
  end
61
61
 
62
62
  def self.from(map:)
63
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "reportId" => "", "type" => "", "severity" => "info", "status" => "active", "resourceType" => "", "resourceId" => "", "parentResourceType" => "", "parentResourceId" => "", "title" => "", "summary" => "", "ctas" => [] }.merge(map)
63
64
  Insight.new(
64
65
  id: map["$id"],
65
66
  created_at: map["$createdAt"],
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "label" => "", "service" => "", "method" => "", "params" => {} }.merge(map)
24
25
  InsightCTA.new(
25
26
  label: map["label"],
26
27
  service: map["service"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "insights" => [] }.merge(map)
18
19
  InsightList.new(
19
20
  total: map["total"],
20
21
  insights: map["insights"].map { |it| Insight.from(map: it) }
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "jwt" => "" }.merge(map)
15
16
  Jwt.new(
16
17
  jwt: map["jwt"]
17
18
  )
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "expire" => "", "scopes" => [], "secret" => "", "accessedAt" => "", "sdks" => [] }.merge(map)
39
40
  Key.new(
40
41
  id: map["$id"],
41
42
  created_at: map["$createdAt"],