appwrite 28.3.2 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +36 -20
  3. data/lib/appwrite/enums/billing_plan_group.rb +2 -1
  4. data/lib/appwrite/enums/build_runtime.rb +2 -0
  5. data/lib/appwrite/enums/databases_index_type.rb +1 -0
  6. data/lib/appwrite/enums/domain_registration_type.rb +10 -0
  7. data/lib/appwrite/enums/domain_transfer_status_enum.rb +14 -0
  8. data/lib/appwrite/enums/execution_trigger.rb +1 -0
  9. data/lib/appwrite/enums/framework.rb +1 -0
  10. data/lib/appwrite/enums/id_token_provider.rb +8 -0
  11. data/lib/appwrite/enums/image_gravity.rb +1 -0
  12. data/lib/appwrite/enums/o_auth2_auth0_prompt.rb +9 -0
  13. data/lib/appwrite/enums/o_auth2_discord_prompt.rb +8 -0
  14. data/lib/appwrite/enums/o_auth2_github_prompt.rb +7 -0
  15. data/lib/appwrite/enums/o_auth2_kakao_prompt.rb +10 -0
  16. data/lib/appwrite/enums/o_auth2_microsoft_prompt.rb +10 -0
  17. data/lib/appwrite/enums/o_auth2_okta_prompt.rb +9 -0
  18. data/lib/appwrite/enums/o_auth2_salesforce_prompt.rb +8 -0
  19. data/lib/appwrite/enums/o_auth2_zoho_prompt.rb +7 -0
  20. data/lib/appwrite/enums/o_auth_provider.rb +3 -0
  21. data/lib/appwrite/enums/project_email_template_id.rb +2 -0
  22. data/lib/appwrite/enums/project_key_scopes.rb +4 -0
  23. data/lib/appwrite/enums/project_o_auth2_auth0_prompt.rb +9 -0
  24. data/lib/appwrite/enums/project_o_auth2_discord_prompt.rb +8 -0
  25. data/lib/appwrite/enums/project_o_auth2_git_hub_prompt.rb +7 -0
  26. data/lib/appwrite/enums/project_o_auth2_kakao_prompt.rb +10 -0
  27. data/lib/appwrite/enums/project_o_auth2_microsoft_prompt.rb +10 -0
  28. data/lib/appwrite/enums/project_o_auth2_okta_prompt.rb +9 -0
  29. data/lib/appwrite/enums/project_o_auth2_salesforce_prompt.rb +8 -0
  30. data/lib/appwrite/enums/project_o_auth2_zoho_prompt.rb +7 -0
  31. data/lib/appwrite/enums/project_o_auth_provider_id.rb +3 -0
  32. data/lib/appwrite/enums/project_policy_id.rb +2 -0
  33. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -0
  34. data/lib/appwrite/enums/proxy_rule_protocol.rb +8 -0
  35. data/lib/appwrite/enums/runtime.rb +2 -0
  36. data/lib/appwrite/enums/tables_db_index_type.rb +1 -0
  37. data/lib/appwrite/enums/waf_rule_action.rb +11 -0
  38. data/lib/appwrite/models/account.rb +143 -0
  39. data/lib/appwrite/models/activity_event.rb +1 -0
  40. data/lib/appwrite/models/activity_event_list.rb +1 -0
  41. data/lib/appwrite/models/additional_resource.rb +1 -0
  42. data/lib/appwrite/models/algo_argon2.rb +1 -0
  43. data/lib/appwrite/models/algo_bcrypt.rb +1 -0
  44. data/lib/appwrite/models/algo_md5.rb +1 -0
  45. data/lib/appwrite/models/algo_phpass.rb +1 -0
  46. data/lib/appwrite/models/algo_scrypt.rb +1 -0
  47. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -0
  48. data/lib/appwrite/models/algo_sha.rb +1 -0
  49. data/lib/appwrite/models/app.rb +1 -0
  50. data/lib/appwrite/models/app_installation.rb +2 -1
  51. data/lib/appwrite/models/app_installation_list.rb +1 -0
  52. data/lib/appwrite/models/app_key.rb +2 -1
  53. data/lib/appwrite/models/app_key_list.rb +1 -0
  54. data/lib/appwrite/models/app_scope.rb +1 -0
  55. data/lib/appwrite/models/app_scope_list.rb +1 -0
  56. data/lib/appwrite/models/app_secret.rb +2 -1
  57. data/lib/appwrite/models/app_secret_list.rb +1 -0
  58. data/lib/appwrite/models/app_secret_plaintext.rb +2 -1
  59. data/lib/appwrite/models/apps_list.rb +1 -0
  60. data/lib/appwrite/models/attribute_bigint.rb +5 -4
  61. data/lib/appwrite/models/attribute_boolean.rb +3 -2
  62. data/lib/appwrite/models/attribute_datetime.rb +3 -2
  63. data/lib/appwrite/models/attribute_email.rb +3 -2
  64. data/lib/appwrite/models/attribute_enum.rb +3 -2
  65. data/lib/appwrite/models/attribute_float.rb +5 -4
  66. data/lib/appwrite/models/attribute_integer.rb +5 -4
  67. data/lib/appwrite/models/attribute_ip.rb +3 -2
  68. data/lib/appwrite/models/attribute_line.rb +3 -2
  69. data/lib/appwrite/models/attribute_list.rb +1 -0
  70. data/lib/appwrite/models/attribute_longtext.rb +4 -3
  71. data/lib/appwrite/models/attribute_mediumtext.rb +4 -3
  72. data/lib/appwrite/models/attribute_object.rb +2 -1
  73. data/lib/appwrite/models/attribute_point.rb +3 -2
  74. data/lib/appwrite/models/attribute_polygon.rb +3 -2
  75. data/lib/appwrite/models/attribute_relationship.rb +2 -1
  76. data/lib/appwrite/models/attribute_string.rb +4 -3
  77. data/lib/appwrite/models/attribute_text.rb +4 -3
  78. data/lib/appwrite/models/attribute_url.rb +3 -2
  79. data/lib/appwrite/models/attribute_varchar.rb +4 -3
  80. data/lib/appwrite/models/attribute_vector.rb +2 -1
  81. data/lib/appwrite/models/backup_archive.rb +5 -4
  82. data/lib/appwrite/models/backup_archive_list.rb +1 -0
  83. data/lib/appwrite/models/backup_policy.rb +3 -2
  84. data/lib/appwrite/models/backup_policy_list.rb +1 -0
  85. data/lib/appwrite/models/backup_restoration.rb +2 -1
  86. data/lib/appwrite/models/backup_restoration_list.rb +1 -0
  87. data/lib/appwrite/models/billing_limits.rb +8 -8
  88. data/lib/appwrite/models/billing_plan.rb +25 -13
  89. data/lib/appwrite/models/billing_plan_addon.rb +2 -2
  90. data/lib/appwrite/models/billing_plan_addon_details.rb +2 -1
  91. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +19 -19
  92. data/lib/appwrite/models/billing_plan_limits.rb +2 -2
  93. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -0
  94. data/lib/appwrite/models/block.rb +4 -33
  95. data/lib/appwrite/models/bucket.rb +1 -0
  96. data/lib/appwrite/models/bucket_list.rb +1 -0
  97. data/lib/appwrite/models/collection.rb +1 -0
  98. data/lib/appwrite/models/collection_list.rb +1 -0
  99. data/lib/appwrite/models/column_bigint.rb +5 -4
  100. data/lib/appwrite/models/column_boolean.rb +3 -2
  101. data/lib/appwrite/models/column_datetime.rb +3 -2
  102. data/lib/appwrite/models/column_email.rb +3 -2
  103. data/lib/appwrite/models/column_enum.rb +3 -2
  104. data/lib/appwrite/models/column_float.rb +5 -4
  105. data/lib/appwrite/models/column_index.rb +2 -1
  106. data/lib/appwrite/models/column_index_list.rb +1 -0
  107. data/lib/appwrite/models/column_integer.rb +5 -4
  108. data/lib/appwrite/models/column_ip.rb +3 -2
  109. data/lib/appwrite/models/column_line.rb +3 -2
  110. data/lib/appwrite/models/column_list.rb +1 -0
  111. data/lib/appwrite/models/column_longtext.rb +4 -3
  112. data/lib/appwrite/models/column_mediumtext.rb +4 -3
  113. data/lib/appwrite/models/column_point.rb +3 -2
  114. data/lib/appwrite/models/column_polygon.rb +3 -2
  115. data/lib/appwrite/models/column_relationship.rb +2 -1
  116. data/lib/appwrite/models/column_string.rb +4 -3
  117. data/lib/appwrite/models/column_text.rb +4 -3
  118. data/lib/appwrite/models/column_url.rb +3 -2
  119. data/lib/appwrite/models/column_varchar.rb +4 -3
  120. data/lib/appwrite/models/continent.rb +1 -0
  121. data/lib/appwrite/models/continent_list.rb +1 -0
  122. data/lib/appwrite/models/country.rb +1 -0
  123. data/lib/appwrite/models/country_list.rb +1 -0
  124. data/lib/appwrite/models/currency.rb +1 -0
  125. data/lib/appwrite/models/currency_list.rb +1 -0
  126. data/lib/appwrite/models/database.rb +10 -9
  127. data/lib/appwrite/models/database_list.rb +1 -0
  128. data/lib/appwrite/models/database_migration.rb +1 -0
  129. data/lib/appwrite/models/database_migration_list.rb +1 -0
  130. data/lib/appwrite/models/database_status.rb +6 -5
  131. data/lib/appwrite/models/database_status_connections.rb +1 -0
  132. data/lib/appwrite/models/database_status_replica.rb +3 -2
  133. data/lib/appwrite/models/database_status_volume.rb +1 -0
  134. data/lib/appwrite/models/dedicated_database.rb +22 -6
  135. data/lib/appwrite/models/dedicated_database_backup.rb +6 -5
  136. data/lib/appwrite/models/dedicated_database_backup_list.rb +1 -0
  137. data/lib/appwrite/models/dedicated_database_backup_storage.rb +1 -0
  138. data/lib/appwrite/models/dedicated_database_branch.rb +2 -1
  139. data/lib/appwrite/models/dedicated_database_branch_list.rb +1 -0
  140. data/lib/appwrite/models/dedicated_database_execution.rb +1 -0
  141. data/lib/appwrite/models/dedicated_database_execution_column.rb +1 -0
  142. data/lib/appwrite/models/dedicated_database_extensions.rb +1 -0
  143. data/lib/appwrite/models/dedicated_database_list.rb +1 -0
  144. data/lib/appwrite/models/dedicated_database_member.rb +3 -2
  145. data/lib/appwrite/models/dedicated_database_operation.rb +4 -3
  146. data/lib/appwrite/models/dedicated_database_operation_list.rb +1 -0
  147. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +1 -0
  148. data/lib/appwrite/models/dedicated_database_pooler.rb +1 -0
  149. data/lib/appwrite/models/dedicated_database_replicas.rb +3 -2
  150. data/lib/appwrite/models/dedicated_database_restoration.rb +11 -5
  151. data/lib/appwrite/models/dedicated_database_restoration_list.rb +1 -0
  152. data/lib/appwrite/models/dedicated_database_specification.rb +21 -0
  153. data/lib/appwrite/models/dedicated_database_specification_list.rb +4 -8
  154. data/lib/appwrite/models/deployment.rb +1 -0
  155. data/lib/appwrite/models/deployment_list.rb +1 -0
  156. data/lib/appwrite/models/dns_record.rb +83 -0
  157. data/lib/appwrite/models/dns_records_list.rb +33 -0
  158. data/lib/appwrite/models/document.rb +1 -0
  159. data/lib/appwrite/models/document_list.rb +1 -0
  160. data/lib/appwrite/models/domain.rb +109 -0
  161. data/lib/appwrite/models/domain_price.rb +63 -0
  162. data/lib/appwrite/models/domain_prices_list.rb +33 -0
  163. data/lib/appwrite/models/domain_transfer_status.rb +59 -0
  164. data/lib/appwrite/models/domains_list.rb +33 -0
  165. data/lib/appwrite/models/email_template.rb +1 -0
  166. data/lib/appwrite/models/email_template_list.rb +1 -0
  167. data/lib/appwrite/models/embedding.rb +1 -0
  168. data/lib/appwrite/models/embedding_list.rb +1 -0
  169. data/lib/appwrite/models/ephemeral_key.rb +1 -0
  170. data/lib/appwrite/models/execution.rb +3 -1
  171. data/lib/appwrite/models/execution_list.rb +1 -0
  172. data/lib/appwrite/models/file.rb +1 -0
  173. data/lib/appwrite/models/file_list.rb +1 -0
  174. data/lib/appwrite/models/framework.rb +1 -0
  175. data/lib/appwrite/models/framework_adapter.rb +2 -1
  176. data/lib/appwrite/models/framework_list.rb +1 -0
  177. data/lib/appwrite/models/function.rb +10 -4
  178. data/lib/appwrite/models/function_list.rb +1 -0
  179. data/lib/appwrite/models/headers.rb +1 -0
  180. data/lib/appwrite/models/identity.rb +9 -3
  181. data/lib/appwrite/models/identity_list.rb +1 -0
  182. data/lib/appwrite/models/index.rb +2 -1
  183. data/lib/appwrite/models/index_list.rb +1 -0
  184. data/lib/appwrite/models/insight.rb +4 -3
  185. data/lib/appwrite/models/insight_cta.rb +1 -0
  186. data/lib/appwrite/models/insight_list.rb +1 -0
  187. data/lib/appwrite/models/jwt.rb +1 -0
  188. data/lib/appwrite/models/key.rb +1 -0
  189. data/lib/appwrite/models/key_list.rb +1 -0
  190. data/lib/appwrite/models/language.rb +1 -0
  191. data/lib/appwrite/models/language_list.rb +1 -0
  192. data/lib/appwrite/models/locale.rb +12 -11
  193. data/lib/appwrite/models/locale_code.rb +1 -0
  194. data/lib/appwrite/models/locale_code_list.rb +1 -0
  195. data/lib/appwrite/models/membership.rb +1 -0
  196. data/lib/appwrite/models/membership_list.rb +1 -0
  197. data/lib/appwrite/models/message.rb +4 -3
  198. data/lib/appwrite/models/message_list.rb +1 -0
  199. data/lib/appwrite/models/mfa_challenge.rb +1 -0
  200. data/lib/appwrite/models/mfa_challenge_secret.rb +1 -0
  201. data/lib/appwrite/models/mfa_factors.rb +1 -0
  202. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -0
  203. data/lib/appwrite/models/mfa_type.rb +1 -0
  204. data/lib/appwrite/models/mock_number.rb +1 -0
  205. data/lib/appwrite/models/mock_number_list.rb +1 -0
  206. data/lib/appwrite/models/o_auth2_amazon.rb +1 -0
  207. data/lib/appwrite/models/o_auth2_apple.rb +14 -3
  208. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -0
  209. data/lib/appwrite/models/o_auth2_auth0.rb +24 -0
  210. data/lib/appwrite/models/o_auth2_authentik.rb +1 -0
  211. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -0
  212. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -0
  213. data/lib/appwrite/models/o_auth2_bitly.rb +1 -0
  214. data/lib/appwrite/models/o_auth2_box.rb +1 -0
  215. data/lib/appwrite/models/o_auth2_cloudflare.rb +1 -0
  216. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -0
  217. data/lib/appwrite/models/o_auth2_discord.rb +26 -3
  218. data/lib/appwrite/models/o_auth2_disqus.rb +1 -0
  219. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -0
  220. data/lib/appwrite/models/o_auth2_etsy.rb +1 -0
  221. data/lib/appwrite/models/o_auth2_facebook.rb +1 -0
  222. data/lib/appwrite/models/o_auth2_figma.rb +1 -0
  223. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -0
  224. data/lib/appwrite/models/o_auth2_github.rb +25 -3
  225. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -0
  226. data/lib/appwrite/models/o_auth2_google.rb +18 -5
  227. data/lib/appwrite/models/o_auth2_hugging_face.rb +1 -0
  228. data/lib/appwrite/models/o_auth2_kakao.rb +67 -0
  229. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -0
  230. data/lib/appwrite/models/o_auth2_kick.rb +1 -0
  231. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -0
  232. data/lib/appwrite/models/o_auth2_microsoft.rb +25 -0
  233. data/lib/appwrite/models/o_auth2_notion.rb +1 -0
  234. data/lib/appwrite/models/o_auth2_oidc.rb +11 -8
  235. data/lib/appwrite/models/o_auth2_okta.rb +24 -0
  236. data/lib/appwrite/models/o_auth2_paypal.rb +1 -0
  237. data/lib/appwrite/models/o_auth2_podio.rb +1 -0
  238. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -0
  239. data/lib/appwrite/models/o_auth2_resend.rb +1 -0
  240. data/lib/appwrite/models/o_auth2_salesforce.rb +26 -3
  241. data/lib/appwrite/models/o_auth2_slack.rb +1 -0
  242. data/lib/appwrite/models/o_auth2_spotify.rb +1 -0
  243. data/lib/appwrite/models/o_auth2_stripe.rb +1 -0
  244. data/lib/appwrite/models/o_auth2_tik_tok.rb +43 -0
  245. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -0
  246. data/lib/appwrite/models/o_auth2_twitch.rb +1 -0
  247. data/lib/appwrite/models/o_auth2_webflow.rb +43 -0
  248. data/lib/appwrite/models/o_auth2_word_press.rb +1 -0
  249. data/lib/appwrite/models/o_auth2_x.rb +1 -0
  250. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -0
  251. data/lib/appwrite/models/o_auth2_yandex.rb +1 -0
  252. data/lib/appwrite/models/o_auth2_zoho.rb +25 -3
  253. data/lib/appwrite/models/o_auth2_zoom.rb +1 -0
  254. data/lib/appwrite/models/oauth2_approve.rb +1 -0
  255. data/lib/appwrite/models/oauth2_authorize.rb +1 -0
  256. data/lib/appwrite/models/oauth2_consent.rb +1 -0
  257. data/lib/appwrite/models/oauth2_consent_list.rb +1 -0
  258. data/lib/appwrite/models/oauth2_consent_token.rb +1 -0
  259. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -0
  260. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -0
  261. data/lib/appwrite/models/oauth2_grant.rb +1 -0
  262. data/lib/appwrite/models/oauth2_introspection.rb +83 -0
  263. data/lib/appwrite/models/oauth2_organization.rb +1 -0
  264. data/lib/appwrite/models/oauth2_organization_list.rb +1 -0
  265. data/lib/appwrite/models/oauth2_par.rb +1 -0
  266. data/lib/appwrite/models/oauth2_project.rb +1 -0
  267. data/lib/appwrite/models/oauth2_project_list.rb +1 -0
  268. data/lib/appwrite/models/oauth2_reject.rb +1 -0
  269. data/lib/appwrite/models/oauth2_token.rb +3 -2
  270. data/lib/appwrite/models/organization.rb +21 -20
  271. data/lib/appwrite/models/passkey.rb +1 -0
  272. data/lib/appwrite/models/passkey_challenge.rb +1 -0
  273. data/lib/appwrite/models/passkey_list.rb +1 -0
  274. data/lib/appwrite/models/phone.rb +1 -0
  275. data/lib/appwrite/models/phone_list.rb +1 -0
  276. data/lib/appwrite/models/platform_android.rb +9 -3
  277. data/lib/appwrite/models/platform_apple.rb +1 -0
  278. data/lib/appwrite/models/platform_linux.rb +1 -0
  279. data/lib/appwrite/models/platform_list.rb +1 -0
  280. data/lib/appwrite/models/platform_web.rb +1 -0
  281. data/lib/appwrite/models/platform_windows.rb +1 -0
  282. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -0
  283. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -0
  284. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -0
  285. data/lib/appwrite/models/policy_deny_free_email.rb +1 -0
  286. data/lib/appwrite/models/policy_list.rb +1 -0
  287. data/lib/appwrite/models/policy_membership_privacy.rb +1 -0
  288. data/lib/appwrite/models/policy_mfa_factors.rb +1 -0
  289. data/lib/appwrite/models/policy_passkey.rb +1 -0
  290. data/lib/appwrite/models/policy_password_dictionary.rb +1 -0
  291. data/lib/appwrite/models/policy_password_history.rb +1 -0
  292. data/lib/appwrite/models/policy_password_personal_data.rb +1 -0
  293. data/lib/appwrite/models/policy_password_pwned.rb +43 -0
  294. data/lib/appwrite/models/policy_password_rotation.rb +38 -0
  295. data/lib/appwrite/models/policy_password_strength.rb +1 -0
  296. data/lib/appwrite/models/policy_session_alert.rb +1 -0
  297. data/lib/appwrite/models/policy_session_duration.rb +1 -0
  298. data/lib/appwrite/models/policy_session_invalidation.rb +1 -0
  299. data/lib/appwrite/models/policy_session_limit.rb +1 -0
  300. data/lib/appwrite/models/policy_user_limit.rb +1 -0
  301. data/lib/appwrite/models/postgres_extension.rb +1 -0
  302. data/lib/appwrite/models/presence.rb +4 -3
  303. data/lib/appwrite/models/presence_list.rb +1 -0
  304. data/lib/appwrite/models/program.rb +1 -0
  305. data/lib/appwrite/models/project.rb +35 -24
  306. data/lib/appwrite/models/project_auth_method.rb +1 -0
  307. data/lib/appwrite/models/project_list.rb +1 -0
  308. data/lib/appwrite/models/project_protocol.rb +1 -0
  309. data/lib/appwrite/models/project_service.rb +1 -0
  310. data/lib/appwrite/models/provider.rb +2 -1
  311. data/lib/appwrite/models/provider_list.rb +1 -0
  312. data/lib/appwrite/models/proxy_invalidation.rb +1 -0
  313. data/lib/appwrite/models/proxy_rule.rb +24 -4
  314. data/lib/appwrite/models/proxy_rule_list.rb +1 -0
  315. data/lib/appwrite/models/report.rb +2 -1
  316. data/lib/appwrite/models/report_list.rb +1 -0
  317. data/lib/appwrite/models/resource_token.rb +1 -0
  318. data/lib/appwrite/models/resource_token_list.rb +1 -0
  319. data/lib/appwrite/models/row.rb +1 -0
  320. data/lib/appwrite/models/row_list.rb +1 -0
  321. data/lib/appwrite/models/runtime.rb +1 -0
  322. data/lib/appwrite/models/runtime_list.rb +1 -0
  323. data/lib/appwrite/models/session.rb +1 -0
  324. data/lib/appwrite/models/session_list.rb +1 -0
  325. data/lib/appwrite/models/site.rb +1 -0
  326. data/lib/appwrite/models/site_list.rb +1 -0
  327. data/lib/appwrite/models/specification.rb +1 -0
  328. data/lib/appwrite/models/specification_list.rb +1 -0
  329. data/lib/appwrite/models/subscriber.rb +1 -0
  330. data/lib/appwrite/models/subscriber_list.rb +1 -0
  331. data/lib/appwrite/models/table.rb +1 -0
  332. data/lib/appwrite/models/table_list.rb +1 -0
  333. data/lib/appwrite/models/target.rb +2 -1
  334. data/lib/appwrite/models/target_list.rb +1 -0
  335. data/lib/appwrite/models/team.rb +1 -0
  336. data/lib/appwrite/models/team_list.rb +1 -0
  337. data/lib/appwrite/models/token.rb +1 -0
  338. data/lib/appwrite/models/token_secret.rb +1 -0
  339. data/lib/appwrite/models/topic.rb +14 -3
  340. data/lib/appwrite/models/topic_list.rb +1 -0
  341. data/lib/appwrite/models/transaction.rb +1 -0
  342. data/lib/appwrite/models/transaction_list.rb +1 -0
  343. data/lib/appwrite/models/usage_billing_plan.rb +27 -27
  344. data/lib/appwrite/models/user.rb +16 -10
  345. data/lib/appwrite/models/user_list.rb +1 -0
  346. data/lib/appwrite/models/variable.rb +1 -0
  347. data/lib/appwrite/models/variable_list.rb +1 -0
  348. data/lib/appwrite/models/vectorsdb_collection.rb +1 -0
  349. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  350. data/lib/appwrite/models/waf_rule_bypass.rb +111 -0
  351. data/lib/appwrite/models/waf_rule_challenge.rb +126 -0
  352. data/lib/appwrite/models/waf_rule_deny.rb +111 -0
  353. data/lib/appwrite/models/{log_list.rb → waf_rule_list.rb} +8 -7
  354. data/lib/appwrite/models/waf_rule_rate_limit.rb +136 -0
  355. data/lib/appwrite/models/waf_rule_redirect.rb +121 -0
  356. data/lib/appwrite/models/webhook.rb +1 -0
  357. data/lib/appwrite/models/webhook_list.rb +1 -0
  358. data/lib/appwrite/query/builder.rb +361 -0
  359. data/lib/appwrite/query.rb +190 -0
  360. data/lib/appwrite/services/account.rb +409 -133
  361. data/lib/appwrite/services/activities.rb +4 -4
  362. data/lib/appwrite/services/advisor.rb +19 -18
  363. data/lib/appwrite/services/apps.rb +89 -89
  364. data/lib/appwrite/services/avatars.rb +92 -21
  365. data/lib/appwrite/services/backups.rb +30 -30
  366. data/lib/appwrite/services/databases.rb +504 -453
  367. data/lib/appwrite/services/documents_db.rb +199 -191
  368. data/lib/appwrite/services/domains.rb +2318 -0
  369. data/lib/appwrite/services/embeddings.rb +2 -2
  370. data/lib/appwrite/services/functions.rb +128 -112
  371. data/lib/appwrite/services/graphql.rb +4 -4
  372. data/lib/appwrite/services/locale.rb +49 -14
  373. data/lib/appwrite/services/messaging.rb +281 -153
  374. data/lib/appwrite/services/mongo.rb +194 -130
  375. data/lib/appwrite/services/mysql.rb +212 -144
  376. data/lib/appwrite/services/oauth2.rb +72 -27
  377. data/lib/appwrite/services/organization.rb +255 -221
  378. data/lib/appwrite/services/postgresql.rb +226 -158
  379. data/lib/appwrite/services/presences.rb +17 -16
  380. data/lib/appwrite/services/project.rb +588 -157
  381. data/lib/appwrite/services/proxy.rb +70 -23
  382. data/lib/appwrite/services/sites.rb +119 -107
  383. data/lib/appwrite/services/storage.rb +62 -59
  384. data/lib/appwrite/services/tables_db.rb +617 -558
  385. data/lib/appwrite/services/teams.rb +87 -82
  386. data/lib/appwrite/services/tokens.rb +25 -24
  387. data/lib/appwrite/services/users.rb +170 -199
  388. data/lib/appwrite/services/vectors_db.rb +185 -177
  389. data/lib/appwrite/services/waf.rb +859 -0
  390. data/lib/appwrite/services/webhooks.rb +23 -22
  391. data/lib/appwrite/topic.rb +53 -0
  392. data/lib/appwrite.rb +48 -9
  393. metadata +47 -7
  394. data/lib/appwrite/enums/organization_key_scopes.rb +0 -22
  395. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -42
  396. data/lib/appwrite/models/dev_key.rb +0 -62
  397. data/lib/appwrite/models/log.rb +0 -132
@@ -8,7 +8,7 @@ module Appwrite
8
8
 
9
9
  # Get a list of all messages from the current Appwrite project.
10
10
  #
11
- # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType
11
+ # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType, users, targets
12
12
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
13
13
  # @param [] total When set to false, the total count returned will be 0 and will not be calculated.
14
14
  #
@@ -54,6 +54,8 @@ module Appwrite
54
54
  # @param [] draft Is message a draft
55
55
  # @param [] html Is content of type HTML
56
56
  # @param [String] scheduled_at Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
57
+ # @param [String] reply_to_email Email address to reply to. If not set, defaults to the sender email address.
58
+ # @param [String] reply_to_name Name of the reply to recipient. If not set, defaults to the sender name.
57
59
  #
58
60
  # @return [Message]
59
61
  def create_email(
@@ -68,10 +70,10 @@ module Appwrite
68
70
  attachments: nil,
69
71
  draft: nil,
70
72
  html: nil,
71
- scheduled_at: nil
73
+ scheduled_at: nil,
74
+ reply_to_email: nil,
75
+ reply_to_name: nil
72
76
  )
73
- api_path = '/messaging/messages/email'
74
-
75
77
  if message_id.nil?
76
78
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
77
79
  end
@@ -84,6 +86,8 @@ module Appwrite
84
86
  raise Appwrite::Exception.new('Missing required parameter: "content"')
85
87
  end
86
88
 
89
+ api_path = '/messaging/messages/email'
90
+
87
91
  api_params = {
88
92
  messageId: message_id,
89
93
  subject: subject,
@@ -97,6 +101,8 @@ module Appwrite
97
101
  draft: draft,
98
102
  html: html,
99
103
  scheduledAt: scheduled_at,
104
+ replyToEmail: reply_to_email,
105
+ replyToName: reply_to_name,
100
106
  }
101
107
 
102
108
  api_headers = {
@@ -131,6 +137,8 @@ module Appwrite
131
137
  # @param [Array] bcc Array of target IDs to be added as BCC.
132
138
  # @param [String] scheduled_at Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
133
139
  # @param [Array] attachments Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
140
+ # @param [String] reply_to_email Email address to reply to. Pass an empty string to restore the provider or sender default.
141
+ # @param [String] reply_to_name Name of the reply to recipient. Pass an empty string to restore the provider or sender default.
134
142
  #
135
143
  # @return [Message]
136
144
  def update_email(
@@ -145,15 +153,17 @@ module Appwrite
145
153
  cc: nil,
146
154
  bcc: nil,
147
155
  scheduled_at: nil,
148
- attachments: nil
156
+ attachments: nil,
157
+ reply_to_email: nil,
158
+ reply_to_name: nil
149
159
  )
150
- api_path = '/messaging/messages/email/{messageId}'
151
- .gsub('{messageId}', message_id)
152
-
153
- if message_id.nil?
160
+ if message_id.nil? || message_id == ''
154
161
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
155
162
  end
156
163
 
164
+ api_path = '/messaging/messages/email/{messageId}'
165
+ .gsub('{messageId}', message_id)
166
+
157
167
  api_params = {
158
168
  topics: topics,
159
169
  users: users,
@@ -166,6 +176,8 @@ module Appwrite
166
176
  bcc: bcc,
167
177
  scheduledAt: scheduled_at,
168
178
  attachments: attachments,
179
+ replyToEmail: reply_to_email,
180
+ replyToName: reply_to_name,
169
181
  }
170
182
 
171
183
  api_headers = {
@@ -204,6 +216,7 @@ module Appwrite
204
216
  # @param [] content_available If set to true, the notification will be delivered in the background. Available only for iOS Platform.
205
217
  # @param [] critical If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
206
218
  # @param [MessagePriority] priority Set the notification priority. "normal" will consider device state and may not deliver notifications immediately. "high" will always attempt to immediately deliver the notification.
219
+ # @param [String] channel_id ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Available only for Android Platform.
207
220
  #
208
221
  # @return [Message]
209
222
  def create_push(
@@ -225,14 +238,15 @@ module Appwrite
225
238
  scheduled_at: nil,
226
239
  content_available: nil,
227
240
  critical: nil,
228
- priority: nil
241
+ priority: nil,
242
+ channel_id: nil
229
243
  )
230
- api_path = '/messaging/messages/push'
231
-
232
244
  if message_id.nil?
233
245
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
234
246
  end
235
247
 
248
+ api_path = '/messaging/messages/push'
249
+
236
250
  api_params = {
237
251
  messageId: message_id,
238
252
  title: title,
@@ -253,6 +267,7 @@ module Appwrite
253
267
  contentAvailable: content_available,
254
268
  critical: critical,
255
269
  priority: priority,
270
+ channelId: channel_id,
256
271
  }
257
272
 
258
273
  api_headers = {
@@ -294,6 +309,7 @@ module Appwrite
294
309
  # @param [] content_available If set to true, the notification will be delivered in the background. Available only for iOS Platform.
295
310
  # @param [] critical If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
296
311
  # @param [MessagePriority] priority Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.
312
+ # @param [String] channel_id ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Pass an empty string to clear it. Available only for Android platforms.
297
313
  #
298
314
  # @return [Message]
299
315
  def update_push(
@@ -315,15 +331,16 @@ module Appwrite
315
331
  scheduled_at: nil,
316
332
  content_available: nil,
317
333
  critical: nil,
318
- priority: nil
334
+ priority: nil,
335
+ channel_id: nil
319
336
  )
320
- api_path = '/messaging/messages/push/{messageId}'
321
- .gsub('{messageId}', message_id)
322
-
323
- if message_id.nil?
337
+ if message_id.nil? || message_id == ''
324
338
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
325
339
  end
326
340
 
341
+ api_path = '/messaging/messages/push/{messageId}'
342
+ .gsub('{messageId}', message_id)
343
+
327
344
  api_params = {
328
345
  topics: topics,
329
346
  users: users,
@@ -343,6 +360,7 @@ module Appwrite
343
360
  contentAvailable: content_available,
344
361
  critical: critical,
345
362
  priority: priority,
363
+ channelId: channel_id,
346
364
  }
347
365
 
348
366
  api_headers = {
@@ -380,8 +398,6 @@ module Appwrite
380
398
  draft: nil,
381
399
  scheduled_at: nil
382
400
  )
383
- api_path = '/messaging/messages/sms'
384
-
385
401
  if message_id.nil?
386
402
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
387
403
  end
@@ -390,6 +406,8 @@ module Appwrite
390
406
  raise Appwrite::Exception.new('Missing required parameter: "content"')
391
407
  end
392
408
 
409
+ api_path = '/messaging/messages/sms'
410
+
393
411
  api_params = {
394
412
  messageId: message_id,
395
413
  content: content,
@@ -438,13 +456,13 @@ module Appwrite
438
456
  draft: nil,
439
457
  scheduled_at: nil
440
458
  )
441
- api_path = '/messaging/messages/sms/{messageId}'
442
- .gsub('{messageId}', message_id)
443
-
444
- if message_id.nil?
459
+ if message_id.nil? || message_id == ''
445
460
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
446
461
  end
447
462
 
463
+ api_path = '/messaging/messages/sms/{messageId}'
464
+ .gsub('{messageId}', message_id)
465
+
448
466
  api_params = {
449
467
  topics: topics,
450
468
  users: users,
@@ -478,13 +496,13 @@ module Appwrite
478
496
  def get_message(
479
497
  message_id:
480
498
  )
481
- api_path = '/messaging/messages/{messageId}'
482
- .gsub('{messageId}', message_id)
483
-
484
- if message_id.nil?
499
+ if message_id.nil? || message_id == ''
485
500
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
486
501
  end
487
502
 
503
+ api_path = '/messaging/messages/{messageId}'
504
+ .gsub('{messageId}', message_id)
505
+
488
506
  api_params = {}
489
507
 
490
508
  api_headers = {
@@ -510,18 +528,19 @@ module Appwrite
510
528
  def delete(
511
529
  message_id:
512
530
  )
513
- api_path = '/messaging/messages/{messageId}'
514
- .gsub('{messageId}', message_id)
515
-
516
- if message_id.nil?
531
+ if message_id.nil? || message_id == ''
517
532
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
518
533
  end
519
534
 
535
+ api_path = '/messaging/messages/{messageId}'
536
+ .gsub('{messageId}', message_id)
537
+
520
538
  api_params = {}
521
539
 
522
540
  api_headers = {
523
541
  "X-Appwrite-Project": @client.get_config('project'),
524
542
  "content-type": 'application/json',
543
+ "accept": 'application/json',
525
544
  }
526
545
 
527
546
  @client.call(
@@ -544,13 +563,13 @@ module Appwrite
544
563
  queries: nil,
545
564
  total: nil
546
565
  )
547
- api_path = '/messaging/messages/{messageId}/targets'
548
- .gsub('{messageId}', message_id)
549
-
550
- if message_id.nil?
566
+ if message_id.nil? || message_id == ''
551
567
  raise Appwrite::Exception.new('Missing required parameter: "messageId"')
552
568
  end
553
569
 
570
+ api_path = '/messaging/messages/{messageId}/targets'
571
+ .gsub('{messageId}', message_id)
572
+
554
573
  api_params = {
555
574
  queries: queries,
556
575
  total: total,
@@ -626,8 +645,6 @@ module Appwrite
626
645
  sandbox: nil,
627
646
  enabled: nil
628
647
  )
629
- api_path = '/messaging/providers/apns'
630
-
631
648
  if provider_id.nil?
632
649
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
633
650
  end
@@ -636,6 +653,8 @@ module Appwrite
636
653
  raise Appwrite::Exception.new('Missing required parameter: "name"')
637
654
  end
638
655
 
656
+ api_path = '/messaging/providers/apns'
657
+
639
658
  api_params = {
640
659
  providerId: provider_id,
641
660
  name: name,
@@ -684,13 +703,13 @@ module Appwrite
684
703
  bundle_id: nil,
685
704
  sandbox: nil
686
705
  )
687
- api_path = '/messaging/providers/apns/{providerId}'
688
- .gsub('{providerId}', provider_id)
689
-
690
- if provider_id.nil?
706
+ if provider_id.nil? || provider_id == ''
691
707
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
692
708
  end
693
709
 
710
+ api_path = '/messaging/providers/apns/{providerId}'
711
+ .gsub('{providerId}', provider_id)
712
+
694
713
  api_params = {
695
714
  name: name,
696
715
  enabled: enabled,
@@ -716,6 +735,100 @@ module Appwrite
716
735
  )
717
736
  end
718
737
 
738
+ # Create a new Appwrite push provider.
739
+ #
740
+ # @param [String] provider_id Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
741
+ # @param [String] name Provider name.
742
+ # @param [] enabled Set as enabled.
743
+ # @param [Integer] qos Default QoS for topics on this provider (0 or 1). Null lets the subscriber choose.
744
+ # @param [Integer] expiry Default message retention in seconds for offline delivery. Max 7 days (604800). Applies to topics with a null expiry; the lowest across enabled Appwrite providers wins.
745
+ #
746
+ # @return [Provider]
747
+ def create_appwrite_provider(
748
+ provider_id:,
749
+ name:,
750
+ enabled: nil,
751
+ qos: nil,
752
+ expiry: nil
753
+ )
754
+ if provider_id.nil?
755
+ raise Appwrite::Exception.new('Missing required parameter: "providerId"')
756
+ end
757
+
758
+ if name.nil?
759
+ raise Appwrite::Exception.new('Missing required parameter: "name"')
760
+ end
761
+
762
+ api_path = '/messaging/providers/appwrite'
763
+
764
+ api_params = {
765
+ providerId: provider_id,
766
+ name: name,
767
+ enabled: enabled,
768
+ qos: qos,
769
+ expiry: expiry,
770
+ }
771
+
772
+ api_headers = {
773
+ "X-Appwrite-Project": @client.get_config('project'),
774
+ "content-type": 'application/json',
775
+ "accept": 'application/json',
776
+ }
777
+
778
+ @client.call(
779
+ method: 'POST',
780
+ path: api_path,
781
+ headers: api_headers,
782
+ params: api_params,
783
+ response_type: Models::Provider
784
+ )
785
+ end
786
+
787
+ # Update an Appwrite push provider by its unique ID.
788
+ #
789
+ # @param [String] provider_id Provider ID.
790
+ # @param [String] name Provider name.
791
+ # @param [] enabled Set as enabled.
792
+ # @param [Integer] qos Default QoS for topics on this provider (0 or 1). Null lets the subscriber choose.
793
+ # @param [Integer] expiry Default message retention in seconds for offline delivery. Max 7 days (604800). Applies to topics with a null expiry; the lowest across enabled Appwrite providers wins.
794
+ #
795
+ # @return [Provider]
796
+ def update_appwrite_provider(
797
+ provider_id:,
798
+ name: nil,
799
+ enabled: nil,
800
+ qos: nil,
801
+ expiry: nil
802
+ )
803
+ if provider_id.nil? || provider_id == ''
804
+ raise Appwrite::Exception.new('Missing required parameter: "providerId"')
805
+ end
806
+
807
+ api_path = '/messaging/providers/appwrite/{providerId}'
808
+ .gsub('{providerId}', provider_id)
809
+
810
+ api_params = {
811
+ name: name,
812
+ enabled: enabled,
813
+ qos: qos,
814
+ expiry: expiry,
815
+ }
816
+
817
+ api_headers = {
818
+ "X-Appwrite-Project": @client.get_config('project'),
819
+ "content-type": 'application/json',
820
+ "accept": 'application/json',
821
+ }
822
+
823
+ @client.call(
824
+ method: 'PATCH',
825
+ path: api_path,
826
+ headers: api_headers,
827
+ params: api_params,
828
+ response_type: Models::Provider
829
+ )
830
+ end
831
+
719
832
  # Create a new Firebase Cloud Messaging provider.
720
833
  #
721
834
  # @param [String] provider_id Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
@@ -730,8 +843,6 @@ module Appwrite
730
843
  service_account_json: nil,
731
844
  enabled: nil
732
845
  )
733
- api_path = '/messaging/providers/fcm'
734
-
735
846
  if provider_id.nil?
736
847
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
737
848
  end
@@ -740,6 +851,8 @@ module Appwrite
740
851
  raise Appwrite::Exception.new('Missing required parameter: "name"')
741
852
  end
742
853
 
854
+ api_path = '/messaging/providers/fcm'
855
+
743
856
  api_params = {
744
857
  providerId: provider_id,
745
858
  name: name,
@@ -776,13 +889,13 @@ module Appwrite
776
889
  enabled: nil,
777
890
  service_account_json: nil
778
891
  )
779
- api_path = '/messaging/providers/fcm/{providerId}'
780
- .gsub('{providerId}', provider_id)
781
-
782
- if provider_id.nil?
892
+ if provider_id.nil? || provider_id == ''
783
893
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
784
894
  end
785
895
 
896
+ api_path = '/messaging/providers/fcm/{providerId}'
897
+ .gsub('{providerId}', provider_id)
898
+
786
899
  api_params = {
787
900
  name: name,
788
901
  enabled: enabled,
@@ -830,8 +943,6 @@ module Appwrite
830
943
  reply_to_email: nil,
831
944
  enabled: nil
832
945
  )
833
- api_path = '/messaging/providers/mailgun'
834
-
835
946
  if provider_id.nil?
836
947
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
837
948
  end
@@ -840,6 +951,8 @@ module Appwrite
840
951
  raise Appwrite::Exception.new('Missing required parameter: "name"')
841
952
  end
842
953
 
954
+ api_path = '/messaging/providers/mailgun'
955
+
843
956
  api_params = {
844
957
  providerId: provider_id,
845
958
  name: name,
@@ -894,13 +1007,13 @@ module Appwrite
894
1007
  reply_to_name: nil,
895
1008
  reply_to_email: nil
896
1009
  )
897
- api_path = '/messaging/providers/mailgun/{providerId}'
898
- .gsub('{providerId}', provider_id)
899
-
900
- if provider_id.nil?
1010
+ if provider_id.nil? || provider_id == ''
901
1011
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
902
1012
  end
903
1013
 
1014
+ api_path = '/messaging/providers/mailgun/{providerId}'
1015
+ .gsub('{providerId}', provider_id)
1016
+
904
1017
  api_params = {
905
1018
  name: name,
906
1019
  apiKey: api_key,
@@ -946,8 +1059,6 @@ module Appwrite
946
1059
  auth_key: nil,
947
1060
  enabled: nil
948
1061
  )
949
- api_path = '/messaging/providers/msg91'
950
-
951
1062
  if provider_id.nil?
952
1063
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
953
1064
  end
@@ -956,6 +1067,8 @@ module Appwrite
956
1067
  raise Appwrite::Exception.new('Missing required parameter: "name"')
957
1068
  end
958
1069
 
1070
+ api_path = '/messaging/providers/msg91'
1071
+
959
1072
  api_params = {
960
1073
  providerId: provider_id,
961
1074
  name: name,
@@ -998,13 +1111,13 @@ module Appwrite
998
1111
  sender_id: nil,
999
1112
  auth_key: nil
1000
1113
  )
1001
- api_path = '/messaging/providers/msg91/{providerId}'
1002
- .gsub('{providerId}', provider_id)
1003
-
1004
- if provider_id.nil?
1114
+ if provider_id.nil? || provider_id == ''
1005
1115
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1006
1116
  end
1007
1117
 
1118
+ api_path = '/messaging/providers/msg91/{providerId}'
1119
+ .gsub('{providerId}', provider_id)
1120
+
1008
1121
  api_params = {
1009
1122
  name: name,
1010
1123
  enabled: enabled,
@@ -1050,8 +1163,6 @@ module Appwrite
1050
1163
  reply_to_email: nil,
1051
1164
  enabled: nil
1052
1165
  )
1053
- api_path = '/messaging/providers/resend'
1054
-
1055
1166
  if provider_id.nil?
1056
1167
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1057
1168
  end
@@ -1060,6 +1171,8 @@ module Appwrite
1060
1171
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1061
1172
  end
1062
1173
 
1174
+ api_path = '/messaging/providers/resend'
1175
+
1063
1176
  api_params = {
1064
1177
  providerId: provider_id,
1065
1178
  name: name,
@@ -1108,13 +1221,13 @@ module Appwrite
1108
1221
  reply_to_name: nil,
1109
1222
  reply_to_email: nil
1110
1223
  )
1111
- api_path = '/messaging/providers/resend/{providerId}'
1112
- .gsub('{providerId}', provider_id)
1113
-
1114
- if provider_id.nil?
1224
+ if provider_id.nil? || provider_id == ''
1115
1225
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1116
1226
  end
1117
1227
 
1228
+ api_path = '/messaging/providers/resend/{providerId}'
1229
+ .gsub('{providerId}', provider_id)
1230
+
1118
1231
  api_params = {
1119
1232
  name: name,
1120
1233
  enabled: enabled,
@@ -1162,8 +1275,6 @@ module Appwrite
1162
1275
  reply_to_email: nil,
1163
1276
  enabled: nil
1164
1277
  )
1165
- api_path = '/messaging/providers/sendgrid'
1166
-
1167
1278
  if provider_id.nil?
1168
1279
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1169
1280
  end
@@ -1172,6 +1283,8 @@ module Appwrite
1172
1283
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1173
1284
  end
1174
1285
 
1286
+ api_path = '/messaging/providers/sendgrid'
1287
+
1175
1288
  api_params = {
1176
1289
  providerId: provider_id,
1177
1290
  name: name,
@@ -1220,13 +1333,13 @@ module Appwrite
1220
1333
  reply_to_name: nil,
1221
1334
  reply_to_email: nil
1222
1335
  )
1223
- api_path = '/messaging/providers/sendgrid/{providerId}'
1224
- .gsub('{providerId}', provider_id)
1225
-
1226
- if provider_id.nil?
1336
+ if provider_id.nil? || provider_id == ''
1227
1337
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1228
1338
  end
1229
1339
 
1340
+ api_path = '/messaging/providers/sendgrid/{providerId}'
1341
+ .gsub('{providerId}', provider_id)
1342
+
1230
1343
  api_params = {
1231
1344
  name: name,
1232
1345
  enabled: enabled,
@@ -1278,8 +1391,6 @@ module Appwrite
1278
1391
  reply_to_email: nil,
1279
1392
  enabled: nil
1280
1393
  )
1281
- api_path = '/messaging/providers/ses'
1282
-
1283
1394
  if provider_id.nil?
1284
1395
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1285
1396
  end
@@ -1288,6 +1399,8 @@ module Appwrite
1288
1399
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1289
1400
  end
1290
1401
 
1402
+ api_path = '/messaging/providers/ses'
1403
+
1291
1404
  api_params = {
1292
1405
  providerId: provider_id,
1293
1406
  name: name,
@@ -1342,13 +1455,13 @@ module Appwrite
1342
1455
  reply_to_name: nil,
1343
1456
  reply_to_email: nil
1344
1457
  )
1345
- api_path = '/messaging/providers/ses/{providerId}'
1346
- .gsub('{providerId}', provider_id)
1347
-
1348
- if provider_id.nil?
1458
+ if provider_id.nil? || provider_id == ''
1349
1459
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1350
1460
  end
1351
1461
 
1462
+ api_path = '/messaging/providers/ses/{providerId}'
1463
+ .gsub('{providerId}', provider_id)
1464
+
1352
1465
  api_params = {
1353
1466
  name: name,
1354
1467
  enabled: enabled,
@@ -1410,8 +1523,6 @@ module Appwrite
1410
1523
  reply_to_email: nil,
1411
1524
  enabled: nil
1412
1525
  )
1413
- api_path = '/messaging/providers/smtp'
1414
-
1415
1526
  if provider_id.nil?
1416
1527
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1417
1528
  end
@@ -1424,6 +1535,8 @@ module Appwrite
1424
1535
  raise Appwrite::Exception.new('Missing required parameter: "host"')
1425
1536
  end
1426
1537
 
1538
+ api_path = '/messaging/providers/smtp'
1539
+
1427
1540
  api_params = {
1428
1541
  providerId: provider_id,
1429
1542
  name: name,
@@ -1490,13 +1603,13 @@ module Appwrite
1490
1603
  reply_to_email: nil,
1491
1604
  enabled: nil
1492
1605
  )
1493
- api_path = '/messaging/providers/smtp/{providerId}'
1494
- .gsub('{providerId}', provider_id)
1495
-
1496
- if provider_id.nil?
1606
+ if provider_id.nil? || provider_id == ''
1497
1607
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1498
1608
  end
1499
1609
 
1610
+ api_path = '/messaging/providers/smtp/{providerId}'
1611
+ .gsub('{providerId}', provider_id)
1612
+
1500
1613
  api_params = {
1501
1614
  name: name,
1502
1615
  host: host,
@@ -1546,8 +1659,6 @@ module Appwrite
1546
1659
  api_key: nil,
1547
1660
  enabled: nil
1548
1661
  )
1549
- api_path = '/messaging/providers/telesign'
1550
-
1551
1662
  if provider_id.nil?
1552
1663
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1553
1664
  end
@@ -1556,6 +1667,8 @@ module Appwrite
1556
1667
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1557
1668
  end
1558
1669
 
1670
+ api_path = '/messaging/providers/telesign'
1671
+
1559
1672
  api_params = {
1560
1673
  providerId: provider_id,
1561
1674
  name: name,
@@ -1598,13 +1711,13 @@ module Appwrite
1598
1711
  api_key: nil,
1599
1712
  from: nil
1600
1713
  )
1601
- api_path = '/messaging/providers/telesign/{providerId}'
1602
- .gsub('{providerId}', provider_id)
1603
-
1604
- if provider_id.nil?
1714
+ if provider_id.nil? || provider_id == ''
1605
1715
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1606
1716
  end
1607
1717
 
1718
+ api_path = '/messaging/providers/telesign/{providerId}'
1719
+ .gsub('{providerId}', provider_id)
1720
+
1608
1721
  api_params = {
1609
1722
  name: name,
1610
1723
  enabled: enabled,
@@ -1646,8 +1759,6 @@ module Appwrite
1646
1759
  api_key: nil,
1647
1760
  enabled: nil
1648
1761
  )
1649
- api_path = '/messaging/providers/textmagic'
1650
-
1651
1762
  if provider_id.nil?
1652
1763
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1653
1764
  end
@@ -1656,6 +1767,8 @@ module Appwrite
1656
1767
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1657
1768
  end
1658
1769
 
1770
+ api_path = '/messaging/providers/textmagic'
1771
+
1659
1772
  api_params = {
1660
1773
  providerId: provider_id,
1661
1774
  name: name,
@@ -1698,13 +1811,13 @@ module Appwrite
1698
1811
  api_key: nil,
1699
1812
  from: nil
1700
1813
  )
1701
- api_path = '/messaging/providers/textmagic/{providerId}'
1702
- .gsub('{providerId}', provider_id)
1703
-
1704
- if provider_id.nil?
1814
+ if provider_id.nil? || provider_id == ''
1705
1815
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1706
1816
  end
1707
1817
 
1818
+ api_path = '/messaging/providers/textmagic/{providerId}'
1819
+ .gsub('{providerId}', provider_id)
1820
+
1708
1821
  api_params = {
1709
1822
  name: name,
1710
1823
  enabled: enabled,
@@ -1732,7 +1845,7 @@ module Appwrite
1732
1845
  #
1733
1846
  # @param [String] provider_id Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
1734
1847
  # @param [String] name Provider name.
1735
- # @param [String] from Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
1848
+ # @param [String] from Sender phone number or alphanumeric sender ID. Format phone numbers with a leading '+' and a country code, e.g., +16175551212.
1736
1849
  # @param [String] account_sid Twilio account secret ID.
1737
1850
  # @param [String] auth_token Twilio authentication token.
1738
1851
  # @param [] enabled Set as enabled.
@@ -1746,8 +1859,6 @@ module Appwrite
1746
1859
  auth_token: nil,
1747
1860
  enabled: nil
1748
1861
  )
1749
- api_path = '/messaging/providers/twilio'
1750
-
1751
1862
  if provider_id.nil?
1752
1863
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1753
1864
  end
@@ -1756,6 +1867,8 @@ module Appwrite
1756
1867
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1757
1868
  end
1758
1869
 
1870
+ api_path = '/messaging/providers/twilio'
1871
+
1759
1872
  api_params = {
1760
1873
  providerId: provider_id,
1761
1874
  name: name,
@@ -1787,7 +1900,7 @@ module Appwrite
1787
1900
  # @param [] enabled Set as enabled.
1788
1901
  # @param [String] account_sid Twilio account secret ID.
1789
1902
  # @param [String] auth_token Twilio authentication token.
1790
- # @param [String] from Sender number.
1903
+ # @param [String] from Sender phone number or alphanumeric sender ID. Format phone numbers with a leading '+' and a country code, e.g., +16175551212.
1791
1904
  #
1792
1905
  # @return [Provider]
1793
1906
  def update_twilio_provider(
@@ -1798,13 +1911,13 @@ module Appwrite
1798
1911
  auth_token: nil,
1799
1912
  from: nil
1800
1913
  )
1801
- api_path = '/messaging/providers/twilio/{providerId}'
1802
- .gsub('{providerId}', provider_id)
1803
-
1804
- if provider_id.nil?
1914
+ if provider_id.nil? || provider_id == ''
1805
1915
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1806
1916
  end
1807
1917
 
1918
+ api_path = '/messaging/providers/twilio/{providerId}'
1919
+ .gsub('{providerId}', provider_id)
1920
+
1808
1921
  api_params = {
1809
1922
  name: name,
1810
1923
  enabled: enabled,
@@ -1846,8 +1959,6 @@ module Appwrite
1846
1959
  api_secret: nil,
1847
1960
  enabled: nil
1848
1961
  )
1849
- api_path = '/messaging/providers/vonage'
1850
-
1851
1962
  if provider_id.nil?
1852
1963
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1853
1964
  end
@@ -1856,6 +1967,8 @@ module Appwrite
1856
1967
  raise Appwrite::Exception.new('Missing required parameter: "name"')
1857
1968
  end
1858
1969
 
1970
+ api_path = '/messaging/providers/vonage'
1971
+
1859
1972
  api_params = {
1860
1973
  providerId: provider_id,
1861
1974
  name: name,
@@ -1898,13 +2011,13 @@ module Appwrite
1898
2011
  api_secret: nil,
1899
2012
  from: nil
1900
2013
  )
1901
- api_path = '/messaging/providers/vonage/{providerId}'
1902
- .gsub('{providerId}', provider_id)
1903
-
1904
- if provider_id.nil?
2014
+ if provider_id.nil? || provider_id == ''
1905
2015
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1906
2016
  end
1907
2017
 
2018
+ api_path = '/messaging/providers/vonage/{providerId}'
2019
+ .gsub('{providerId}', provider_id)
2020
+
1908
2021
  api_params = {
1909
2022
  name: name,
1910
2023
  enabled: enabled,
@@ -1937,13 +2050,13 @@ module Appwrite
1937
2050
  def get_provider(
1938
2051
  provider_id:
1939
2052
  )
1940
- api_path = '/messaging/providers/{providerId}'
1941
- .gsub('{providerId}', provider_id)
1942
-
1943
- if provider_id.nil?
2053
+ if provider_id.nil? || provider_id == ''
1944
2054
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1945
2055
  end
1946
2056
 
2057
+ api_path = '/messaging/providers/{providerId}'
2058
+ .gsub('{providerId}', provider_id)
2059
+
1947
2060
  api_params = {}
1948
2061
 
1949
2062
  api_headers = {
@@ -1968,18 +2081,19 @@ module Appwrite
1968
2081
  def delete_provider(
1969
2082
  provider_id:
1970
2083
  )
1971
- api_path = '/messaging/providers/{providerId}'
1972
- .gsub('{providerId}', provider_id)
1973
-
1974
- if provider_id.nil?
2084
+ if provider_id.nil? || provider_id == ''
1975
2085
  raise Appwrite::Exception.new('Missing required parameter: "providerId"')
1976
2086
  end
1977
2087
 
2088
+ api_path = '/messaging/providers/{providerId}'
2089
+ .gsub('{providerId}', provider_id)
2090
+
1978
2091
  api_params = {}
1979
2092
 
1980
2093
  api_headers = {
1981
2094
  "X-Appwrite-Project": @client.get_config('project'),
1982
2095
  "content-type": 'application/json',
2096
+ "accept": 'application/json',
1983
2097
  }
1984
2098
 
1985
2099
  @client.call(
@@ -2029,15 +2143,17 @@ module Appwrite
2029
2143
  # @param [String] topic_id Topic ID. Choose a custom Topic ID or a new Topic ID.
2030
2144
  # @param [String] name Topic Name.
2031
2145
  # @param [Array] subscribe An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.
2146
+ # @param [Integer] qos MQTT delivery quality of service for this topic. 0 is fire-and-forget (delivered only to clients connected at publish time). 1 persists each message and replays it when a client reconnects without having acknowledged it. Null lets the subscriber choose.
2147
+ # @param [Integer] expiry Message retention in seconds for offline delivery. Max 7 days (604800). Null inherits the lowest expiry of the project's enabled Appwrite providers, or the 7-day ledger window if none sets one.
2032
2148
  #
2033
2149
  # @return [Topic]
2034
2150
  def create_topic(
2035
2151
  topic_id:,
2036
2152
  name:,
2037
- subscribe: nil
2153
+ subscribe: nil,
2154
+ qos: nil,
2155
+ expiry: nil
2038
2156
  )
2039
- api_path = '/messaging/topics'
2040
-
2041
2157
  if topic_id.nil?
2042
2158
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2043
2159
  end
@@ -2046,10 +2162,14 @@ module Appwrite
2046
2162
  raise Appwrite::Exception.new('Missing required parameter: "name"')
2047
2163
  end
2048
2164
 
2165
+ api_path = '/messaging/topics'
2166
+
2049
2167
  api_params = {
2050
2168
  topicId: topic_id,
2051
2169
  name: name,
2052
2170
  subscribe: subscribe,
2171
+ qos: qos,
2172
+ expiry: expiry,
2053
2173
  }
2054
2174
 
2055
2175
  api_headers = {
@@ -2076,13 +2196,13 @@ module Appwrite
2076
2196
  def get_topic(
2077
2197
  topic_id:
2078
2198
  )
2079
- api_path = '/messaging/topics/{topicId}'
2080
- .gsub('{topicId}', topic_id)
2081
-
2082
- if topic_id.nil?
2199
+ if topic_id.nil? || topic_id == ''
2083
2200
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2084
2201
  end
2085
2202
 
2203
+ api_path = '/messaging/topics/{topicId}'
2204
+ .gsub('{topicId}', topic_id)
2205
+
2086
2206
  api_params = {}
2087
2207
 
2088
2208
  api_headers = {
@@ -2105,23 +2225,29 @@ module Appwrite
2105
2225
  # @param [String] topic_id Topic ID.
2106
2226
  # @param [String] name Topic Name.
2107
2227
  # @param [Array] subscribe An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.
2228
+ # @param [Integer] qos MQTT delivery quality of service for this topic. 0 is fire-and-forget (delivered only to clients connected at publish time). 1 persists each message and replays it when a client reconnects without having acknowledged it. Null lets the subscriber choose.
2229
+ # @param [Integer] expiry Message retention in seconds for offline delivery. Max 7 days (604800). Null inherits the lowest expiry of the project's enabled Appwrite providers, or the 7-day ledger window if none sets one.
2108
2230
  #
2109
2231
  # @return [Topic]
2110
2232
  def update_topic(
2111
2233
  topic_id:,
2112
2234
  name: nil,
2113
- subscribe: nil
2235
+ subscribe: nil,
2236
+ qos: nil,
2237
+ expiry: nil
2114
2238
  )
2115
- api_path = '/messaging/topics/{topicId}'
2116
- .gsub('{topicId}', topic_id)
2117
-
2118
- if topic_id.nil?
2239
+ if topic_id.nil? || topic_id == ''
2119
2240
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2120
2241
  end
2121
2242
 
2243
+ api_path = '/messaging/topics/{topicId}'
2244
+ .gsub('{topicId}', topic_id)
2245
+
2122
2246
  api_params = {
2123
2247
  name: name,
2124
2248
  subscribe: subscribe,
2249
+ qos: qos,
2250
+ expiry: expiry,
2125
2251
  }
2126
2252
 
2127
2253
  api_headers = {
@@ -2147,18 +2273,19 @@ module Appwrite
2147
2273
  def delete_topic(
2148
2274
  topic_id:
2149
2275
  )
2150
- api_path = '/messaging/topics/{topicId}'
2151
- .gsub('{topicId}', topic_id)
2152
-
2153
- if topic_id.nil?
2276
+ if topic_id.nil? || topic_id == ''
2154
2277
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2155
2278
  end
2156
2279
 
2280
+ api_path = '/messaging/topics/{topicId}'
2281
+ .gsub('{topicId}', topic_id)
2282
+
2157
2283
  api_params = {}
2158
2284
 
2159
2285
  api_headers = {
2160
2286
  "X-Appwrite-Project": @client.get_config('project'),
2161
2287
  "content-type": 'application/json',
2288
+ "accept": 'application/json',
2162
2289
  }
2163
2290
 
2164
2291
  @client.call(
@@ -2183,13 +2310,13 @@ module Appwrite
2183
2310
  search: nil,
2184
2311
  total: nil
2185
2312
  )
2186
- api_path = '/messaging/topics/{topicId}/subscribers'
2187
- .gsub('{topicId}', topic_id)
2188
-
2189
- if topic_id.nil?
2313
+ if topic_id.nil? || topic_id == ''
2190
2314
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2191
2315
  end
2192
2316
 
2317
+ api_path = '/messaging/topics/{topicId}/subscribers'
2318
+ .gsub('{topicId}', topic_id)
2319
+
2193
2320
  api_params = {
2194
2321
  queries: queries,
2195
2322
  search: search,
@@ -2222,10 +2349,7 @@ module Appwrite
2222
2349
  subscriber_id:,
2223
2350
  target_id:
2224
2351
  )
2225
- api_path = '/messaging/topics/{topicId}/subscribers'
2226
- .gsub('{topicId}', topic_id)
2227
-
2228
- if topic_id.nil?
2352
+ if topic_id.nil? || topic_id == ''
2229
2353
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2230
2354
  end
2231
2355
 
@@ -2237,6 +2361,9 @@ module Appwrite
2237
2361
  raise Appwrite::Exception.new('Missing required parameter: "targetId"')
2238
2362
  end
2239
2363
 
2364
+ api_path = '/messaging/topics/{topicId}/subscribers'
2365
+ .gsub('{topicId}', topic_id)
2366
+
2240
2367
  api_params = {
2241
2368
  subscriberId: subscriber_id,
2242
2369
  targetId: target_id,
@@ -2268,18 +2395,18 @@ module Appwrite
2268
2395
  topic_id:,
2269
2396
  subscriber_id:
2270
2397
  )
2271
- api_path = '/messaging/topics/{topicId}/subscribers/{subscriberId}'
2272
- .gsub('{topicId}', topic_id)
2273
- .gsub('{subscriberId}', subscriber_id)
2274
-
2275
- if topic_id.nil?
2398
+ if topic_id.nil? || topic_id == ''
2276
2399
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2277
2400
  end
2278
2401
 
2279
- if subscriber_id.nil?
2402
+ if subscriber_id.nil? || subscriber_id == ''
2280
2403
  raise Appwrite::Exception.new('Missing required parameter: "subscriberId"')
2281
2404
  end
2282
2405
 
2406
+ api_path = '/messaging/topics/{topicId}/subscribers/{subscriberId}'
2407
+ .gsub('{topicId}', topic_id)
2408
+ .gsub('{subscriberId}', subscriber_id)
2409
+
2283
2410
  api_params = {}
2284
2411
 
2285
2412
  api_headers = {
@@ -2306,23 +2433,24 @@ module Appwrite
2306
2433
  topic_id:,
2307
2434
  subscriber_id:
2308
2435
  )
2309
- api_path = '/messaging/topics/{topicId}/subscribers/{subscriberId}'
2310
- .gsub('{topicId}', topic_id)
2311
- .gsub('{subscriberId}', subscriber_id)
2312
-
2313
- if topic_id.nil?
2436
+ if topic_id.nil? || topic_id == ''
2314
2437
  raise Appwrite::Exception.new('Missing required parameter: "topicId"')
2315
2438
  end
2316
2439
 
2317
- if subscriber_id.nil?
2440
+ if subscriber_id.nil? || subscriber_id == ''
2318
2441
  raise Appwrite::Exception.new('Missing required parameter: "subscriberId"')
2319
2442
  end
2320
2443
 
2444
+ api_path = '/messaging/topics/{topicId}/subscribers/{subscriberId}'
2445
+ .gsub('{topicId}', topic_id)
2446
+ .gsub('{subscriberId}', subscriber_id)
2447
+
2321
2448
  api_params = {}
2322
2449
 
2323
2450
  api_headers = {
2324
2451
  "X-Appwrite-Project": @client.get_config('project'),
2325
2452
  "content-type": 'application/json',
2453
+ "accept": 'application/json',
2326
2454
  }
2327
2455
 
2328
2456
  @client.call(