appwrite 28.4.0 → 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 (349) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +17 -17
  3. data/lib/appwrite/enums/billing_plan_group.rb +0 -1
  4. data/lib/appwrite/enums/execution_trigger.rb +1 -0
  5. data/lib/appwrite/enums/proxy_rule_protocol.rb +8 -0
  6. data/lib/appwrite/models/account.rb +8 -8
  7. data/lib/appwrite/models/activity_event.rb +1 -0
  8. data/lib/appwrite/models/activity_event_list.rb +1 -0
  9. data/lib/appwrite/models/additional_resource.rb +1 -0
  10. data/lib/appwrite/models/algo_argon2.rb +1 -0
  11. data/lib/appwrite/models/algo_bcrypt.rb +1 -0
  12. data/lib/appwrite/models/algo_md5.rb +1 -0
  13. data/lib/appwrite/models/algo_phpass.rb +1 -0
  14. data/lib/appwrite/models/algo_scrypt.rb +1 -0
  15. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -0
  16. data/lib/appwrite/models/algo_sha.rb +1 -0
  17. data/lib/appwrite/models/app.rb +1 -0
  18. data/lib/appwrite/models/app_installation.rb +2 -1
  19. data/lib/appwrite/models/app_installation_list.rb +1 -0
  20. data/lib/appwrite/models/app_key.rb +2 -1
  21. data/lib/appwrite/models/app_key_list.rb +1 -0
  22. data/lib/appwrite/models/app_scope.rb +1 -0
  23. data/lib/appwrite/models/app_scope_list.rb +1 -0
  24. data/lib/appwrite/models/app_secret.rb +2 -1
  25. data/lib/appwrite/models/app_secret_list.rb +1 -0
  26. data/lib/appwrite/models/app_secret_plaintext.rb +2 -1
  27. data/lib/appwrite/models/apps_list.rb +1 -0
  28. data/lib/appwrite/models/attribute_bigint.rb +5 -4
  29. data/lib/appwrite/models/attribute_boolean.rb +3 -2
  30. data/lib/appwrite/models/attribute_datetime.rb +3 -2
  31. data/lib/appwrite/models/attribute_email.rb +3 -2
  32. data/lib/appwrite/models/attribute_enum.rb +3 -2
  33. data/lib/appwrite/models/attribute_float.rb +5 -4
  34. data/lib/appwrite/models/attribute_integer.rb +5 -4
  35. data/lib/appwrite/models/attribute_ip.rb +3 -2
  36. data/lib/appwrite/models/attribute_line.rb +3 -2
  37. data/lib/appwrite/models/attribute_list.rb +1 -0
  38. data/lib/appwrite/models/attribute_longtext.rb +4 -3
  39. data/lib/appwrite/models/attribute_mediumtext.rb +4 -3
  40. data/lib/appwrite/models/attribute_object.rb +2 -1
  41. data/lib/appwrite/models/attribute_point.rb +3 -2
  42. data/lib/appwrite/models/attribute_polygon.rb +3 -2
  43. data/lib/appwrite/models/attribute_relationship.rb +2 -1
  44. data/lib/appwrite/models/attribute_string.rb +4 -3
  45. data/lib/appwrite/models/attribute_text.rb +4 -3
  46. data/lib/appwrite/models/attribute_url.rb +3 -2
  47. data/lib/appwrite/models/attribute_varchar.rb +4 -3
  48. data/lib/appwrite/models/attribute_vector.rb +2 -1
  49. data/lib/appwrite/models/backup_archive.rb +5 -4
  50. data/lib/appwrite/models/backup_archive_list.rb +1 -0
  51. data/lib/appwrite/models/backup_policy.rb +3 -2
  52. data/lib/appwrite/models/backup_policy_list.rb +1 -0
  53. data/lib/appwrite/models/backup_restoration.rb +2 -1
  54. data/lib/appwrite/models/backup_restoration_list.rb +1 -0
  55. data/lib/appwrite/models/billing_limits.rb +8 -8
  56. data/lib/appwrite/models/billing_plan.rb +14 -14
  57. data/lib/appwrite/models/billing_plan_addon.rb +2 -2
  58. data/lib/appwrite/models/billing_plan_addon_details.rb +2 -1
  59. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +19 -19
  60. data/lib/appwrite/models/billing_plan_limits.rb +2 -2
  61. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -0
  62. data/lib/appwrite/models/block.rb +4 -33
  63. data/lib/appwrite/models/bucket.rb +1 -0
  64. data/lib/appwrite/models/bucket_list.rb +1 -0
  65. data/lib/appwrite/models/collection.rb +1 -0
  66. data/lib/appwrite/models/collection_list.rb +1 -0
  67. data/lib/appwrite/models/column_bigint.rb +5 -4
  68. data/lib/appwrite/models/column_boolean.rb +3 -2
  69. data/lib/appwrite/models/column_datetime.rb +3 -2
  70. data/lib/appwrite/models/column_email.rb +3 -2
  71. data/lib/appwrite/models/column_enum.rb +3 -2
  72. data/lib/appwrite/models/column_float.rb +5 -4
  73. data/lib/appwrite/models/column_index.rb +2 -1
  74. data/lib/appwrite/models/column_index_list.rb +1 -0
  75. data/lib/appwrite/models/column_integer.rb +5 -4
  76. data/lib/appwrite/models/column_ip.rb +3 -2
  77. data/lib/appwrite/models/column_line.rb +3 -2
  78. data/lib/appwrite/models/column_list.rb +1 -0
  79. data/lib/appwrite/models/column_longtext.rb +4 -3
  80. data/lib/appwrite/models/column_mediumtext.rb +4 -3
  81. data/lib/appwrite/models/column_point.rb +3 -2
  82. data/lib/appwrite/models/column_polygon.rb +3 -2
  83. data/lib/appwrite/models/column_relationship.rb +2 -1
  84. data/lib/appwrite/models/column_string.rb +4 -3
  85. data/lib/appwrite/models/column_text.rb +4 -3
  86. data/lib/appwrite/models/column_url.rb +3 -2
  87. data/lib/appwrite/models/column_varchar.rb +4 -3
  88. data/lib/appwrite/models/continent.rb +1 -0
  89. data/lib/appwrite/models/continent_list.rb +1 -0
  90. data/lib/appwrite/models/country.rb +1 -0
  91. data/lib/appwrite/models/country_list.rb +1 -0
  92. data/lib/appwrite/models/currency.rb +1 -0
  93. data/lib/appwrite/models/currency_list.rb +1 -0
  94. data/lib/appwrite/models/database.rb +10 -9
  95. data/lib/appwrite/models/database_list.rb +1 -0
  96. data/lib/appwrite/models/database_migration.rb +1 -0
  97. data/lib/appwrite/models/database_migration_list.rb +1 -0
  98. data/lib/appwrite/models/database_status.rb +6 -5
  99. data/lib/appwrite/models/database_status_connections.rb +1 -0
  100. data/lib/appwrite/models/database_status_replica.rb +3 -2
  101. data/lib/appwrite/models/database_status_volume.rb +1 -0
  102. data/lib/appwrite/models/dedicated_database.rb +8 -7
  103. data/lib/appwrite/models/dedicated_database_backup.rb +6 -5
  104. data/lib/appwrite/models/dedicated_database_backup_list.rb +1 -0
  105. data/lib/appwrite/models/dedicated_database_backup_storage.rb +1 -0
  106. data/lib/appwrite/models/dedicated_database_branch.rb +2 -1
  107. data/lib/appwrite/models/dedicated_database_branch_list.rb +1 -0
  108. data/lib/appwrite/models/dedicated_database_execution.rb +1 -0
  109. data/lib/appwrite/models/dedicated_database_execution_column.rb +1 -0
  110. data/lib/appwrite/models/dedicated_database_extensions.rb +1 -0
  111. data/lib/appwrite/models/dedicated_database_list.rb +1 -0
  112. data/lib/appwrite/models/dedicated_database_member.rb +3 -2
  113. data/lib/appwrite/models/dedicated_database_operation.rb +4 -3
  114. data/lib/appwrite/models/dedicated_database_operation_list.rb +1 -0
  115. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +1 -0
  116. data/lib/appwrite/models/dedicated_database_pooler.rb +1 -0
  117. data/lib/appwrite/models/dedicated_database_replicas.rb +3 -2
  118. data/lib/appwrite/models/dedicated_database_restoration.rb +11 -5
  119. data/lib/appwrite/models/dedicated_database_restoration_list.rb +1 -0
  120. data/lib/appwrite/models/dedicated_database_specification.rb +1 -0
  121. data/lib/appwrite/models/dedicated_database_specification_list.rb +4 -8
  122. data/lib/appwrite/models/deployment.rb +1 -0
  123. data/lib/appwrite/models/deployment_list.rb +1 -0
  124. data/lib/appwrite/models/document.rb +1 -0
  125. data/lib/appwrite/models/document_list.rb +1 -0
  126. data/lib/appwrite/models/domain.rb +1 -1
  127. data/lib/appwrite/models/domain_price.rb +2 -2
  128. data/lib/appwrite/models/email_template.rb +1 -0
  129. data/lib/appwrite/models/email_template_list.rb +1 -0
  130. data/lib/appwrite/models/embedding.rb +1 -0
  131. data/lib/appwrite/models/embedding_list.rb +1 -0
  132. data/lib/appwrite/models/ephemeral_key.rb +1 -0
  133. data/lib/appwrite/models/execution.rb +3 -1
  134. data/lib/appwrite/models/execution_list.rb +1 -0
  135. data/lib/appwrite/models/file.rb +1 -0
  136. data/lib/appwrite/models/file_list.rb +1 -0
  137. data/lib/appwrite/models/framework.rb +1 -0
  138. data/lib/appwrite/models/framework_adapter.rb +2 -1
  139. data/lib/appwrite/models/framework_list.rb +1 -0
  140. data/lib/appwrite/models/function.rb +10 -4
  141. data/lib/appwrite/models/function_list.rb +1 -0
  142. data/lib/appwrite/models/headers.rb +1 -0
  143. data/lib/appwrite/models/identity.rb +1 -0
  144. data/lib/appwrite/models/identity_list.rb +1 -0
  145. data/lib/appwrite/models/index.rb +2 -1
  146. data/lib/appwrite/models/index_list.rb +1 -0
  147. data/lib/appwrite/models/insight.rb +4 -3
  148. data/lib/appwrite/models/insight_cta.rb +1 -0
  149. data/lib/appwrite/models/insight_list.rb +1 -0
  150. data/lib/appwrite/models/jwt.rb +1 -0
  151. data/lib/appwrite/models/key.rb +1 -0
  152. data/lib/appwrite/models/key_list.rb +1 -0
  153. data/lib/appwrite/models/language.rb +1 -0
  154. data/lib/appwrite/models/language_list.rb +1 -0
  155. data/lib/appwrite/models/locale.rb +12 -11
  156. data/lib/appwrite/models/locale_code.rb +1 -0
  157. data/lib/appwrite/models/locale_code_list.rb +1 -0
  158. data/lib/appwrite/models/membership.rb +1 -0
  159. data/lib/appwrite/models/membership_list.rb +1 -0
  160. data/lib/appwrite/models/message.rb +4 -3
  161. data/lib/appwrite/models/message_list.rb +1 -0
  162. data/lib/appwrite/models/mfa_challenge.rb +1 -0
  163. data/lib/appwrite/models/mfa_challenge_secret.rb +1 -0
  164. data/lib/appwrite/models/mfa_factors.rb +1 -0
  165. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -0
  166. data/lib/appwrite/models/mfa_type.rb +1 -0
  167. data/lib/appwrite/models/mock_number.rb +1 -0
  168. data/lib/appwrite/models/mock_number_list.rb +1 -0
  169. data/lib/appwrite/models/o_auth2_amazon.rb +1 -0
  170. data/lib/appwrite/models/o_auth2_apple.rb +1 -0
  171. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -0
  172. data/lib/appwrite/models/o_auth2_auth0.rb +2 -1
  173. data/lib/appwrite/models/o_auth2_authentik.rb +1 -0
  174. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -0
  175. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -0
  176. data/lib/appwrite/models/o_auth2_bitly.rb +1 -0
  177. data/lib/appwrite/models/o_auth2_box.rb +1 -0
  178. data/lib/appwrite/models/o_auth2_cloudflare.rb +1 -0
  179. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -0
  180. data/lib/appwrite/models/o_auth2_discord.rb +2 -1
  181. data/lib/appwrite/models/o_auth2_disqus.rb +1 -0
  182. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -0
  183. data/lib/appwrite/models/o_auth2_etsy.rb +1 -0
  184. data/lib/appwrite/models/o_auth2_facebook.rb +1 -0
  185. data/lib/appwrite/models/o_auth2_figma.rb +1 -0
  186. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -0
  187. data/lib/appwrite/models/o_auth2_github.rb +2 -1
  188. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -0
  189. data/lib/appwrite/models/o_auth2_google.rb +1 -0
  190. data/lib/appwrite/models/o_auth2_hugging_face.rb +1 -0
  191. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -0
  192. data/lib/appwrite/models/o_auth2_kick.rb +1 -0
  193. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -0
  194. data/lib/appwrite/models/o_auth2_microsoft.rb +2 -1
  195. data/lib/appwrite/models/o_auth2_notion.rb +1 -0
  196. data/lib/appwrite/models/o_auth2_oidc.rb +7 -6
  197. data/lib/appwrite/models/o_auth2_okta.rb +2 -1
  198. data/lib/appwrite/models/o_auth2_paypal.rb +1 -0
  199. data/lib/appwrite/models/o_auth2_podio.rb +1 -0
  200. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -0
  201. data/lib/appwrite/models/o_auth2_resend.rb +1 -0
  202. data/lib/appwrite/models/o_auth2_salesforce.rb +2 -1
  203. data/lib/appwrite/models/o_auth2_slack.rb +1 -0
  204. data/lib/appwrite/models/o_auth2_spotify.rb +1 -0
  205. data/lib/appwrite/models/o_auth2_stripe.rb +1 -0
  206. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -0
  207. data/lib/appwrite/models/o_auth2_twitch.rb +1 -0
  208. data/lib/appwrite/models/o_auth2_word_press.rb +1 -0
  209. data/lib/appwrite/models/o_auth2_x.rb +1 -0
  210. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -0
  211. data/lib/appwrite/models/o_auth2_yandex.rb +1 -0
  212. data/lib/appwrite/models/o_auth2_zoho.rb +2 -1
  213. data/lib/appwrite/models/o_auth2_zoom.rb +1 -0
  214. data/lib/appwrite/models/oauth2_approve.rb +1 -0
  215. data/lib/appwrite/models/oauth2_authorize.rb +1 -0
  216. data/lib/appwrite/models/oauth2_consent.rb +1 -0
  217. data/lib/appwrite/models/oauth2_consent_list.rb +1 -0
  218. data/lib/appwrite/models/oauth2_consent_token.rb +1 -0
  219. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -0
  220. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -0
  221. data/lib/appwrite/models/oauth2_grant.rb +1 -0
  222. data/lib/appwrite/models/oauth2_introspection.rb +11 -11
  223. data/lib/appwrite/models/oauth2_organization.rb +1 -0
  224. data/lib/appwrite/models/oauth2_organization_list.rb +1 -0
  225. data/lib/appwrite/models/oauth2_par.rb +1 -0
  226. data/lib/appwrite/models/oauth2_project.rb +1 -0
  227. data/lib/appwrite/models/oauth2_project_list.rb +1 -0
  228. data/lib/appwrite/models/oauth2_reject.rb +1 -0
  229. data/lib/appwrite/models/oauth2_token.rb +3 -2
  230. data/lib/appwrite/models/organization.rb +21 -20
  231. data/lib/appwrite/models/passkey.rb +1 -0
  232. data/lib/appwrite/models/passkey_challenge.rb +1 -0
  233. data/lib/appwrite/models/passkey_list.rb +1 -0
  234. data/lib/appwrite/models/phone.rb +1 -0
  235. data/lib/appwrite/models/phone_list.rb +1 -0
  236. data/lib/appwrite/models/platform_android.rb +1 -0
  237. data/lib/appwrite/models/platform_apple.rb +1 -0
  238. data/lib/appwrite/models/platform_linux.rb +1 -0
  239. data/lib/appwrite/models/platform_list.rb +1 -0
  240. data/lib/appwrite/models/platform_web.rb +1 -0
  241. data/lib/appwrite/models/platform_windows.rb +1 -0
  242. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -0
  243. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -0
  244. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -0
  245. data/lib/appwrite/models/policy_deny_free_email.rb +1 -0
  246. data/lib/appwrite/models/policy_list.rb +1 -0
  247. data/lib/appwrite/models/policy_membership_privacy.rb +1 -0
  248. data/lib/appwrite/models/policy_mfa_factors.rb +1 -0
  249. data/lib/appwrite/models/policy_passkey.rb +1 -0
  250. data/lib/appwrite/models/policy_password_dictionary.rb +1 -0
  251. data/lib/appwrite/models/policy_password_history.rb +1 -0
  252. data/lib/appwrite/models/policy_password_personal_data.rb +1 -0
  253. data/lib/appwrite/models/policy_password_strength.rb +1 -0
  254. data/lib/appwrite/models/policy_session_alert.rb +1 -0
  255. data/lib/appwrite/models/policy_session_duration.rb +1 -0
  256. data/lib/appwrite/models/policy_session_invalidation.rb +1 -0
  257. data/lib/appwrite/models/policy_session_limit.rb +1 -0
  258. data/lib/appwrite/models/policy_user_limit.rb +1 -0
  259. data/lib/appwrite/models/postgres_extension.rb +1 -0
  260. data/lib/appwrite/models/presence.rb +4 -3
  261. data/lib/appwrite/models/presence_list.rb +1 -0
  262. data/lib/appwrite/models/program.rb +1 -0
  263. data/lib/appwrite/models/project.rb +23 -27
  264. data/lib/appwrite/models/project_auth_method.rb +1 -0
  265. data/lib/appwrite/models/project_list.rb +1 -0
  266. data/lib/appwrite/models/project_protocol.rb +1 -0
  267. data/lib/appwrite/models/project_service.rb +1 -0
  268. data/lib/appwrite/models/provider.rb +2 -1
  269. data/lib/appwrite/models/provider_list.rb +1 -0
  270. data/lib/appwrite/models/proxy_invalidation.rb +1 -0
  271. data/lib/appwrite/models/proxy_rule.rb +23 -4
  272. data/lib/appwrite/models/proxy_rule_list.rb +1 -0
  273. data/lib/appwrite/models/report.rb +2 -1
  274. data/lib/appwrite/models/report_list.rb +1 -0
  275. data/lib/appwrite/models/resource_token.rb +1 -0
  276. data/lib/appwrite/models/resource_token_list.rb +1 -0
  277. data/lib/appwrite/models/row.rb +1 -0
  278. data/lib/appwrite/models/row_list.rb +1 -0
  279. data/lib/appwrite/models/runtime.rb +1 -0
  280. data/lib/appwrite/models/runtime_list.rb +1 -0
  281. data/lib/appwrite/models/session.rb +1 -0
  282. data/lib/appwrite/models/session_list.rb +1 -0
  283. data/lib/appwrite/models/site.rb +1 -0
  284. data/lib/appwrite/models/site_list.rb +1 -0
  285. data/lib/appwrite/models/specification.rb +1 -0
  286. data/lib/appwrite/models/specification_list.rb +1 -0
  287. data/lib/appwrite/models/subscriber.rb +1 -0
  288. data/lib/appwrite/models/subscriber_list.rb +1 -0
  289. data/lib/appwrite/models/table.rb +1 -0
  290. data/lib/appwrite/models/table_list.rb +1 -0
  291. data/lib/appwrite/models/target.rb +2 -1
  292. data/lib/appwrite/models/target_list.rb +1 -0
  293. data/lib/appwrite/models/team.rb +1 -0
  294. data/lib/appwrite/models/team_list.rb +1 -0
  295. data/lib/appwrite/models/token.rb +1 -0
  296. data/lib/appwrite/models/token_secret.rb +1 -0
  297. data/lib/appwrite/models/topic.rb +3 -2
  298. data/lib/appwrite/models/topic_list.rb +1 -0
  299. data/lib/appwrite/models/transaction.rb +1 -0
  300. data/lib/appwrite/models/transaction_list.rb +1 -0
  301. data/lib/appwrite/models/usage_billing_plan.rb +27 -27
  302. data/lib/appwrite/models/user.rb +12 -11
  303. data/lib/appwrite/models/user_list.rb +1 -0
  304. data/lib/appwrite/models/variable.rb +1 -0
  305. data/lib/appwrite/models/variable_list.rb +1 -0
  306. data/lib/appwrite/models/vectorsdb_collection.rb +1 -0
  307. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  308. data/lib/appwrite/models/webhook.rb +1 -0
  309. data/lib/appwrite/models/webhook_list.rb +1 -0
  310. data/lib/appwrite/query/builder.rb +361 -0
  311. data/lib/appwrite/query.rb +190 -0
  312. data/lib/appwrite/services/account.rb +112 -132
  313. data/lib/appwrite/services/activities.rb +4 -4
  314. data/lib/appwrite/services/advisor.rb +19 -18
  315. data/lib/appwrite/services/apps.rb +89 -89
  316. data/lib/appwrite/services/avatars.rb +21 -21
  317. data/lib/appwrite/services/backups.rb +30 -30
  318. data/lib/appwrite/services/databases.rb +497 -449
  319. data/lib/appwrite/services/documents_db.rb +195 -190
  320. data/lib/appwrite/services/domains.rb +55 -55
  321. data/lib/appwrite/services/embeddings.rb +2 -2
  322. data/lib/appwrite/services/functions.rb +117 -109
  323. data/lib/appwrite/services/graphql.rb +4 -4
  324. data/lib/appwrite/services/messaging.rb +156 -152
  325. data/lib/appwrite/services/mongo.rb +194 -130
  326. data/lib/appwrite/services/mysql.rb +212 -144
  327. data/lib/appwrite/services/oauth2.rb +27 -27
  328. data/lib/appwrite/services/organization.rb +55 -246
  329. data/lib/appwrite/services/postgresql.rb +226 -158
  330. data/lib/appwrite/services/presences.rb +17 -16
  331. data/lib/appwrite/services/project.rb +149 -142
  332. data/lib/appwrite/services/proxy.rb +70 -23
  333. data/lib/appwrite/services/sites.rb +108 -104
  334. data/lib/appwrite/services/storage.rb +62 -59
  335. data/lib/appwrite/services/tables_db.rb +613 -557
  336. data/lib/appwrite/services/teams.rb +83 -81
  337. data/lib/appwrite/services/tokens.rb +25 -24
  338. data/lib/appwrite/services/users.rb +170 -199
  339. data/lib/appwrite/services/vectors_db.rb +181 -176
  340. data/lib/appwrite/services/waf.rb +7 -7
  341. data/lib/appwrite/services/webhooks.rb +23 -22
  342. data/lib/appwrite/topic.rb +53 -0
  343. data/lib/appwrite.rb +6 -9
  344. metadata +5 -7
  345. data/lib/appwrite/enums/organization_key_scopes.rb +0 -22
  346. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -42
  347. data/lib/appwrite/models/dev_key.rb +0 -62
  348. data/lib/appwrite/models/log.rb +0 -132
  349. data/lib/appwrite/models/log_list.rb +0 -32
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "teams" => [] }.merge(map)
18
19
  TeamList.new(
19
20
  total: map["total"],
20
21
  teams: map["teams"].map { |it| Team.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "userId" => "", "secret" => "", "expire" => "", "phrase" => "" }.merge(map)
30
31
  Token.new(
31
32
  id: map["$id"],
32
33
  created_at: map["$createdAt"],
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "userId" => "", "secret" => "", "expire" => "", "phrase" => "" }.merge(map)
30
31
  TokenSecret.new(
31
32
  id: map["$id"],
32
33
  created_at: map["$createdAt"],
@@ -23,8 +23,8 @@ module Appwrite
23
23
  sms_total:,
24
24
  push_total:,
25
25
  subscribe:,
26
- qos:,
27
- expiry:
26
+ qos: nil,
27
+ expiry: 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" => "", "name" => "", "emailTotal" => 0, "smsTotal" => 0, "pushTotal" => 0, "subscribe" => ["users"] }.merge(map)
42
43
  Topic.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, "topics" => [] }.merge(map)
18
19
  TopicList.new(
19
20
  total: map["total"],
20
21
  topics: map["topics"].map { |it| Topic.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "status" => "pending", "operations" => 0, "expiresAt" => "" }.merge(map)
30
31
  Transaction.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, "transactions" => [] }.merge(map)
18
19
  TransactionList.new(
19
20
  total: map["total"],
20
21
  transactions: map["transactions"].map { |it| Transaction.from(map: it) }
@@ -16,17 +16,17 @@ module Appwrite
16
16
  attr_reader :credits
17
17
 
18
18
  def initialize(
19
- bandwidth:,
20
- executions:,
21
- member:,
22
- realtime:,
23
- realtime_messages:,
24
- realtime_bandwidth:,
25
- storage:,
26
- users:,
27
- gb_hours:,
28
- image_transformations:,
29
- credits:
19
+ bandwidth: nil,
20
+ executions: nil,
21
+ member: nil,
22
+ realtime: nil,
23
+ realtime_messages: nil,
24
+ realtime_bandwidth: nil,
25
+ storage: nil,
26
+ users: nil,
27
+ gb_hours: nil,
28
+ image_transformations: nil,
29
+ credits: nil
30
30
  )
31
31
  @bandwidth = bandwidth
32
32
  @executions = executions
@@ -43,32 +43,32 @@ module Appwrite
43
43
 
44
44
  def self.from(map:)
45
45
  UsageBillingPlan.new(
46
- bandwidth: AdditionalResource.from(map: map["bandwidth"]),
47
- executions: AdditionalResource.from(map: map["executions"]),
46
+ bandwidth: map["bandwidth"].nil? ? nil : AdditionalResource.from(map: map["bandwidth"]),
47
+ executions: map["executions"].nil? ? nil : AdditionalResource.from(map: map["executions"]),
48
48
  member: map["member"].nil? ? nil : AdditionalResource.from(map: map["member"]),
49
- realtime: AdditionalResource.from(map: map["realtime"]),
50
- realtime_messages: AdditionalResource.from(map: map["realtimeMessages"]),
49
+ realtime: map["realtime"].nil? ? nil : AdditionalResource.from(map: map["realtime"]),
50
+ realtime_messages: map["realtimeMessages"].nil? ? nil : AdditionalResource.from(map: map["realtimeMessages"]),
51
51
  realtime_bandwidth: map["realtimeBandwidth"].nil? ? nil : AdditionalResource.from(map: map["realtimeBandwidth"]),
52
- storage: AdditionalResource.from(map: map["storage"]),
53
- users: AdditionalResource.from(map: map["users"]),
54
- gb_hours: AdditionalResource.from(map: map["GBHours"]),
55
- image_transformations: AdditionalResource.from(map: map["imageTransformations"]),
52
+ storage: map["storage"].nil? ? nil : AdditionalResource.from(map: map["storage"]),
53
+ users: map["users"].nil? ? nil : AdditionalResource.from(map: map["users"]),
54
+ gb_hours: map["GBHours"].nil? ? nil : AdditionalResource.from(map: map["GBHours"]),
55
+ image_transformations: map["imageTransformations"].nil? ? nil : AdditionalResource.from(map: map["imageTransformations"]),
56
56
  credits: map["credits"].nil? ? nil : AdditionalResource.from(map: map["credits"])
57
57
  )
58
58
  end
59
59
 
60
60
  def to_map
61
61
  {
62
- "bandwidth": @bandwidth.to_map,
63
- "executions": @executions.to_map,
62
+ "bandwidth": @bandwidth&.to_map,
63
+ "executions": @executions&.to_map,
64
64
  "member": @member&.to_map,
65
- "realtime": @realtime.to_map,
66
- "realtimeMessages": @realtime_messages.to_map,
65
+ "realtime": @realtime&.to_map,
66
+ "realtimeMessages": @realtime_messages&.to_map,
67
67
  "realtimeBandwidth": @realtime_bandwidth&.to_map,
68
- "storage": @storage.to_map,
69
- "users": @users.to_map,
70
- "GBHours": @gb_hours.to_map,
71
- "imageTransformations": @image_transformations.to_map,
68
+ "storage": @storage&.to_map,
69
+ "users": @users&.to_map,
70
+ "GBHours": @gb_hours&.to_map,
71
+ "imageTransformations": @image_transformations&.to_map,
72
72
  "credits": @credits&.to_map
73
73
  }
74
74
  end
@@ -36,9 +36,9 @@ module Appwrite
36
36
  created_at:,
37
37
  updated_at:,
38
38
  name:,
39
- password:,
40
- hash:,
41
- hash_options:,
39
+ password: nil,
40
+ hash: nil,
41
+ hash_options: nil,
42
42
  registration:,
43
43
  status:,
44
44
  labels:,
@@ -46,19 +46,19 @@ module Appwrite
46
46
  email:,
47
47
  phone:,
48
48
  email_verification:,
49
- email_canonical:,
50
- email_is_free:,
51
- email_is_disposable:,
52
- email_is_corporate:,
53
- email_is_canonical:,
54
- password_pwned:,
49
+ email_canonical: nil,
50
+ email_is_free: nil,
51
+ email_is_disposable: nil,
52
+ email_is_corporate: nil,
53
+ email_is_canonical: nil,
54
+ password_pwned: nil,
55
55
  phone_verification:,
56
56
  mfa:,
57
57
  prefs:,
58
58
  targets:,
59
59
  accessed_at:,
60
- impersonator:,
61
- impersonator_user_id:
60
+ impersonator: false,
61
+ impersonator_user_id: nil
62
62
  )
63
63
  @id = id
64
64
  @created_at = created_at
@@ -90,6 +90,7 @@ module Appwrite
90
90
  end
91
91
 
92
92
  def self.from(map:)
93
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "registration" => "", "status" => true, "labels" => [], "passwordUpdate" => "", "email" => "", "phone" => "", "emailVerification" => false, "phoneVerification" => false, "mfa" => false, "targets" => [], "accessedAt" => "" }.merge(map)
93
94
  User.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, "users" => [] }.merge(map)
18
19
  UserList.new(
19
20
  total: map["total"],
20
21
  users: map["users"].map { |it| User.from(map: it) }
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "key" => "", "value" => "", "secret" => false, "resourceType" => "", "resourceId" => "" }.merge(map)
36
37
  Variable.new(
37
38
  id: map["$id"],
38
39
  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, "variables" => [] }.merge(map)
18
19
  VariableList.new(
19
20
  total: map["total"],
20
21
  variables: map["variables"].map { |it| Variable.from(map: it) }
@@ -48,6 +48,7 @@ module Appwrite
48
48
  end
49
49
 
50
50
  def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "databaseId" => "", "name" => "", "enabled" => true, "documentSecurity" => false, "attributes" => [], "indexes" => [], "bytesMax" => 0, "bytesUsed" => 0, "dimension" => 0 }.merge(map)
51
52
  VectorsdbCollection.new(
52
53
  id: map["$id"],
53
54
  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, "collections" => [] }.merge(map)
18
19
  VectorsdbCollectionList.new(
19
20
  total: map["total"],
20
21
  collections: map["collections"].map { |it| VectorsdbCollection.from(map: it) }
@@ -48,6 +48,7 @@ module Appwrite
48
48
  end
49
49
 
50
50
  def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "url" => "", "events" => [], "tls" => true, "authUsername" => "", "authPassword" => "", "secret" => "", "enabled" => true, "logs" => "", "attempts" => 0 }.merge(map)
51
52
  Webhook.new(
52
53
  id: map["$id"],
53
54
  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, "webhooks" => [] }.merge(map)
18
19
  WebhookList.new(
19
20
  total: map["total"],
20
21
  webhooks: map["webhooks"].map { |it| Webhook.from(map: it) }
@@ -0,0 +1,361 @@
1
+ require 'json'
2
+
3
+ module Appwrite
4
+ class Query::Builder
5
+ def initialize
6
+ @queries = []
7
+ end
8
+
9
+ def build
10
+ return @queries.dup
11
+ end
12
+
13
+ def equal(attribute, value)
14
+ return push(Query.equal(attribute, value))
15
+ end
16
+
17
+ def not_equal(attribute, value)
18
+ return push(Query.not_equal(attribute, value))
19
+ end
20
+
21
+ def less_than(attribute, value)
22
+ return push(Query.less_than(attribute, value))
23
+ end
24
+
25
+ def less_than_equal(attribute, value)
26
+ return push(Query.less_than_equal(attribute, value))
27
+ end
28
+
29
+ def greater_than(attribute, value)
30
+ return push(Query.greater_than(attribute, value))
31
+ end
32
+
33
+ def greater_than_equal(attribute, value)
34
+ return push(Query.greater_than_equal(attribute, value))
35
+ end
36
+
37
+ def search(attribute, value)
38
+ return push(Query.search(attribute, value))
39
+ end
40
+
41
+ def is_null(attribute)
42
+ return push(Query.is_null(attribute))
43
+ end
44
+
45
+ def is_not_null(attribute)
46
+ return push(Query.is_not_null(attribute))
47
+ end
48
+
49
+ def between(attribute, start, ending)
50
+ return push(Query.between(attribute, start, ending))
51
+ end
52
+
53
+ def starts_with(attribute, value)
54
+ return push(Query.starts_with(attribute, value))
55
+ end
56
+
57
+ def ends_with(attribute, value)
58
+ return push(Query.ends_with(attribute, value))
59
+ end
60
+
61
+ def select(attributes)
62
+ return push(Query.select(attributes))
63
+ end
64
+
65
+ def cursor_after(id)
66
+ return push(Query.cursor_after(id))
67
+ end
68
+
69
+ def cursor_before(id)
70
+ return push(Query.cursor_before(id))
71
+ end
72
+
73
+ def order_asc(attribute)
74
+ return push(Query.order_asc(attribute))
75
+ end
76
+
77
+ def order_desc(attribute)
78
+ return push(Query.order_desc(attribute))
79
+ end
80
+
81
+ def order_random()
82
+ return push(Query.order_random())
83
+ end
84
+
85
+ def limit(limit)
86
+ return push(Query.limit(limit))
87
+ end
88
+
89
+ def offset(offset)
90
+ return push(Query.offset(offset))
91
+ end
92
+
93
+ def contains(attribute, value)
94
+ return push(Query.contains(attribute, value))
95
+ end
96
+
97
+ def contains_any(attribute, value)
98
+ return push(Query.contains_any(attribute, value))
99
+ end
100
+
101
+ def contains_all(attribute, value)
102
+ return push(Query.contains_all(attribute, value))
103
+ end
104
+
105
+ def not_contains(attribute, value)
106
+ return push(Query.not_contains(attribute, value))
107
+ end
108
+
109
+ def not_search(attribute, value)
110
+ return push(Query.not_search(attribute, value))
111
+ end
112
+
113
+ def not_between(attribute, start, ending)
114
+ return push(Query.not_between(attribute, start, ending))
115
+ end
116
+
117
+ def not_starts_with(attribute, value)
118
+ return push(Query.not_starts_with(attribute, value))
119
+ end
120
+
121
+ def not_ends_with(attribute, value)
122
+ return push(Query.not_ends_with(attribute, value))
123
+ end
124
+
125
+ def regex(attribute, pattern)
126
+ return push(Query.regex(attribute, pattern))
127
+ end
128
+
129
+ def exists(attributes)
130
+ return push(Query.exists(attributes))
131
+ end
132
+
133
+ def not_exists(attributes)
134
+ return push(Query.not_exists(attributes))
135
+ end
136
+
137
+ def created_before(value)
138
+ return push(Query.created_before(value))
139
+ end
140
+
141
+ def created_after(value)
142
+ return push(Query.created_after(value))
143
+ end
144
+
145
+ def created_between(start, ending)
146
+ return push(Query.created_between(start, ending))
147
+ end
148
+
149
+ def updated_before(value)
150
+ return push(Query.updated_before(value))
151
+ end
152
+
153
+ def updated_after(value)
154
+ return push(Query.updated_after(value))
155
+ end
156
+
157
+ def updated_between(start, ending)
158
+ return push(Query.updated_between(start, ending))
159
+ end
160
+
161
+ def or(queries)
162
+ return push(Query.or(queries))
163
+ end
164
+
165
+ def and(queries)
166
+ return push(Query.and(queries))
167
+ end
168
+
169
+ def elem_match(attribute, queries)
170
+ return push(Query.elem_match(attribute, queries))
171
+ end
172
+
173
+ def relationship(attribute, queries)
174
+ return push(Query.relationship(attribute, queries))
175
+ end
176
+
177
+ def distance_equal(attribute, values, distance, meters = true)
178
+ return push(Query.distance_equal(attribute, values, distance, meters))
179
+ end
180
+
181
+ def distance_not_equal(attribute, values, distance, meters = true)
182
+ return push(Query.distance_not_equal(attribute, values, distance, meters))
183
+ end
184
+
185
+ def distance_greater_than(attribute, values, distance, meters = true)
186
+ return push(Query.distance_greater_than(attribute, values, distance, meters))
187
+ end
188
+
189
+ def distance_less_than(attribute, values, distance, meters = true)
190
+ return push(Query.distance_less_than(attribute, values, distance, meters))
191
+ end
192
+
193
+ def intersects(attribute, values)
194
+ return push(Query.intersects(attribute, values))
195
+ end
196
+
197
+ def not_intersects(attribute, values)
198
+ return push(Query.not_intersects(attribute, values))
199
+ end
200
+
201
+ def crosses(attribute, values)
202
+ return push(Query.crosses(attribute, values))
203
+ end
204
+
205
+ def not_crosses(attribute, values)
206
+ return push(Query.not_crosses(attribute, values))
207
+ end
208
+
209
+ def overlaps(attribute, values)
210
+ return push(Query.overlaps(attribute, values))
211
+ end
212
+
213
+ def not_overlaps(attribute, values)
214
+ return push(Query.not_overlaps(attribute, values))
215
+ end
216
+
217
+ def touches(attribute, values)
218
+ return push(Query.touches(attribute, values))
219
+ end
220
+
221
+ def not_touches(attribute, values)
222
+ return push(Query.not_touches(attribute, values))
223
+ end
224
+
225
+ def count(attribute = '*', alias_name = '')
226
+ return push(Query.count(attribute, alias_name))
227
+ end
228
+
229
+ def count_distinct(attribute, alias_name = '')
230
+ return push(Query.count_distinct(attribute, alias_name))
231
+ end
232
+
233
+ def sum(attribute, alias_name = '')
234
+ return push(Query.sum(attribute, alias_name))
235
+ end
236
+
237
+ def avg(attribute, alias_name = '')
238
+ return push(Query.avg(attribute, alias_name))
239
+ end
240
+
241
+ def min(attribute, alias_name = '')
242
+ return push(Query.min(attribute, alias_name))
243
+ end
244
+
245
+ def max(attribute, alias_name = '')
246
+ return push(Query.max(attribute, alias_name))
247
+ end
248
+
249
+ def stddev(attribute, alias_name = '')
250
+ return push(Query.stddev(attribute, alias_name))
251
+ end
252
+
253
+ def stddev_pop(attribute, alias_name = '')
254
+ return push(Query.stddev_pop(attribute, alias_name))
255
+ end
256
+
257
+ def stddev_samp(attribute, alias_name = '')
258
+ return push(Query.stddev_samp(attribute, alias_name))
259
+ end
260
+
261
+ def variance(attribute, alias_name = '')
262
+ return push(Query.variance(attribute, alias_name))
263
+ end
264
+
265
+ def var_pop(attribute, alias_name = '')
266
+ return push(Query.var_pop(attribute, alias_name))
267
+ end
268
+
269
+ def var_samp(attribute, alias_name = '')
270
+ return push(Query.var_samp(attribute, alias_name))
271
+ end
272
+
273
+ def bit_and(attribute, alias_name = '')
274
+ return push(Query.bit_and(attribute, alias_name))
275
+ end
276
+
277
+ def bit_or(attribute, alias_name = '')
278
+ return push(Query.bit_or(attribute, alias_name))
279
+ end
280
+
281
+ def bit_xor(attribute, alias_name = '')
282
+ return push(Query.bit_xor(attribute, alias_name))
283
+ end
284
+
285
+ def group_by(attributes)
286
+ return push(Query.group_by(attributes))
287
+ end
288
+
289
+ def having(queries)
290
+ return push(Query.having(queries))
291
+ end
292
+
293
+ def distinct()
294
+ return push(Query.distinct())
295
+ end
296
+
297
+ def join(table, left, right = '', operator = '=', alias_name = '')
298
+ return push(Query.join(table, left, right, operator, alias_name))
299
+ end
300
+
301
+ def left_join(table, left, right = '', operator = '=', alias_name = '')
302
+ return push(Query.left_join(table, left, right, operator, alias_name))
303
+ end
304
+
305
+ def right_join(table, left, right = '', operator = '=', alias_name = '')
306
+ return push(Query.right_join(table, left, right, operator, alias_name))
307
+ end
308
+
309
+ def full_outer_join(table, left, right = '', operator = '=', alias_name = '')
310
+ return push(Query.full_outer_join(table, left, right, operator, alias_name))
311
+ end
312
+
313
+ def cross_join(table, alias_name = '')
314
+ return push(Query.cross_join(table, alias_name))
315
+ end
316
+
317
+ def vector_dot(attribute, vector)
318
+ return push(Query.vector_dot(attribute, vector))
319
+ end
320
+
321
+ def vector_cosine(attribute, vector)
322
+ return push(Query.vector_cosine(attribute, vector))
323
+ end
324
+
325
+ def vector_euclidean(attribute, vector)
326
+ return push(Query.vector_euclidean(attribute, vector))
327
+ end
328
+
329
+ def covers(attribute, values)
330
+ return push(Query.covers(attribute, values))
331
+ end
332
+
333
+ def not_covers(attribute, values)
334
+ return push(Query.not_covers(attribute, values))
335
+ end
336
+
337
+ def spatial_equals(attribute, values)
338
+ return push(Query.spatial_equals(attribute, values))
339
+ end
340
+
341
+ def not_spatial_equals(attribute, values)
342
+ return push(Query.not_spatial_equals(attribute, values))
343
+ end
344
+
345
+ def page(page, per_page = 25)
346
+ return push(Query.page(page, per_page))
347
+ end
348
+
349
+ private
350
+
351
+ def push(query)
352
+ if query.is_a?(Array)
353
+ @queries.concat(query)
354
+ else
355
+ @queries << query
356
+ end
357
+
358
+ return self
359
+ end
360
+ end
361
+ end