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
@@ -137,7 +137,7 @@ module Appwrite
137
137
  enabled: nil,
138
138
  conditions: nil
139
139
  )
140
- if rule_id.nil?
140
+ if rule_id.nil? || rule_id == ''
141
141
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
142
142
  end
143
143
 
@@ -284,7 +284,7 @@ module Appwrite
284
284
  difficulty: nil,
285
285
  ttl: nil
286
286
  )
287
- if rule_id.nil?
287
+ if rule_id.nil? || rule_id == ''
288
288
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
289
289
  end
290
290
 
@@ -415,7 +415,7 @@ module Appwrite
415
415
  enabled: nil,
416
416
  conditions: nil
417
417
  )
418
- if rule_id.nil?
418
+ if rule_id.nil? || rule_id == ''
419
419
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
420
420
  end
421
421
 
@@ -578,7 +578,7 @@ module Appwrite
578
578
  enabled: nil,
579
579
  conditions: nil
580
580
  )
581
- if rule_id.nil?
581
+ if rule_id.nil? || rule_id == ''
582
582
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
583
583
  end
584
584
 
@@ -728,7 +728,7 @@ module Appwrite
728
728
  enabled: nil,
729
729
  conditions: nil
730
730
  )
731
- if rule_id.nil?
731
+ if rule_id.nil? || rule_id == ''
732
732
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
733
733
  end
734
734
 
@@ -771,7 +771,7 @@ module Appwrite
771
771
  def get_rule(
772
772
  rule_id:
773
773
  )
774
- if rule_id.nil?
774
+ if rule_id.nil? || rule_id == ''
775
775
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
776
776
  end
777
777
 
@@ -833,7 +833,7 @@ module Appwrite
833
833
  def delete_rule(
834
834
  rule_id:
835
835
  )
836
- if rule_id.nil?
836
+ if rule_id.nil? || rule_id == ''
837
837
  raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
838
838
  end
839
839
 
@@ -47,8 +47,8 @@ module Appwrite
47
47
  # @param [Array] events Events list. Maximum of 100 events are allowed.
48
48
  # @param [] enabled Enable or disable a webhook.
49
49
  # @param [] tls Certificate verification, false for disabled or true for enabled.
50
- # @param [String] auth_username Webhook HTTP user. Max length: 256 chars.
51
- # @param [String] auth_password Webhook HTTP password. Max length: 256 chars.
50
+ # @param [String] auth_username Webhook HTTP user. Max length: 255 chars.
51
+ # @param [String] auth_password Webhook HTTP password. Max length: 2048 chars.
52
52
  # @param [String] secret Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.
53
53
  #
54
54
  # @return [Webhook]
@@ -63,8 +63,6 @@ module Appwrite
63
63
  auth_password: nil,
64
64
  secret: nil
65
65
  )
66
- api_path = '/webhooks'
67
-
68
66
  if webhook_id.nil?
69
67
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
70
68
  end
@@ -81,6 +79,8 @@ module Appwrite
81
79
  raise Appwrite::Exception.new('Missing required parameter: "events"')
82
80
  end
83
81
 
82
+ api_path = '/webhooks'
83
+
84
84
  api_params = {
85
85
  webhookId: webhook_id,
86
86
  url: url,
@@ -117,13 +117,13 @@ module Appwrite
117
117
  def get(
118
118
  webhook_id:
119
119
  )
120
- api_path = '/webhooks/{webhookId}'
121
- .gsub('{webhookId}', webhook_id)
122
-
123
- if webhook_id.nil?
120
+ if webhook_id.nil? || webhook_id == ''
124
121
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
125
122
  end
126
123
 
124
+ api_path = '/webhooks/{webhookId}'
125
+ .gsub('{webhookId}', webhook_id)
126
+
127
127
  api_params = {}
128
128
 
129
129
  api_headers = {
@@ -149,8 +149,8 @@ module Appwrite
149
149
  # @param [Array] events Events list. Maximum of 100 events are allowed.
150
150
  # @param [] enabled Enable or disable a webhook.
151
151
  # @param [] tls Certificate verification, false for disabled or true for enabled.
152
- # @param [String] auth_username Webhook HTTP user. Max length: 256 chars.
153
- # @param [String] auth_password Webhook HTTP password. Max length: 256 chars.
152
+ # @param [String] auth_username Webhook HTTP user. Max length: 255 chars.
153
+ # @param [String] auth_password Webhook HTTP password. Max length: 2048 chars. Omit to keep the current password; it is cleared when the URL changes or TLS verification is disabled.
154
154
  #
155
155
  # @return [Webhook]
156
156
  def update(
@@ -163,10 +163,7 @@ module Appwrite
163
163
  auth_username: nil,
164
164
  auth_password: nil
165
165
  )
166
- api_path = '/webhooks/{webhookId}'
167
- .gsub('{webhookId}', webhook_id)
168
-
169
- if webhook_id.nil?
166
+ if webhook_id.nil? || webhook_id == ''
170
167
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
171
168
  end
172
169
 
@@ -182,6 +179,9 @@ module Appwrite
182
179
  raise Appwrite::Exception.new('Missing required parameter: "events"')
183
180
  end
184
181
 
182
+ api_path = '/webhooks/{webhookId}'
183
+ .gsub('{webhookId}', webhook_id)
184
+
185
185
  api_params = {
186
186
  name: name,
187
187
  url: url,
@@ -216,18 +216,19 @@ module Appwrite
216
216
  def delete(
217
217
  webhook_id:
218
218
  )
219
- api_path = '/webhooks/{webhookId}'
220
- .gsub('{webhookId}', webhook_id)
221
-
222
- if webhook_id.nil?
219
+ if webhook_id.nil? || webhook_id == ''
223
220
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
224
221
  end
225
222
 
223
+ api_path = '/webhooks/{webhookId}'
224
+ .gsub('{webhookId}', webhook_id)
225
+
226
226
  api_params = {}
227
227
 
228
228
  api_headers = {
229
229
  "X-Appwrite-Project": @client.get_config('project'),
230
230
  "content-type": 'application/json',
231
+ "accept": 'application/json',
231
232
  }
232
233
 
233
234
  @client.call(
@@ -250,13 +251,13 @@ module Appwrite
250
251
  webhook_id:,
251
252
  secret: nil
252
253
  )
253
- api_path = '/webhooks/{webhookId}/secret'
254
- .gsub('{webhookId}', webhook_id)
255
-
256
- if webhook_id.nil?
254
+ if webhook_id.nil? || webhook_id == ''
257
255
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
258
256
  end
259
257
 
258
+ api_path = '/webhooks/{webhookId}/secret'
259
+ .gsub('{webhookId}', webhook_id)
260
+
260
261
  api_params = {
261
262
  secret: secret,
262
263
  }
@@ -0,0 +1,53 @@
1
+ module Appwrite
2
+ # Helper to build MQTT topics for `Push`, level by level.
3
+ #
4
+ # Topic.path(['user', user_id, 'notification']) # "user/123/notification"
5
+ # Topic.path(['org', org_id]).path(['logs']) # "org/42/logs"
6
+ class Topic
7
+ private_class_method :new
8
+
9
+ # Start a topic with the given levels, e.g. `Topic.path(['user', user_id])`.
10
+ def self.path(levels)
11
+ new([]).path(levels)
12
+ end
13
+
14
+ def initialize(levels)
15
+ @levels = levels.freeze
16
+ end
17
+
18
+ # Append the given levels.
19
+ def path(levels)
20
+ self.class.send(:new, @levels + self.class.send(:levels_of, levels))
21
+ end
22
+
23
+ def to_s
24
+ @levels.join('/')
25
+ end
26
+
27
+ # Validate the levels passed to `path`: a non-empty array of non-empty strings, none holding
28
+ # the level separator `/` or the MQTT wildcards `+` and `#`.
29
+ def self.levels_of(levels)
30
+ raise ArgumentError, "path() expects an array, e.g. path(['user'])" unless levels.is_a?(Array)
31
+ raise ArgumentError, 'path() needs at least one level' if levels.empty?
32
+
33
+ levels.each_with_index do |level, index|
34
+ unless level.is_a?(String)
35
+ type = level.nil? ? 'null' : level.class.name
36
+ raise ArgumentError, "level at index #{index} must be a string, got #{type}"
37
+ end
38
+ raise ArgumentError, "empty level at index #{index}" if level.empty?
39
+
40
+ if level.include?('/')
41
+ parts = level.split('/', -1).map { |part| "'#{part}'" }.join(', ')
42
+ raise ArgumentError, "\"#{level}\" contains \"/\", split it: path([#{parts}])"
43
+ end
44
+ raise ArgumentError, "\"#{level}\" contains \"+\", not allowed in a topic" if level.include?('+')
45
+ raise ArgumentError, "\"#{level}\" contains \"#\", not allowed in a topic" if level.include?('#')
46
+ raise ArgumentError, "level at index #{index} contains a NUL character" if level.include?("\0")
47
+ end
48
+
49
+ levels.dup
50
+ end
51
+ private_class_method :levels_of
52
+ end
53
+ end
data/lib/appwrite.rb CHANGED
@@ -11,6 +11,7 @@ require_relative 'appwrite/query'
11
11
  require_relative 'appwrite/permission'
12
12
  require_relative 'appwrite/role'
13
13
  require_relative 'appwrite/id'
14
+ require_relative 'appwrite/topic'
14
15
  require_relative 'appwrite/operator'
15
16
 
16
17
  require_relative 'appwrite/models/row_list'
@@ -24,7 +25,6 @@ require_relative 'appwrite/models/column_index_list'
24
25
  require_relative 'appwrite/models/user_list'
25
26
  require_relative 'appwrite/models/session_list'
26
27
  require_relative 'appwrite/models/identity_list'
27
- require_relative 'appwrite/models/log_list'
28
28
  require_relative 'appwrite/models/file_list'
29
29
  require_relative 'appwrite/models/bucket_list'
30
30
  require_relative 'appwrite/models/resource_token_list'
@@ -111,7 +111,6 @@ require_relative 'appwrite/models/column_index'
111
111
  require_relative 'appwrite/models/row'
112
112
  require_relative 'appwrite/models/document'
113
113
  require_relative 'appwrite/models/presence'
114
- require_relative 'appwrite/models/log'
115
114
  require_relative 'appwrite/models/user'
116
115
  require_relative 'appwrite/models/algo_md5'
117
116
  require_relative 'appwrite/models/algo_sha'
@@ -147,7 +146,6 @@ require_relative 'appwrite/models/project_protocol'
147
146
  require_relative 'appwrite/models/webhook'
148
147
  require_relative 'appwrite/models/key'
149
148
  require_relative 'appwrite/models/ephemeral_key'
150
- require_relative 'appwrite/models/dev_key'
151
149
  require_relative 'appwrite/models/mock_number'
152
150
  require_relative 'appwrite/models/o_auth2_github'
153
151
  require_relative 'appwrite/models/o_auth2_discord'
@@ -211,6 +209,10 @@ require_relative 'appwrite/models/policy_user_limit'
211
209
  require_relative 'appwrite/models/policy_membership_privacy'
212
210
  require_relative 'appwrite/models/policy_mfa_factors'
213
211
  require_relative 'appwrite/models/policy_passkey'
212
+ require_relative 'appwrite/models/policy_deny_aliased_email'
213
+ require_relative 'appwrite/models/policy_deny_disposable_email'
214
+ require_relative 'appwrite/models/policy_deny_free_email'
215
+ require_relative 'appwrite/models/policy_deny_corporate_email'
214
216
  require_relative 'appwrite/models/platform_web'
215
217
  require_relative 'appwrite/models/platform_apple'
216
218
  require_relative 'appwrite/models/platform_android'
@@ -280,10 +282,6 @@ require_relative 'appwrite/models/proxy_invalidation'
280
282
  require_relative 'appwrite/models/organization'
281
283
  require_relative 'appwrite/models/dedicated_database_pitr_windows'
282
284
  require_relative 'appwrite/models/backup_policy'
283
- require_relative 'appwrite/models/policy_deny_aliased_email'
284
- require_relative 'appwrite/models/policy_deny_disposable_email'
285
- require_relative 'appwrite/models/policy_deny_free_email'
286
- require_relative 'appwrite/models/policy_deny_corporate_email'
287
285
  require_relative 'appwrite/models/dedicated_database_pooler'
288
286
  require_relative 'appwrite/models/postgres_extension'
289
287
  require_relative 'appwrite/models/program'
@@ -291,7 +289,6 @@ require_relative 'appwrite/models/backup_restoration'
291
289
  require_relative 'appwrite/models/dedicated_database_restoration_list'
292
290
  require_relative 'appwrite/models/dedicated_database_specification'
293
291
  require_relative 'appwrite/models/dedicated_database_specification_list'
294
- require_relative 'appwrite/models/dedicated_database_specification_pricing'
295
292
  require_relative 'appwrite/models/database_status_connections'
296
293
  require_relative 'appwrite/models/database_status_replica'
297
294
  require_relative 'appwrite/models/database_status_volume'
@@ -366,7 +363,6 @@ require_relative 'appwrite/enums/deployment_download_type'
366
363
  require_relative 'appwrite/enums/execution_method'
367
364
  require_relative 'appwrite/enums/message_priority'
368
365
  require_relative 'appwrite/enums/smtp_encryption'
369
- require_relative 'appwrite/enums/organization_key_scopes'
370
366
  require_relative 'appwrite/enums/region'
371
367
  require_relative 'appwrite/enums/project_auth_method_id'
372
368
  require_relative 'appwrite/enums/project_o_auth2_auth0_prompt'
@@ -420,6 +416,7 @@ require_relative 'appwrite/enums/o_auth2_kakao_prompt'
420
416
  require_relative 'appwrite/enums/platform_type'
421
417
  require_relative 'appwrite/enums/proxy_rule_deployment_resource_type'
422
418
  require_relative 'appwrite/enums/proxy_rule_status'
419
+ require_relative 'appwrite/enums/proxy_rule_protocol'
423
420
  require_relative 'appwrite/enums/message_status'
424
421
  require_relative 'appwrite/enums/billing_plan_group'
425
422
  require_relative 'appwrite/enums/domain_transfer_status_enum'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appwrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 28.4.0
4
+ version: 29.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appwrite Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-14 00:00:00.000000000 Z
11
+ date: 2026-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types
@@ -80,7 +80,6 @@ files:
80
80
  - lib/appwrite/enums/o_auth2_zoho_prompt.rb
81
81
  - lib/appwrite/enums/o_auth_provider.rb
82
82
  - lib/appwrite/enums/order_by.rb
83
- - lib/appwrite/enums/organization_key_scopes.rb
84
83
  - lib/appwrite/enums/password_hash.rb
85
84
  - lib/appwrite/enums/platform_type.rb
86
85
  - lib/appwrite/enums/project_auth_method_id.rb
@@ -104,6 +103,7 @@ files:
104
103
  - lib/appwrite/enums/project_smtp_secure.rb
105
104
  - lib/appwrite/enums/proxy_resource_type.rb
106
105
  - lib/appwrite/enums/proxy_rule_deployment_resource_type.rb
106
+ - lib/appwrite/enums/proxy_rule_protocol.rb
107
107
  - lib/appwrite/enums/proxy_rule_status.rb
108
108
  - lib/appwrite/enums/region.rb
109
109
  - lib/appwrite/enums/relation_mutate.rb
@@ -236,10 +236,8 @@ files:
236
236
  - lib/appwrite/models/dedicated_database_restoration_list.rb
237
237
  - lib/appwrite/models/dedicated_database_specification.rb
238
238
  - lib/appwrite/models/dedicated_database_specification_list.rb
239
- - lib/appwrite/models/dedicated_database_specification_pricing.rb
240
239
  - lib/appwrite/models/deployment.rb
241
240
  - lib/appwrite/models/deployment_list.rb
242
- - lib/appwrite/models/dev_key.rb
243
241
  - lib/appwrite/models/dns_record.rb
244
242
  - lib/appwrite/models/dns_records_list.rb
245
243
  - lib/appwrite/models/document.rb
@@ -279,8 +277,6 @@ files:
279
277
  - lib/appwrite/models/locale.rb
280
278
  - lib/appwrite/models/locale_code.rb
281
279
  - lib/appwrite/models/locale_code_list.rb
282
- - lib/appwrite/models/log.rb
283
- - lib/appwrite/models/log_list.rb
284
280
  - lib/appwrite/models/membership.rb
285
281
  - lib/appwrite/models/membership_list.rb
286
282
  - lib/appwrite/models/message.rb
@@ -448,6 +444,7 @@ files:
448
444
  - lib/appwrite/operator.rb
449
445
  - lib/appwrite/permission.rb
450
446
  - lib/appwrite/query.rb
447
+ - lib/appwrite/query/builder.rb
451
448
  - lib/appwrite/role.rb
452
449
  - lib/appwrite/service.rb
453
450
  - lib/appwrite/services/account.rb
@@ -481,6 +478,7 @@ files:
481
478
  - lib/appwrite/services/vectors_db.rb
482
479
  - lib/appwrite/services/waf.rb
483
480
  - lib/appwrite/services/webhooks.rb
481
+ - lib/appwrite/topic.rb
484
482
  homepage: https://appwrite.io/support
485
483
  licenses:
486
484
  - BSD-3-Clause
@@ -1,22 +0,0 @@
1
- module Appwrite
2
- module Enums
3
- module OrganizationKeyScopes
4
- PROJECTS_READ = 'projects.read'
5
- PROJECTS_WRITE = 'projects.write'
6
- DEVKEYS_READ = 'devKeys.read'
7
- DEVKEYS_WRITE = 'devKeys.write'
8
- ORGANIZATION_KEYS_READ = 'organization.keys.read'
9
- ORGANIZATION_KEYS_WRITE = 'organization.keys.write'
10
- ORGANIZATION_INSTALLATIONS_READ = 'organization.installations.read'
11
- ORGANIZATION_INSTALLATIONS_WRITE = 'organization.installations.write'
12
- ORGANIZATION_MEMBERSHIPS_READ = 'organization.memberships.read'
13
- ORGANIZATION_MEMBERSHIPS_WRITE = 'organization.memberships.write'
14
- ORGANIZATION_READ = 'organization.read'
15
- ORGANIZATION_WRITE = 'organization.write'
16
- DOMAINS_READ = 'domains.read'
17
- DOMAINS_WRITE = 'domains.write'
18
- KEYS_READ = 'keys.read'
19
- KEYS_WRITE = 'keys.write'
20
- end
21
- end
22
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Appwrite
4
- module Models
5
- class DedicatedDatabaseSpecificationPricing
6
- attr_reader :storage_overage_rate
7
- attr_reader :bandwidth_overage_rate
8
- attr_reader :replica_rate
9
- attr_reader :pitr_rate
10
-
11
- def initialize(
12
- storage_overage_rate:,
13
- bandwidth_overage_rate:,
14
- replica_rate:,
15
- pitr_rate:
16
- )
17
- @storage_overage_rate = storage_overage_rate
18
- @bandwidth_overage_rate = bandwidth_overage_rate
19
- @replica_rate = replica_rate
20
- @pitr_rate = pitr_rate
21
- end
22
-
23
- def self.from(map:)
24
- DedicatedDatabaseSpecificationPricing.new(
25
- storage_overage_rate: map["storageOverageRate"],
26
- bandwidth_overage_rate: map["bandwidthOverageRate"],
27
- replica_rate: map["replicaRate"],
28
- pitr_rate: map["pitrRate"]
29
- )
30
- end
31
-
32
- def to_map
33
- {
34
- "storageOverageRate": @storage_overage_rate,
35
- "bandwidthOverageRate": @bandwidth_overage_rate,
36
- "replicaRate": @replica_rate,
37
- "pitrRate": @pitr_rate
38
- }
39
- end
40
- end
41
- end
42
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Appwrite
4
- module Models
5
- class DevKey
6
- attr_reader :id
7
- attr_reader :created_at
8
- attr_reader :updated_at
9
- attr_reader :name
10
- attr_reader :expire
11
- attr_reader :secret
12
- attr_reader :accessed_at
13
- attr_reader :sdks
14
-
15
- def initialize(
16
- id:,
17
- created_at:,
18
- updated_at:,
19
- name:,
20
- expire:,
21
- secret:,
22
- accessed_at:,
23
- sdks:
24
- )
25
- @id = id
26
- @created_at = created_at
27
- @updated_at = updated_at
28
- @name = name
29
- @expire = expire
30
- @secret = secret
31
- @accessed_at = accessed_at
32
- @sdks = sdks
33
- end
34
-
35
- def self.from(map:)
36
- DevKey.new(
37
- id: map["$id"],
38
- created_at: map["$createdAt"],
39
- updated_at: map["$updatedAt"],
40
- name: map["name"],
41
- expire: map["expire"],
42
- secret: map["secret"],
43
- accessed_at: map["accessedAt"],
44
- sdks: map["sdks"]
45
- )
46
- end
47
-
48
- def to_map
49
- {
50
- "$id": @id,
51
- "$createdAt": @created_at,
52
- "$updatedAt": @updated_at,
53
- "name": @name,
54
- "expire": @expire,
55
- "secret": @secret,
56
- "accessedAt": @accessed_at,
57
- "sdks": @sdks
58
- }
59
- end
60
- end
61
- end
62
- end
@@ -1,132 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Appwrite
4
- module Models
5
- class Log
6
- attr_reader :event
7
- attr_reader :user_id
8
- attr_reader :user_email
9
- attr_reader :user_name
10
- attr_reader :mode
11
- attr_reader :user_type
12
- attr_reader :ip
13
- attr_reader :time
14
- attr_reader :os_code
15
- attr_reader :os_name
16
- attr_reader :os_version
17
- attr_reader :client_type
18
- attr_reader :client_code
19
- attr_reader :client_name
20
- attr_reader :client_version
21
- attr_reader :client_engine
22
- attr_reader :client_engine_version
23
- attr_reader :device_name
24
- attr_reader :device_brand
25
- attr_reader :device_model
26
- attr_reader :country_code
27
- attr_reader :country_name
28
-
29
- def initialize(
30
- event:,
31
- user_id:,
32
- user_email:,
33
- user_name:,
34
- mode:,
35
- user_type:,
36
- ip:,
37
- time:,
38
- os_code:,
39
- os_name:,
40
- os_version:,
41
- client_type:,
42
- client_code:,
43
- client_name:,
44
- client_version:,
45
- client_engine:,
46
- client_engine_version:,
47
- device_name:,
48
- device_brand:,
49
- device_model:,
50
- country_code:,
51
- country_name:
52
- )
53
- @event = event
54
- @user_id = user_id
55
- @user_email = user_email
56
- @user_name = user_name
57
- @mode = mode
58
- @user_type = user_type
59
- @ip = ip
60
- @time = time
61
- @os_code = os_code
62
- @os_name = os_name
63
- @os_version = os_version
64
- @client_type = client_type
65
- @client_code = client_code
66
- @client_name = client_name
67
- @client_version = client_version
68
- @client_engine = client_engine
69
- @client_engine_version = client_engine_version
70
- @device_name = device_name
71
- @device_brand = device_brand
72
- @device_model = device_model
73
- @country_code = country_code
74
- @country_name = country_name
75
- end
76
-
77
- def self.from(map:)
78
- Log.new(
79
- event: map["event"],
80
- user_id: map["userId"],
81
- user_email: map["userEmail"],
82
- user_name: map["userName"],
83
- mode: map["mode"],
84
- user_type: map["userType"],
85
- ip: map["ip"],
86
- time: map["time"],
87
- os_code: map["osCode"],
88
- os_name: map["osName"],
89
- os_version: map["osVersion"],
90
- client_type: map["clientType"],
91
- client_code: map["clientCode"],
92
- client_name: map["clientName"],
93
- client_version: map["clientVersion"],
94
- client_engine: map["clientEngine"],
95
- client_engine_version: map["clientEngineVersion"],
96
- device_name: map["deviceName"],
97
- device_brand: map["deviceBrand"],
98
- device_model: map["deviceModel"],
99
- country_code: map["countryCode"],
100
- country_name: map["countryName"]
101
- )
102
- end
103
-
104
- def to_map
105
- {
106
- "event": @event,
107
- "userId": @user_id,
108
- "userEmail": @user_email,
109
- "userName": @user_name,
110
- "mode": @mode,
111
- "userType": @user_type,
112
- "ip": @ip,
113
- "time": @time,
114
- "osCode": @os_code,
115
- "osName": @os_name,
116
- "osVersion": @os_version,
117
- "clientType": @client_type,
118
- "clientCode": @client_code,
119
- "clientName": @client_name,
120
- "clientVersion": @client_version,
121
- "clientEngine": @client_engine,
122
- "clientEngineVersion": @client_engine_version,
123
- "deviceName": @device_name,
124
- "deviceBrand": @device_brand,
125
- "deviceModel": @device_model,
126
- "countryCode": @country_code,
127
- "countryName": @country_name
128
- }
129
- end
130
- end
131
- end
132
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Appwrite
4
- module Models
5
- class LogList
6
- attr_reader :total
7
- attr_reader :logs
8
-
9
- def initialize(
10
- total:,
11
- logs:
12
- )
13
- @total = total
14
- @logs = logs
15
- end
16
-
17
- def self.from(map:)
18
- LogList.new(
19
- total: map["total"],
20
- logs: map["logs"].map { |it| Log.from(map: it) }
21
- )
22
- end
23
-
24
- def to_map
25
- {
26
- "total": @total,
27
- "logs": @logs.map { |it| it.to_map }
28
- }
29
- end
30
- end
31
- end
32
- end