appwrite 28.4.0 → 30.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 +19 -19
  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 +10 -4
  29. data/lib/appwrite/models/attribute_boolean.rb +8 -2
  30. data/lib/appwrite/models/attribute_datetime.rb +8 -2
  31. data/lib/appwrite/models/attribute_email.rb +8 -2
  32. data/lib/appwrite/models/attribute_enum.rb +8 -2
  33. data/lib/appwrite/models/attribute_float.rb +10 -4
  34. data/lib/appwrite/models/attribute_integer.rb +10 -4
  35. data/lib/appwrite/models/attribute_ip.rb +8 -2
  36. data/lib/appwrite/models/attribute_line.rb +8 -2
  37. data/lib/appwrite/models/attribute_list.rb +1 -0
  38. data/lib/appwrite/models/attribute_longtext.rb +9 -3
  39. data/lib/appwrite/models/attribute_mediumtext.rb +9 -3
  40. data/lib/appwrite/models/attribute_object.rb +7 -1
  41. data/lib/appwrite/models/attribute_point.rb +8 -2
  42. data/lib/appwrite/models/attribute_polygon.rb +8 -2
  43. data/lib/appwrite/models/attribute_relationship.rb +7 -1
  44. data/lib/appwrite/models/attribute_string.rb +9 -3
  45. data/lib/appwrite/models/attribute_text.rb +9 -3
  46. data/lib/appwrite/models/attribute_url.rb +8 -2
  47. data/lib/appwrite/models/attribute_varchar.rb +9 -3
  48. data/lib/appwrite/models/attribute_vector.rb +7 -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 +19 -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 +11 -0
  64. data/lib/appwrite/models/bucket_list.rb +1 -0
  65. data/lib/appwrite/models/collection.rb +6 -0
  66. data/lib/appwrite/models/collection_list.rb +1 -0
  67. data/lib/appwrite/models/column_bigint.rb +10 -4
  68. data/lib/appwrite/models/column_boolean.rb +8 -2
  69. data/lib/appwrite/models/column_datetime.rb +8 -2
  70. data/lib/appwrite/models/column_email.rb +8 -2
  71. data/lib/appwrite/models/column_enum.rb +8 -2
  72. data/lib/appwrite/models/column_float.rb +10 -4
  73. data/lib/appwrite/models/column_index.rb +7 -1
  74. data/lib/appwrite/models/column_index_list.rb +1 -0
  75. data/lib/appwrite/models/column_integer.rb +10 -4
  76. data/lib/appwrite/models/column_ip.rb +8 -2
  77. data/lib/appwrite/models/column_line.rb +8 -2
  78. data/lib/appwrite/models/column_list.rb +1 -0
  79. data/lib/appwrite/models/column_longtext.rb +9 -3
  80. data/lib/appwrite/models/column_mediumtext.rb +9 -3
  81. data/lib/appwrite/models/column_point.rb +8 -2
  82. data/lib/appwrite/models/column_polygon.rb +8 -2
  83. data/lib/appwrite/models/column_relationship.rb +7 -1
  84. data/lib/appwrite/models/column_string.rb +9 -3
  85. data/lib/appwrite/models/column_text.rb +9 -3
  86. data/lib/appwrite/models/column_url.rb +8 -2
  87. data/lib/appwrite/models/column_varchar.rb +9 -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 +15 -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 +6 -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 +15 -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 +7 -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 +6 -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 +9 -3
  251. data/lib/appwrite/models/policy_password_history.rb +1 -0
  252. data/lib/appwrite/models/policy_password_personal_data.rb +9 -3
  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 +6 -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 +6 -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 +8 -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 +6 -0
  305. data/lib/appwrite/models/variable_list.rb +1 -0
  306. data/lib/appwrite/models/vectorsdb_collection.rb +6 -0
  307. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  308. data/lib/appwrite/models/webhook.rb +6 -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 +135 -107
  313. data/lib/appwrite/services/activities.rb +8 -5
  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 +42 -33
  318. data/lib/appwrite/services/databases.rb +727 -488
  319. data/lib/appwrite/services/documents_db.rb +266 -190
  320. data/lib/appwrite/services/domains.rb +63 -57
  321. data/lib/appwrite/services/embeddings.rb +2 -2
  322. data/lib/appwrite/services/functions.rb +132 -112
  323. data/lib/appwrite/services/graphql.rb +4 -4
  324. data/lib/appwrite/services/messaging.rb +172 -156
  325. data/lib/appwrite/services/mongo.rb +206 -133
  326. data/lib/appwrite/services/mysql.rb +224 -147
  327. data/lib/appwrite/services/oauth2.rb +27 -27
  328. data/lib/appwrite/services/organization.rb +59 -247
  329. data/lib/appwrite/services/postgresql.rb +238 -161
  330. data/lib/appwrite/services/presences.rb +17 -16
  331. data/lib/appwrite/services/project.rb +187 -147
  332. data/lib/appwrite/services/proxy.rb +70 -23
  333. data/lib/appwrite/services/sites.rb +124 -108
  334. data/lib/appwrite/services/storage.rb +77 -62
  335. data/lib/appwrite/services/tables_db.rb +832 -589
  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 +199 -179
  340. data/lib/appwrite/services/waf.rb +7 -7
  341. data/lib/appwrite/services/webhooks.rb +31 -24
  342. data/lib/appwrite/topic.rb +53 -0
  343. data/lib/appwrite.rb +6 -9
  344. metadata +6 -8
  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,9 +47,10 @@ 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
+ # @param [String] description Optional description for the webhook.
53
54
  #
54
55
  # @return [Webhook]
55
56
  def create(
@@ -61,10 +62,9 @@ module Appwrite
61
62
  tls: nil,
62
63
  auth_username: nil,
63
64
  auth_password: nil,
64
- secret: nil
65
+ secret: nil,
66
+ description: nil
65
67
  )
66
- api_path = '/webhooks'
67
-
68
68
  if webhook_id.nil?
69
69
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
70
70
  end
@@ -81,6 +81,8 @@ module Appwrite
81
81
  raise Appwrite::Exception.new('Missing required parameter: "events"')
82
82
  end
83
83
 
84
+ api_path = '/webhooks'
85
+
84
86
  api_params = {
85
87
  webhookId: webhook_id,
86
88
  url: url,
@@ -91,6 +93,7 @@ module Appwrite
91
93
  authUsername: auth_username,
92
94
  authPassword: auth_password,
93
95
  secret: secret,
96
+ description: description,
94
97
  }
95
98
 
96
99
  api_headers = {
@@ -117,13 +120,13 @@ module Appwrite
117
120
  def get(
118
121
  webhook_id:
119
122
  )
120
- api_path = '/webhooks/{webhookId}'
121
- .gsub('{webhookId}', webhook_id)
122
-
123
- if webhook_id.nil?
123
+ if webhook_id.nil? || webhook_id == ''
124
124
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
125
125
  end
126
126
 
127
+ api_path = '/webhooks/{webhookId}'
128
+ .gsub('{webhookId}', webhook_id)
129
+
127
130
  api_params = {}
128
131
 
129
132
  api_headers = {
@@ -149,8 +152,9 @@ module Appwrite
149
152
  # @param [Array] events Events list. Maximum of 100 events are allowed.
150
153
  # @param [] enabled Enable or disable a webhook.
151
154
  # @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.
155
+ # @param [String] auth_username Webhook HTTP user. Max length: 255 chars.
156
+ # @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.
157
+ # @param [String] description Optional description for the webhook.
154
158
  #
155
159
  # @return [Webhook]
156
160
  def update(
@@ -161,12 +165,10 @@ module Appwrite
161
165
  enabled: nil,
162
166
  tls: nil,
163
167
  auth_username: nil,
164
- auth_password: nil
168
+ auth_password: nil,
169
+ description: nil
165
170
  )
166
- api_path = '/webhooks/{webhookId}'
167
- .gsub('{webhookId}', webhook_id)
168
-
169
- if webhook_id.nil?
171
+ if webhook_id.nil? || webhook_id == ''
170
172
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
171
173
  end
172
174
 
@@ -182,6 +184,9 @@ module Appwrite
182
184
  raise Appwrite::Exception.new('Missing required parameter: "events"')
183
185
  end
184
186
 
187
+ api_path = '/webhooks/{webhookId}'
188
+ .gsub('{webhookId}', webhook_id)
189
+
185
190
  api_params = {
186
191
  name: name,
187
192
  url: url,
@@ -190,6 +195,7 @@ module Appwrite
190
195
  tls: tls,
191
196
  authUsername: auth_username,
192
197
  authPassword: auth_password,
198
+ description: description,
193
199
  }
194
200
 
195
201
  api_headers = {
@@ -216,18 +222,19 @@ module Appwrite
216
222
  def delete(
217
223
  webhook_id:
218
224
  )
219
- api_path = '/webhooks/{webhookId}'
220
- .gsub('{webhookId}', webhook_id)
221
-
222
- if webhook_id.nil?
225
+ if webhook_id.nil? || webhook_id == ''
223
226
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
224
227
  end
225
228
 
229
+ api_path = '/webhooks/{webhookId}'
230
+ .gsub('{webhookId}', webhook_id)
231
+
226
232
  api_params = {}
227
233
 
228
234
  api_headers = {
229
235
  "X-Appwrite-Project": @client.get_config('project'),
230
236
  "content-type": 'application/json',
237
+ "accept": 'application/json',
231
238
  }
232
239
 
233
240
  @client.call(
@@ -250,13 +257,13 @@ module Appwrite
250
257
  webhook_id:,
251
258
  secret: nil
252
259
  )
253
- api_path = '/webhooks/{webhookId}/secret'
254
- .gsub('{webhookId}', webhook_id)
255
-
256
- if webhook_id.nil?
260
+ if webhook_id.nil? || webhook_id == ''
257
261
  raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
258
262
  end
259
263
 
264
+ api_path = '/webhooks/{webhookId}/secret'
265
+ .gsub('{webhookId}', webhook_id)
266
+
260
267
  api_params = {
261
268
  secret: secret,
262
269
  }
@@ -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: 30.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-21 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
@@ -493,7 +491,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
493
491
  requirements:
494
492
  - - ">="
495
493
  - !ruby/object:Gem::Version
496
- version: '0'
494
+ version: '2.7'
497
495
  required_rubygems_version: !ruby/object:Gem::Requirement
498
496
  requirements:
499
497
  - - ">="
@@ -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