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
@@ -13,8 +13,8 @@ module Appwrite
13
13
  index:,
14
14
  role:,
15
15
  healthy:,
16
- replicating:,
17
- lag_seconds:
16
+ replicating: nil,
17
+ lag_seconds: nil
18
18
  )
19
19
  @index = index
20
20
  @role = role
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "index" => 0, "role" => "unknown", "healthy" => false }.merge(map)
27
28
  DatabaseStatusReplica.new(
28
29
  index: map["index"],
29
30
  role: map["role"],
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "path" => "", "usedPercent" => "0%", "available" => "0GB", "mounted" => false }.merge(map)
24
25
  DatabaseStatusVolume.new(
25
26
  xpath: map["path"],
26
27
  used_percent: map["usedPercent"],
@@ -29,6 +29,9 @@ module Appwrite
29
29
  attr_reader :cpu
30
30
  attr_reader :memory
31
31
  attr_reader :storage
32
+ attr_reader :storage_status
33
+ attr_reader :storage_target_gb
34
+ attr_reader :storage_resize_started_at
32
35
  attr_reader :storage_class
33
36
  attr_reader :storage_max_gb
34
37
  attr_reader :node_pool
@@ -59,27 +62,30 @@ module Appwrite
59
62
  updated_at:,
60
63
  project_id:,
61
64
  name:,
62
- api:,
63
- engine:,
65
+ api: nil,
66
+ engine: nil,
64
67
  version:,
65
68
  specification:,
66
69
  backend:,
67
70
  hostname:,
68
- connection_port:,
71
+ connection_port: nil,
69
72
  connection_user:,
70
73
  connection_password:,
71
- credential_generation:,
74
+ credential_generation: nil,
72
75
  connection_string:,
73
76
  ssl:,
74
77
  status:,
75
78
  container_status:,
76
- last_accessed_at:,
77
- idle_until:,
79
+ last_accessed_at: nil,
80
+ idle_until: nil,
78
81
  lifecycle_state:,
79
82
  idle_timeout_minutes:,
80
83
  cpu:,
81
84
  memory:,
82
85
  storage:,
86
+ storage_status:,
87
+ storage_target_gb:,
88
+ storage_resize_started_at: nil,
83
89
  storage_class:,
84
90
  storage_max_gb:,
85
91
  node_pool:,
@@ -130,6 +136,9 @@ module Appwrite
130
136
  @cpu = cpu
131
137
  @memory = memory
132
138
  @storage = storage
139
+ @storage_status = storage_status
140
+ @storage_target_gb = storage_target_gb
141
+ @storage_resize_started_at = storage_resize_started_at
133
142
  @storage_class = storage_class
134
143
  @storage_max_gb = storage_max_gb
135
144
  @node_pool = node_pool
@@ -156,6 +165,7 @@ module Appwrite
156
165
  end
157
166
 
158
167
  def self.from(map:)
168
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "projectId" => "", "name" => "", "version" => "", "specification" => "", "backend" => "", "hostname" => "", "connectionUser" => "", "connectionPassword" => "", "connectionString" => "", "ssl" => false, "status" => "provisioning", "containerStatus" => "", "lifecycleState" => "", "idleTimeoutMinutes" => 15, "cpu" => 500, "memory" => 512, "storage" => 10, "storageStatus" => "idle", "storageTargetGb" => 0, "storageClass" => "ssd", "storageMaxGb" => 0, "nodePool" => "", "replicas" => 0, "syncMode" => "", "networkMaxConnections" => 100, "networkIdleTimeoutSeconds" => 900, "networkIPAllowlist" => [], "backupEnabled" => true, "pitr" => true, "pitrRetentionDays" => 7, "storageAutoscaling" => true, "storageAutoscalingThresholdPercent" => 85, "storageAutoscalingMaxGb" => 0, "maintenanceWindowDay" => "sun", "maintenanceWindowHourUtc" => 3, "metricsEnabled" => false, "sqlApiEnabled" => true, "sqlApiAllowedStatements" => ["SELECT", "INSERT", "UPDATE", "DELETE"], "sqlApiMaxRows" => 10000, "sqlApiMaxBytes" => 10485760, "sqlApiTimeoutSeconds" => 30, "error" => "" }.merge(map)
159
169
  DedicatedDatabase.new(
160
170
  id: map["$id"],
161
171
  created_at: map["$createdAt"],
@@ -183,6 +193,9 @@ module Appwrite
183
193
  cpu: map["cpu"],
184
194
  memory: map["memory"],
185
195
  storage: map["storage"],
196
+ storage_status: map["storageStatus"],
197
+ storage_target_gb: map["storageTargetGb"],
198
+ storage_resize_started_at: map["storageResizeStartedAt"],
186
199
  storage_class: map["storageClass"],
187
200
  storage_max_gb: map["storageMaxGb"],
188
201
  node_pool: map["nodePool"],
@@ -237,6 +250,9 @@ module Appwrite
237
250
  "cpu": @cpu,
238
251
  "memory": @memory,
239
252
  "storage": @storage,
253
+ "storageStatus": @storage_status,
254
+ "storageTargetGb": @storage_target_gb,
255
+ "storageResizeStartedAt": @storage_resize_started_at,
240
256
  "storageClass": @storage_class,
241
257
  "storageMaxGb": @storage_max_gb,
242
258
  "nodePool": @node_pool,
@@ -33,11 +33,11 @@ module Appwrite
33
33
  fallback_reason:,
34
34
  status:,
35
35
  size_bytes:,
36
- started_at:,
37
- completed_at:,
38
- verified_at:,
39
- expires_at:,
40
- log_position:,
36
+ started_at: nil,
37
+ completed_at: nil,
38
+ verified_at: nil,
39
+ expires_at: nil,
40
+ log_position: nil,
41
41
  error:
42
42
  )
43
43
  @id = id
@@ -60,6 +60,7 @@ module Appwrite
60
60
  end
61
61
 
62
62
  def self.from(map:)
63
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "projectId" => "", "policyId" => "", "trigger" => "manual", "type" => "full", "requestedType" => "", "fallbackReason" => "", "status" => "pending", "sizeBytes" => 0, "error" => "" }.merge(map)
63
64
  DedicatedDatabaseBackup.new(
64
65
  id: map["$id"],
65
66
  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, "backups" => [] }.merge(map)
18
19
  DedicatedDatabaseBackupList.new(
19
20
  total: map["total"],
20
21
  backups: map["backups"].map { |it| DedicatedDatabaseBackup.from(map: it) }
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "provider" => "", "bucket" => "", "region" => "", "prefix" => "backups/", "endpoint" => "" }.merge(map)
27
28
  DedicatedDatabaseBackupStorage.new(
28
29
  provider: map["provider"],
29
30
  bucket: map["bucket"],
@@ -22,7 +22,7 @@ module Appwrite
22
22
  namespace:,
23
23
  expires_at:,
24
24
  host:,
25
- port:,
25
+ port: nil,
26
26
  database:,
27
27
  username:,
28
28
  password:,
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "branchId" => "", "branchName" => "", "namespace" => "", "expiresAt" => 0, "host" => "", "database" => "", "username" => "", "password" => "", "ssl" => false, "engine" => "", "connectionString" => "" }.merge(map)
48
49
  DedicatedDatabaseBranch.new(
49
50
  branch_id: map["branchId"],
50
51
  branch_name: map["branchName"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "branches" => [] }.merge(map)
18
19
  DedicatedDatabaseBranchList.new(
19
20
  total: map["total"],
20
21
  branches: map["branches"].map { |it| DedicatedDatabaseBranch.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "rows" => [], "rowCount" => 0, "columns" => [], "durationMs" => 0, "truncated" => false, "bytes" => 0 }.merge(map)
30
31
  DedicatedDatabaseExecution.new(
31
32
  rows: map["rows"],
32
33
  row_count: map["rowCount"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "name" => "", "type" => "" }.merge(map)
18
19
  DedicatedDatabaseExecutionColumn.new(
19
20
  name: map["name"],
20
21
  type: map["type"]
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "installed" => [], "available" => [], "metadata" => [] }.merge(map)
21
22
  DedicatedDatabaseExtensions.new(
22
23
  installed: map["installed"],
23
24
  available: map["available"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "databases" => [] }.merge(map)
18
19
  DedicatedDatabaseList.new(
19
20
  total: map["total"],
20
21
  databases: map["databases"].map { |it| DedicatedDatabase.from(map: it) }
@@ -13,8 +13,8 @@ module Appwrite
13
13
  id:,
14
14
  role:,
15
15
  status:,
16
- replicating:,
17
- lag_seconds:
16
+ replicating: nil,
17
+ lag_seconds: nil
18
18
  )
19
19
  @id = id
20
20
  @role = role
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "$id" => "", "role" => "unknown", "status" => "" }.merge(map)
27
28
  DedicatedDatabaseMember.new(
28
29
  id: map["$id"],
29
30
  role: map["role"],
@@ -22,9 +22,9 @@ module Appwrite
22
22
  type:,
23
23
  status:,
24
24
  attempts:,
25
- requested_at:,
26
- started_at:,
27
- completed_at:,
25
+ requested_at: nil,
26
+ started_at: nil,
27
+ completed_at: nil,
28
28
  error_code:,
29
29
  error_message:
30
30
  )
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "type" => "", "status" => "", "attempts" => 0, "errorCode" => "", "errorMessage" => "" }.merge(map)
45
46
  DedicatedDatabaseOperation.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, "operations" => [] }.merge(map)
18
19
  DedicatedDatabaseOperationList.new(
19
20
  total: map["total"],
20
21
  operations: map["operations"].map { |it| DedicatedDatabaseOperation.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "earliest" => "", "latest" => "" }.merge(map)
18
19
  DedicatedDatabasePITRWindows.new(
19
20
  earliest: map["earliest"],
20
21
  latest: map["latest"]
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "enabled" => false, "mode" => "transaction", "maxConnections" => 100, "defaultPoolSize" => 20, "port" => 6432, "readWriteSplitting" => false, "poolerCpuRequest" => "", "poolerCpuLimit" => "", "poolerMemoryRequest" => "", "poolerMemoryLimit" => "" }.merge(map)
42
43
  DedicatedDatabasePooler.new(
43
44
  enabled: map["enabled"],
44
45
  mode: map["mode"],
@@ -15,11 +15,11 @@ module Appwrite
15
15
  def initialize(
16
16
  replicas:,
17
17
  sync_mode:,
18
- effective_sync_mode:,
18
+ effective_sync_mode: nil,
19
19
  sync_degraded:,
20
20
  sync_acknowledgements:,
21
21
  sync_standby_count:,
22
- sync_state_confirmed:,
22
+ sync_state_confirmed: nil,
23
23
  members:
24
24
  )
25
25
  @replicas = replicas
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "replicas" => 0, "syncMode" => "async", "syncDegraded" => false, "syncAcknowledgements" => 0, "syncStandbyCount" => 0, "members" => [] }.merge(map)
36
37
  DedicatedDatabaseReplicas.new(
37
38
  replicas: map["replicas"],
38
39
  sync_mode: map["syncMode"],
@@ -10,6 +10,7 @@ module Appwrite
10
10
  attr_reader :project_id
11
11
  attr_reader :backup_id
12
12
  attr_reader :type
13
+ attr_reader :restore_mode
13
14
  attr_reader :status
14
15
  attr_reader :target_time
15
16
  attr_reader :started_at
@@ -20,14 +21,15 @@ module Appwrite
20
21
  id:,
21
22
  created_at:,
22
23
  database_id:,
23
- source_database_id:,
24
+ source_database_id: nil,
24
25
  project_id:,
25
- backup_id:,
26
+ backup_id: nil,
26
27
  type:,
28
+ restore_mode:,
27
29
  status:,
28
- target_time:,
29
- started_at:,
30
- completed_at:,
30
+ target_time: nil,
31
+ started_at: nil,
32
+ completed_at: nil,
31
33
  error:
32
34
  )
33
35
  @id = id
@@ -37,6 +39,7 @@ module Appwrite
37
39
  @project_id = project_id
38
40
  @backup_id = backup_id
39
41
  @type = type
42
+ @restore_mode = restore_mode
40
43
  @status = status
41
44
  @target_time = target_time
42
45
  @started_at = started_at
@@ -45,6 +48,7 @@ module Appwrite
45
48
  end
46
49
 
47
50
  def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "projectId" => "", "type" => "backup", "restoreMode" => "in_place", "status" => "pending", "error" => "" }.merge(map)
48
52
  DedicatedDatabaseRestoration.new(
49
53
  id: map["$id"],
50
54
  created_at: map["$createdAt"],
@@ -53,6 +57,7 @@ module Appwrite
53
57
  project_id: map["projectId"],
54
58
  backup_id: map["backupId"],
55
59
  type: map["type"],
60
+ restore_mode: map["restoreMode"],
56
61
  status: map["status"],
57
62
  target_time: map["targetTime"],
58
63
  started_at: map["startedAt"],
@@ -70,6 +75,7 @@ module Appwrite
70
75
  "projectId": @project_id,
71
76
  "backupId": @backup_id,
72
77
  "type": @type,
78
+ "restoreMode": @restore_mode,
73
79
  "status": @status,
74
80
  "targetTime": @target_time,
75
81
  "startedAt": @started_at,
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "restorations" => [] }.merge(map)
18
19
  DedicatedDatabaseRestorationList.new(
19
20
  total: map["total"],
20
21
  restorations: map["restorations"].map { |it| DedicatedDatabaseRestoration.from(map: it) }
@@ -6,6 +6,10 @@ module Appwrite
6
6
  attr_reader :slug
7
7
  attr_reader :name
8
8
  attr_reader :price
9
+ attr_reader :storage_overage_rate
10
+ attr_reader :bandwidth_overage_rate
11
+ attr_reader :replica_rate
12
+ attr_reader :pitr_rate
9
13
  attr_reader :cpu
10
14
  attr_reader :memory
11
15
  attr_reader :max_connections
@@ -17,6 +21,10 @@ module Appwrite
17
21
  slug:,
18
22
  name:,
19
23
  price:,
24
+ storage_overage_rate:,
25
+ bandwidth_overage_rate:,
26
+ replica_rate:,
27
+ pitr_rate:,
20
28
  cpu:,
21
29
  memory:,
22
30
  max_connections:,
@@ -27,6 +35,10 @@ module Appwrite
27
35
  @slug = slug
28
36
  @name = name
29
37
  @price = price
38
+ @storage_overage_rate = storage_overage_rate
39
+ @bandwidth_overage_rate = bandwidth_overage_rate
40
+ @replica_rate = replica_rate
41
+ @pitr_rate = pitr_rate
30
42
  @cpu = cpu
31
43
  @memory = memory
32
44
  @max_connections = max_connections
@@ -36,10 +48,15 @@ module Appwrite
36
48
  end
37
49
 
38
50
  def self.from(map:)
51
+ map = { "slug" => "", "name" => "", "price" => 0, "storageOverageRate" => 0, "bandwidthOverageRate" => 0, "replicaRate" => 0, "pitrRate" => 0, "cpu" => 0, "memory" => 0, "maxConnections" => 0, "includedStorage" => 0, "includedBandwidth" => 0, "enabled" => false }.merge(map)
39
52
  DedicatedDatabaseSpecification.new(
40
53
  slug: map["slug"],
41
54
  name: map["name"],
42
55
  price: map["price"],
56
+ storage_overage_rate: map["storageOverageRate"],
57
+ bandwidth_overage_rate: map["bandwidthOverageRate"],
58
+ replica_rate: map["replicaRate"],
59
+ pitr_rate: map["pitrRate"],
43
60
  cpu: map["cpu"],
44
61
  memory: map["memory"],
45
62
  max_connections: map["maxConnections"],
@@ -54,6 +71,10 @@ module Appwrite
54
71
  "slug": @slug,
55
72
  "name": @name,
56
73
  "price": @price,
74
+ "storageOverageRate": @storage_overage_rate,
75
+ "bandwidthOverageRate": @bandwidth_overage_rate,
76
+ "replicaRate": @replica_rate,
77
+ "pitrRate": @pitr_rate,
57
78
  "cpu": @cpu,
58
79
  "memory": @memory,
59
80
  "maxConnections": @max_connections,
@@ -5,31 +5,27 @@ module Appwrite
5
5
  class DedicatedDatabaseSpecificationList
6
6
  attr_reader :specifications
7
7
  attr_reader :total
8
- attr_reader :pricing
9
8
 
10
9
  def initialize(
11
10
  specifications:,
12
- total:,
13
- pricing:
11
+ total:
14
12
  )
15
13
  @specifications = specifications
16
14
  @total = total
17
- @pricing = pricing
18
15
  end
19
16
 
20
17
  def self.from(map:)
18
+ map = { "specifications" => [], "total" => 0 }.merge(map)
21
19
  DedicatedDatabaseSpecificationList.new(
22
20
  specifications: map["specifications"].map { |it| DedicatedDatabaseSpecification.from(map: it) },
23
- total: map["total"],
24
- pricing: DedicatedDatabaseSpecificationPricing.from(map: map["pricing"])
21
+ total: map["total"]
25
22
  )
26
23
  end
27
24
 
28
25
  def to_map
29
26
  {
30
27
  "specifications": @specifications.map { |it| it.to_map },
31
- "total": @total,
32
- "pricing": @pricing.to_map
28
+ "total": @total
33
29
  }
34
30
  end
35
31
  end
@@ -90,6 +90,7 @@ module Appwrite
90
90
  end
91
91
 
92
92
  def self.from(map:)
93
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "type" => "", "resourceId" => "", "resourceType" => "", "entrypoint" => "", "sourceSize" => 0, "buildSize" => 0, "totalSize" => 0, "buildId" => "", "activate" => false, "screenshotLight" => "", "screenshotDark" => "", "buildLogs" => "", "buildDuration" => 0, "providerRepositoryName" => "", "providerRepositoryOwner" => "", "providerRepositoryUrl" => "", "providerCommitHash" => "", "providerCommitAuthorUrl" => "", "providerCommitAuthor" => "", "providerCommitMessage" => "", "providerCommitUrl" => "", "providerBranch" => "", "providerBranchUrl" => "" }.merge(map)
93
94
  Deployment.new(
94
95
  id: map["$id"],
95
96
  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, "deployments" => [] }.merge(map)
18
19
  DeploymentList.new(
19
20
  total: map["total"],
20
21
  deployments: map["deployments"].map { |it| Deployment.from(map: it) }
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DnsRecord
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :type
10
+ attr_reader :name
11
+ attr_reader :value
12
+ attr_reader :ttl
13
+ attr_reader :priority
14
+ attr_reader :lock
15
+ attr_reader :weight
16
+ attr_reader :port
17
+ attr_reader :comment
18
+
19
+ def initialize(
20
+ id:,
21
+ created_at:,
22
+ updated_at:,
23
+ type:,
24
+ name:,
25
+ value:,
26
+ ttl:,
27
+ priority:,
28
+ lock:,
29
+ weight:,
30
+ port:,
31
+ comment:
32
+ )
33
+ @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
36
+ @type = type
37
+ @name = name
38
+ @value = value
39
+ @ttl = ttl
40
+ @priority = priority
41
+ @lock = lock
42
+ @weight = weight
43
+ @port = port
44
+ @comment = comment
45
+ end
46
+
47
+ def self.from(map:)
48
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "type" => "", "name" => "", "value" => "", "ttl" => 3600, "priority" => 0, "lock" => false, "weight" => 0, "port" => 0, "comment" => "" }.merge(map)
49
+ DnsRecord.new(
50
+ id: map["$id"],
51
+ created_at: map["$createdAt"],
52
+ updated_at: map["$updatedAt"],
53
+ type: map["type"],
54
+ name: map["name"],
55
+ value: map["value"],
56
+ ttl: map["ttl"],
57
+ priority: map["priority"],
58
+ lock: map["lock"],
59
+ weight: map["weight"],
60
+ port: map["port"],
61
+ comment: map["comment"]
62
+ )
63
+ end
64
+
65
+ def to_map
66
+ {
67
+ "$id": @id,
68
+ "$createdAt": @created_at,
69
+ "$updatedAt": @updated_at,
70
+ "type": @type,
71
+ "name": @name,
72
+ "value": @value,
73
+ "ttl": @ttl,
74
+ "priority": @priority,
75
+ "lock": @lock,
76
+ "weight": @weight,
77
+ "port": @port,
78
+ "comment": @comment
79
+ }
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DnsRecordsList
6
+ attr_reader :total
7
+ attr_reader :dns_records
8
+
9
+ def initialize(
10
+ total:,
11
+ dns_records:
12
+ )
13
+ @total = total
14
+ @dns_records = dns_records
15
+ end
16
+
17
+ def self.from(map:)
18
+ map = { "total" => 0, "dnsRecords" => [] }.merge(map)
19
+ DnsRecordsList.new(
20
+ total: map["total"],
21
+ dns_records: map["dnsRecords"].map { |it| DnsRecord.from(map: it) }
22
+ )
23
+ end
24
+
25
+ def to_map
26
+ {
27
+ "total": @total,
28
+ "dnsRecords": @dns_records.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 = { "$id" => "", "$sequence" => "", "$collectionId" => "", "$databaseId" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [] }.merge(map)
36
37
  Document.new(
37
38
  id: map["$id"],
38
39
  sequence: map["$sequence"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "documents" => [] }.merge(map)
18
19
  DocumentList.new(
19
20
  total: map["total"],
20
21
  documents: map["documents"].map { |it| Document.from(map: it) }