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
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "redirectUrl" => "" }.merge(map)
15
16
  Oauth2Approve.new(
16
17
  redirect_url: map["redirectUrl"]
17
18
  )
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "grantId" => "", "redirectUrl" => "" }.merge(map)
18
19
  Oauth2Authorize.new(
19
20
  grant_id: map["grantId"],
20
21
  redirect_url: map["redirectUrl"]
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "userId" => "", "appId" => "", "cimdUrl" => "", "scopes" => [], "resources" => [], "authorizationDetails" => "[]", "expire" => "" }.merge(map)
42
43
  Oauth2Consent.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, "consents" => [] }.merge(map)
18
19
  Oauth2ConsentList.new(
19
20
  total: map["total"],
20
21
  consents: map["consents"].map { |it| Oauth2Consent.from(map: it) }
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "consentId" => "", "userId" => "", "appId" => "", "cimdUrl" => "", "scopes" => [], "resources" => [], "authorizationDetails" => "[]", "expire" => "" }.merge(map)
45
46
  Oauth2ConsentToken.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, "tokens" => [] }.merge(map)
18
19
  Oauth2ConsentTokenList.new(
19
20
  total: map["total"],
20
21
  tokens: map["tokens"].map { |it| Oauth2ConsentToken.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "device_code" => "", "user_code" => "", "verification_uri" => "", "verification_uri_complete" => "", "expires_in" => 0, "interval" => 0 }.merge(map)
30
31
  Oauth2DeviceAuthorization.new(
31
32
  device_code: map["device_code"],
32
33
  user_code: map["user_code"],
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "userId" => "", "appId" => "", "scopes" => [], "resources" => [], "authorizationDetails" => "[]", "prompt" => "", "redirectUri" => "", "authTime" => 0, "expire" => "" }.merge(map)
48
49
  Oauth2Grant.new(
49
50
  id: map["$id"],
50
51
  created_at: map["$createdAt"],
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Introspection
6
+ attr_reader :active
7
+ attr_reader :token_use
8
+ attr_reader :token_type
9
+ attr_reader :scope
10
+ attr_reader :client_id
11
+ attr_reader :sub
12
+ attr_reader :aud
13
+ attr_reader :iss
14
+ attr_reader :exp
15
+ attr_reader :iat
16
+ attr_reader :jti
17
+ attr_reader :authorization_details
18
+
19
+ def initialize(
20
+ active:,
21
+ token_use: nil,
22
+ token_type: nil,
23
+ scope: nil,
24
+ client_id: nil,
25
+ sub: nil,
26
+ aud: nil,
27
+ iss: nil,
28
+ exp: nil,
29
+ iat: nil,
30
+ jti: nil,
31
+ authorization_details: nil
32
+ )
33
+ @active = active
34
+ @token_use = token_use
35
+ @token_type = token_type
36
+ @scope = scope
37
+ @client_id = client_id
38
+ @sub = sub
39
+ @aud = aud
40
+ @iss = iss
41
+ @exp = exp
42
+ @iat = iat
43
+ @jti = jti
44
+ @authorization_details = authorization_details
45
+ end
46
+
47
+ def self.from(map:)
48
+ map = { "active" => false }.merge(map)
49
+ Oauth2Introspection.new(
50
+ active: map["active"],
51
+ token_use: map["token_use"],
52
+ token_type: map["token_type"],
53
+ scope: map["scope"],
54
+ client_id: map["client_id"],
55
+ sub: map["sub"],
56
+ aud: map["aud"],
57
+ iss: map["iss"],
58
+ exp: map["exp"],
59
+ iat: map["iat"],
60
+ jti: map["jti"],
61
+ authorization_details: map["authorization_details"]
62
+ )
63
+ end
64
+
65
+ def to_map
66
+ {
67
+ "active": @active,
68
+ "token_use": @token_use,
69
+ "token_type": @token_type,
70
+ "scope": @scope,
71
+ "client_id": @client_id,
72
+ "sub": @sub,
73
+ "aud": @aud,
74
+ "iss": @iss,
75
+ "exp": @exp,
76
+ "iat": @iat,
77
+ "jti": @jti,
78
+ "authorization_details": @authorization_details
79
+ }
80
+ end
81
+ end
82
+ end
83
+ end
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "$id" => "" }.merge(map)
15
16
  Oauth2Organization.new(
16
17
  id: map["$id"]
17
18
  )
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "organizations" => [] }.merge(map)
18
19
  Oauth2OrganizationList.new(
19
20
  total: map["total"],
20
21
  organizations: map["organizations"].map { |it| Oauth2Organization.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "request_uri" => "", "expires_in" => 0 }.merge(map)
18
19
  Oauth2PAR.new(
19
20
  request_uri: map["request_uri"],
20
21
  expires_in: map["expires_in"]
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "$id" => "", "region" => "", "endpoint" => "" }.merge(map)
21
22
  Oauth2Project.new(
22
23
  id: map["$id"],
23
24
  region: map["region"],
@@ -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
  Oauth2ProjectList.new(
19
20
  total: map["total"],
20
21
  projects: map["projects"].map { |it| Oauth2Project.from(map: it) }
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "redirectUrl" => "" }.merge(map)
15
16
  Oauth2Reject.new(
16
17
  redirect_url: map["redirectUrl"]
17
18
  )
@@ -17,8 +17,8 @@ module Appwrite
17
17
  expires_in:,
18
18
  refresh_token:,
19
19
  scope:,
20
- authorization_details:,
21
- id_token:
20
+ authorization_details: nil,
21
+ id_token: nil
22
22
  )
23
23
  @access_token = access_token
24
24
  @token_type = token_type
@@ -30,6 +30,7 @@ module Appwrite
30
30
  end
31
31
 
32
32
  def self.from(map:)
33
+ map = { "access_token" => "", "token_type" => "Bearer", "expires_in" => 0, "refresh_token" => "", "scope" => "" }.merge(map)
33
34
  Oauth2Token.new(
34
35
  access_token: map["access_token"],
35
36
  token_type: map["token_type"],
@@ -46,32 +46,32 @@ module Appwrite
46
46
  name:,
47
47
  total:,
48
48
  prefs:,
49
- billing_budget:,
49
+ billing_budget: nil,
50
50
  budget_alerts:,
51
51
  billing_plan:,
52
52
  billing_plan_id:,
53
53
  billing_plan_details:,
54
54
  billing_email:,
55
- billing_start_date:,
56
- billing_current_invoice_date:,
57
- billing_next_invoice_date:,
58
- billing_trial_start_date:,
59
- billing_trial_days:,
60
- billing_aggregation_id:,
61
- billing_invoice_id:,
62
- payment_method_id:,
63
- billing_address_id:,
64
- backup_payment_method_id:,
55
+ billing_start_date: nil,
56
+ billing_current_invoice_date: nil,
57
+ billing_next_invoice_date: nil,
58
+ billing_trial_start_date: nil,
59
+ billing_trial_days: nil,
60
+ billing_aggregation_id: nil,
61
+ billing_invoice_id: nil,
62
+ payment_method_id: nil,
63
+ billing_address_id: nil,
64
+ backup_payment_method_id: nil,
65
65
  status:,
66
- remarks:,
67
- agreement_baa:,
68
- program_manager_name:,
69
- program_manager_calendar:,
70
- program_discord_channel_name:,
71
- program_discord_channel_url:,
72
- billing_limits:,
73
- billing_plan_downgrade:,
74
- billing_tax_id:,
66
+ remarks: nil,
67
+ agreement_baa: nil,
68
+ program_manager_name: nil,
69
+ program_manager_calendar: nil,
70
+ program_discord_channel_name: nil,
71
+ program_discord_channel_url: nil,
72
+ billing_limits: nil,
73
+ billing_plan_downgrade: nil,
74
+ billing_tax_id: nil,
75
75
  marked_for_deletion:,
76
76
  platform:,
77
77
  projects:
@@ -114,6 +114,7 @@ module Appwrite
114
114
  end
115
115
 
116
116
  def self.from(map:)
117
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "total" => 0, "budgetAlerts" => [75], "billingPlan" => "tier-0", "billingPlanId" => "tier-0", "billingEmail" => "", "status" => "draft", "markedForDeletion" => false, "platform" => "appwrite", "projects" => [] }.merge(map)
117
118
  Organization.new(
118
119
  id: map["$id"],
119
120
  created_at: map["$createdAt"],
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "accessedAt" => "" }.merge(map)
27
28
  Passkey.new(
28
29
  id: map["$id"],
29
30
  created_at: map["$createdAt"],
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "$id" => "", "$createdAt" => "", "passkeyId" => "", "expire" => "", "publicKey" => {} }.merge(map)
27
28
  PasskeyChallenge.new(
28
29
  id: map["$id"],
29
30
  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, "passkeys" => [] }.merge(map)
18
19
  PasskeyList.new(
19
20
  total: map["total"],
20
21
  passkeys: map["passkeys"].map { |it| Passkey.from(map: it) }
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "code" => "", "countryCode" => "", "countryName" => "" }.merge(map)
21
22
  Phone.new(
22
23
  code: map["code"],
23
24
  country_code: map["countryCode"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "phones" => [] }.merge(map)
18
19
  PhoneList.new(
19
20
  total: map["total"],
20
21
  phones: map["phones"].map { |it| Phone.from(map: it) }
@@ -9,6 +9,7 @@ module Appwrite
9
9
  attr_reader :name
10
10
  attr_reader :type
11
11
  attr_reader :application_id
12
+ attr_reader :fingerprints
12
13
 
13
14
  def initialize(
14
15
  id:,
@@ -16,7 +17,8 @@ module Appwrite
16
17
  updated_at:,
17
18
  name:,
18
19
  type:,
19
- application_id:
20
+ application_id:,
21
+ fingerprints:
20
22
  )
21
23
  @id = id
22
24
  @created_at = created_at
@@ -24,16 +26,19 @@ module Appwrite
24
26
  @name = name
25
27
  @type = validate_type(type)
26
28
  @application_id = application_id
29
+ @fingerprints = fingerprints
27
30
  end
28
31
 
29
32
  def self.from(map:)
33
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "applicationId" => "", "fingerprints" => [] }.merge(map)
30
34
  PlatformAndroid.new(
31
35
  id: map["$id"],
32
36
  created_at: map["$createdAt"],
33
37
  updated_at: map["$updatedAt"],
34
38
  name: map["name"],
35
39
  type: map["type"],
36
- application_id: map["applicationId"]
40
+ application_id: map["applicationId"],
41
+ fingerprints: map["fingerprints"]
37
42
  )
38
43
  end
39
44
 
@@ -44,7 +49,8 @@ module Appwrite
44
49
  "$updatedAt": @updated_at,
45
50
  "name": @name,
46
51
  "type": @type,
47
- "applicationId": @application_id
52
+ "applicationId": @application_id,
53
+ "fingerprints": @fingerprints
48
54
  }
49
55
  end
50
56
 
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "bundleIdentifier" => "" }.merge(map)
30
31
  PlatformApple.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" => "", "$updatedAt" => "", "name" => "", "packageName" => "" }.merge(map)
30
31
  PlatformLinux.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, "platforms" => [] }.merge(map)
18
19
  PlatformList.new(
19
20
  total: map["total"],
20
21
  platforms: map["platforms"]
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "hostname" => "" }.merge(map)
30
31
  PlatformWeb.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" => "", "$updatedAt" => "", "name" => "", "packageIdentifierName" => "" }.merge(map)
30
31
  PlatformWindows.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 = { "$id" => "", "enabled" => false }.merge(map)
18
19
  PolicyDenyAliasedEmail.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" => "", "enabled" => false }.merge(map)
18
19
  PolicyDenyCorporateEmail.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" => "", "enabled" => false }.merge(map)
18
19
  PolicyDenyDisposableEmail.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" => "", "enabled" => false }.merge(map)
18
19
  PolicyDenyFreeEmail.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, "policies" => [] }.merge(map)
18
19
  PolicyList.new(
19
20
  total: map["total"],
20
21
  policies: map["policies"]
@@ -30,6 +30,7 @@ module Appwrite
30
30
  end
31
31
 
32
32
  def self.from(map:)
33
+ map = { "$id" => "", "userId" => false, "userEmail" => false, "userPhone" => false, "userName" => false, "userMFA" => false, "userAccessedAt" => false }.merge(map)
33
34
  PolicyMembershipPrivacy.new(
34
35
  id: map["$id"],
35
36
  user_id: map["userId"],
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "$id" => "", "totp" => true, "email" => true, "phone" => true, "custom" => false }.merge(map)
27
28
  PolicyMfaFactors.new(
28
29
  id: map["$id"],
29
30
  totp: map["totp"],
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "$id" => "", "rpId" => "", "origins" => [] }.merge(map)
21
22
  PolicyPasskey.new(
22
23
  id: map["$id"],
23
24
  rp_id: map["rpId"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "$id" => "", "enabled" => false }.merge(map)
18
19
  PolicyPasswordDictionary.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
  PolicyPasswordHistory.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" => "", "enabled" => false }.merge(map)
18
19
  PolicyPasswordPersonalData.new(
19
20
  id: map["$id"],
20
21
  enabled: map["enabled"]
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordPwned
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :sessions
9
+ attr_reader :users
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ sessions:,
15
+ users:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @sessions = sessions
20
+ @users = users
21
+ end
22
+
23
+ def self.from(map:)
24
+ map = { "$id" => "", "enabled" => true, "sessions" => false, "users" => false }.merge(map)
25
+ PolicyPasswordPwned.new(
26
+ id: map["$id"],
27
+ enabled: map["enabled"],
28
+ sessions: map["sessions"],
29
+ users: map["users"]
30
+ )
31
+ end
32
+
33
+ def to_map
34
+ {
35
+ "$id": @id,
36
+ "enabled": @enabled,
37
+ "sessions": @sessions,
38
+ "users": @users
39
+ }
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordRotation
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :max_age
9
+
10
+ def initialize(
11
+ id:,
12
+ enabled:,
13
+ max_age:
14
+ )
15
+ @id = id
16
+ @enabled = enabled
17
+ @max_age = max_age
18
+ end
19
+
20
+ def self.from(map:)
21
+ map = { "$id" => "", "enabled" => false, "maxAge" => 31536000 }.merge(map)
22
+ PolicyPasswordRotation.new(
23
+ id: map["$id"],
24
+ enabled: map["enabled"],
25
+ max_age: map["maxAge"]
26
+ )
27
+ end
28
+
29
+ def to_map
30
+ {
31
+ "$id": @id,
32
+ "enabled": @enabled,
33
+ "maxAge": @max_age
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "min" => 8, "uppercase" => false, "lowercase" => false, "number" => false, "symbols" => false }.merge(map)
30
31
  PolicyPasswordStrength.new(
31
32
  id: map["$id"],
32
33
  min: map["min"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "$id" => "", "enabled" => false }.merge(map)
18
19
  PolicySessionAlert.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" => "", "duration" => 31536000 }.merge(map)
18
19
  PolicySessionDuration.new(
19
20
  id: map["$id"],
20
21
  duration: map["duration"]