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,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Account
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :registration
11
+ attr_reader :status
12
+ attr_reader :labels
13
+ attr_reader :password_update
14
+ attr_reader :email
15
+ attr_reader :phone
16
+ attr_reader :email_verification
17
+ attr_reader :email_canonical
18
+ attr_reader :email_is_free
19
+ attr_reader :email_is_disposable
20
+ attr_reader :email_is_corporate
21
+ attr_reader :email_is_canonical
22
+ attr_reader :password_pwned
23
+ attr_reader :phone_verification
24
+ attr_reader :mfa
25
+ attr_reader :prefs
26
+ attr_reader :targets
27
+ attr_reader :accessed_at
28
+ attr_reader :impersonator
29
+ attr_reader :impersonator_user_id
30
+
31
+ def initialize(
32
+ id:,
33
+ created_at:,
34
+ updated_at:,
35
+ name:,
36
+ registration:,
37
+ status:,
38
+ labels:,
39
+ password_update:,
40
+ email:,
41
+ phone:,
42
+ email_verification:,
43
+ email_canonical: nil,
44
+ email_is_free: nil,
45
+ email_is_disposable: nil,
46
+ email_is_corporate: nil,
47
+ email_is_canonical: nil,
48
+ password_pwned: nil,
49
+ phone_verification:,
50
+ mfa:,
51
+ prefs:,
52
+ targets:,
53
+ accessed_at:,
54
+ impersonator: false,
55
+ impersonator_user_id: nil
56
+ )
57
+ @id = id
58
+ @created_at = created_at
59
+ @updated_at = updated_at
60
+ @name = name
61
+ @registration = registration
62
+ @status = status
63
+ @labels = labels
64
+ @password_update = password_update
65
+ @email = email
66
+ @phone = phone
67
+ @email_verification = email_verification
68
+ @email_canonical = email_canonical
69
+ @email_is_free = email_is_free
70
+ @email_is_disposable = email_is_disposable
71
+ @email_is_corporate = email_is_corporate
72
+ @email_is_canonical = email_is_canonical
73
+ @password_pwned = password_pwned
74
+ @phone_verification = phone_verification
75
+ @mfa = mfa
76
+ @prefs = prefs
77
+ @targets = targets
78
+ @accessed_at = accessed_at
79
+ @impersonator = impersonator
80
+ @impersonator_user_id = impersonator_user_id
81
+ end
82
+
83
+ def self.from(map:)
84
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "registration" => "", "status" => true, "labels" => [], "passwordUpdate" => "", "email" => "", "phone" => "", "emailVerification" => false, "phoneVerification" => false, "mfa" => false, "targets" => [], "accessedAt" => "" }.merge(map)
85
+ Account.new(
86
+ id: map["$id"],
87
+ created_at: map["$createdAt"],
88
+ updated_at: map["$updatedAt"],
89
+ name: map["name"],
90
+ registration: map["registration"],
91
+ status: map["status"],
92
+ labels: map["labels"],
93
+ password_update: map["passwordUpdate"],
94
+ email: map["email"],
95
+ phone: map["phone"],
96
+ email_verification: map["emailVerification"],
97
+ email_canonical: map["emailCanonical"],
98
+ email_is_free: map["emailIsFree"],
99
+ email_is_disposable: map["emailIsDisposable"],
100
+ email_is_corporate: map["emailIsCorporate"],
101
+ email_is_canonical: map["emailIsCanonical"],
102
+ password_pwned: map["passwordPwned"],
103
+ phone_verification: map["phoneVerification"],
104
+ mfa: map["mfa"],
105
+ prefs: Preferences.from(map: map["prefs"]),
106
+ targets: map["targets"].map { |it| Target.from(map: it) },
107
+ accessed_at: map["accessedAt"],
108
+ impersonator: map["impersonator"],
109
+ impersonator_user_id: map["impersonatorUserId"]
110
+ )
111
+ end
112
+
113
+ def to_map
114
+ {
115
+ "$id": @id,
116
+ "$createdAt": @created_at,
117
+ "$updatedAt": @updated_at,
118
+ "name": @name,
119
+ "registration": @registration,
120
+ "status": @status,
121
+ "labels": @labels,
122
+ "passwordUpdate": @password_update,
123
+ "email": @email,
124
+ "phone": @phone,
125
+ "emailVerification": @email_verification,
126
+ "emailCanonical": @email_canonical,
127
+ "emailIsFree": @email_is_free,
128
+ "emailIsDisposable": @email_is_disposable,
129
+ "emailIsCorporate": @email_is_corporate,
130
+ "emailIsCanonical": @email_is_canonical,
131
+ "passwordPwned": @password_pwned,
132
+ "phoneVerification": @phone_verification,
133
+ "mfa": @mfa,
134
+ "prefs": @prefs.to_map,
135
+ "targets": @targets.map { |it| it.to_map },
136
+ "accessedAt": @accessed_at,
137
+ "impersonator": @impersonator,
138
+ "impersonatorUserId": @impersonator_user_id
139
+ }
140
+ end
141
+ end
142
+ end
143
+ end
@@ -96,6 +96,7 @@ module Appwrite
96
96
  end
97
97
 
98
98
  def self.from(map:)
99
+ map = { "$id" => "", "actorType" => "", "actorId" => "", "actorEmail" => "", "actorName" => "", "resourceParent" => "", "resourceType" => "", "resourceId" => "", "resource" => "", "event" => "", "userAgent" => "", "ip" => "", "mode" => "", "country" => "", "continentCode" => "", "city" => "", "subdivisions" => "", "isp" => "", "autonomousSystemNumber" => "", "autonomousSystemOrganization" => "", "connectionType" => "", "connectionUsageType" => "", "connectionOrganization" => "", "time" => "", "projectId" => "", "teamId" => "", "hostname" => "", "sdk" => "", "sdkVersion" => "" }.merge(map)
99
100
  ActivityEvent.new(
100
101
  id: map["$id"],
101
102
  actor_type: map["actorType"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "events" => [] }.merge(map)
18
19
  ActivityEventList.new(
19
20
  total: map["total"],
20
21
  events: map["events"].map { |it| ActivityEvent.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "name" => "", "unit" => "", "currency" => "", "price" => 0, "value" => 0, "invoiceDesc" => "" }.merge(map)
30
31
  AdditionalResource.new(
31
32
  name: map["name"],
32
33
  unit: map["unit"],
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "type" => "argon2", "memoryCost" => 0, "timeCost" => 0, "threads" => 0 }.merge(map)
24
25
  AlgoArgon2.new(
25
26
  type: map["type"],
26
27
  memory_cost: map["memoryCost"],
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "type" => "bcrypt" }.merge(map)
15
16
  AlgoBcrypt.new(
16
17
  type: map["type"]
17
18
  )
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "type" => "md5" }.merge(map)
15
16
  AlgoMd5.new(
16
17
  type: map["type"]
17
18
  )
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "type" => "phpass" }.merge(map)
15
16
  AlgoPhpass.new(
16
17
  type: map["type"]
17
18
  )
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "type" => "scrypt", "costCpu" => 8, "costMemory" => 14, "costParallel" => 1, "length" => 64 }.merge(map)
27
28
  AlgoScrypt.new(
28
29
  type: map["type"],
29
30
  cost_cpu: map["costCpu"],
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "type" => "scryptMod", "salt" => "", "saltSeparator" => "", "signerKey" => "" }.merge(map)
24
25
  AlgoScryptModified.new(
25
26
  type: map["type"],
26
27
  salt: map["salt"],
@@ -12,6 +12,7 @@ module Appwrite
12
12
  end
13
13
 
14
14
  def self.from(map:)
15
+ map = { "type" => "sha" }.merge(map)
15
16
  AlgoSha.new(
16
17
  type: map["type"]
17
18
  )
@@ -87,6 +87,7 @@ module Appwrite
87
87
  end
88
88
 
89
89
  def self.from(map:)
90
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "description" => "", "clientUri" => "", "logoUri" => "", "privacyPolicyUrl" => "", "termsUrl" => "", "contacts" => [], "tagline" => "", "tags" => [], "labels" => [], "images" => [], "supportUrl" => "", "dataDeletionUrl" => "", "redirectUris" => [], "postLogoutRedirectUris" => [], "enabled" => true, "type" => "confidential", "deviceFlow" => false, "teamId" => "", "userId" => "", "installationScopes" => [], "installationRedirectUrl" => "", "secrets" => [] }.merge(map)
90
91
  App.new(
91
92
  id: map["$id"],
92
93
  created_at: map["$createdAt"],
@@ -24,7 +24,7 @@ module Appwrite
24
24
  authorization_details:,
25
25
  created_by_id:,
26
26
  created_by_name:,
27
- last_accessed_at:
27
+ last_accessed_at: nil
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" => "", "appId" => "", "teamId" => "", "scopes" => [], "authorizationDetails" => [], "createdById" => "", "createdByName" => "" }.merge(map)
42
43
  AppInstallation.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, "installations" => [] }.merge(map)
18
19
  AppInstallationList.new(
19
20
  total: map["total"],
20
21
  installations: map["installations"].map { |it| AppInstallation.from(map: it) }
@@ -22,7 +22,7 @@ module Appwrite
22
22
  hint:,
23
23
  created_by_id:,
24
24
  created_by_name:,
25
- last_accessed_at:
25
+ last_accessed_at: 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" => "", "appId" => "", "secret" => "", "hint" => "", "createdById" => "", "createdByName" => "" }.merge(map)
39
40
  AppKey.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, "keys" => [] }.merge(map)
18
19
  AppKeyList.new(
19
20
  total: map["total"],
20
21
  keys: map["keys"].map { |it| AppKey.from(map: it) }
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "value" => "", "description" => "", "type" => "", "category" => "", "deprecated" => false }.merge(map)
27
28
  AppScope.new(
28
29
  value: map["value"],
29
30
  description: map["description"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "scopes" => [] }.merge(map)
18
19
  AppScopeList.new(
19
20
  total: map["total"],
20
21
  scopes: map["scopes"].map { |it| AppScope.from(map: it) }
@@ -22,7 +22,7 @@ module Appwrite
22
22
  hint:,
23
23
  created_by_id:,
24
24
  created_by_name:,
25
- last_accessed_at:
25
+ last_accessed_at: 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" => "", "appId" => "", "secret" => "", "hint" => "", "createdById" => "", "createdByName" => "" }.merge(map)
39
40
  AppSecret.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, "secrets" => [] }.merge(map)
18
19
  AppSecretList.new(
19
20
  total: map["total"],
20
21
  secrets: map["secrets"].map { |it| AppSecret.from(map: it) }
@@ -22,7 +22,7 @@ module Appwrite
22
22
  hint:,
23
23
  created_by_id:,
24
24
  created_by_name:,
25
- last_accessed_at:
25
+ last_accessed_at: 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" => "", "appId" => "", "secret" => "", "hint" => "", "createdById" => "", "createdByName" => "" }.merge(map)
39
40
  AppSecretPlaintext.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, "apps" => [] }.merge(map)
18
19
  AppsList.new(
19
20
  total: map["total"],
20
21
  apps: map["apps"].map { |it| App.from(map: it) }
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  AttributeBigint.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  AttributeBoolean.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  AttributeDatetime.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "format" => "email" }.merge(map)
42
43
  AttributeEmail.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
27
  elements:,
28
28
  format:,
29
- default:
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "elements" => [], "format" => "enum" }.merge(map)
45
46
  AttributeEnum.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  AttributeFloat.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -21,12 +21,12 @@ module Appwrite
21
21
  status:,
22
22
  error:,
23
23
  required:,
24
- array:,
24
+ array: false,
25
25
  created_at:,
26
26
  updated_at:,
27
- min:,
28
- max:,
29
- default:
27
+ min: nil,
28
+ max: nil,
29
+ default: nil
30
30
  )
31
31
  @key = key
32
32
  @type = type
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
45
46
  AttributeInteger.new(
46
47
  key: map["key"],
47
48
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
26
  format:,
27
- default:
27
+ default: nil
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "format" => "ip" }.merge(map)
42
43
  AttributeIp.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -19,10 +19,10 @@ module Appwrite
19
19
  status:,
20
20
  error:,
21
21
  required:,
22
- array:,
22
+ array: false,
23
23
  created_at:,
24
24
  updated_at:,
25
- default:
25
+ default: nil
26
26
  )
27
27
  @key = key
28
28
  @type = type
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
39
40
  AttributeLine.new(
40
41
  key: map["key"],
41
42
  type: map["type"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "attributes" => [] }.merge(map)
18
19
  AttributeList.new(
19
20
  total: map["total"],
20
21
  attributes: map["attributes"]
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
- default:,
27
- encrypt:
26
+ default: nil,
27
+ encrypt: false
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  AttributeLongtext.new(
43
44
  key: map["key"],
44
45
  type: map["type"],
@@ -20,11 +20,11 @@ module Appwrite
20
20
  status:,
21
21
  error:,
22
22
  required:,
23
- array:,
23
+ array: false,
24
24
  created_at:,
25
25
  updated_at:,
26
- default:,
27
- encrypt:
26
+ default: nil,
27
+ encrypt: false
28
28
  )
29
29
  @key = key
30
30
  @type = type
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "key" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "" }.merge(map)
42
43
  AttributeMediumtext.new(
43
44
  key: map["key"],
44
45
  type: map["type"],