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
@@ -4,6 +4,7 @@ module Appwrite
4
4
  module Models
5
5
  class AttributeVarchar
6
6
  attr_reader :key
7
+ attr_reader :description
7
8
  attr_reader :type
8
9
  attr_reader :status
9
10
  attr_reader :error
@@ -17,18 +18,20 @@ module Appwrite
17
18
 
18
19
  def initialize(
19
20
  key:,
21
+ description:,
20
22
  type:,
21
23
  status:,
22
24
  error:,
23
25
  required:,
24
- array:,
26
+ array: false,
25
27
  created_at:,
26
28
  updated_at:,
27
29
  size:,
28
- default:,
29
- encrypt:
30
+ default: nil,
31
+ encrypt: false
30
32
  )
31
33
  @key = key
34
+ @description = description
32
35
  @type = type
33
36
  @status = validate_status(status)
34
37
  @error = error
@@ -42,8 +45,10 @@ module Appwrite
42
45
  end
43
46
 
44
47
  def self.from(map:)
48
+ map = { "key" => "", "description" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "size" => 0 }.merge(map)
45
49
  AttributeVarchar.new(
46
50
  key: map["key"],
51
+ description: map["description"],
47
52
  type: map["type"],
48
53
  status: map["status"],
49
54
  error: map["error"],
@@ -60,6 +65,7 @@ module Appwrite
60
65
  def to_map
61
66
  {
62
67
  "key": @key,
68
+ "description": @description,
63
69
  "type": @type,
64
70
  "status": @status,
65
71
  "error": @error,
@@ -4,6 +4,7 @@ module Appwrite
4
4
  module Models
5
5
  class AttributeVector
6
6
  attr_reader :key
7
+ attr_reader :description
7
8
  attr_reader :type
8
9
  attr_reader :status
9
10
  attr_reader :error
@@ -15,16 +16,18 @@ module Appwrite
15
16
 
16
17
  def initialize(
17
18
  key:,
19
+ description:,
18
20
  type:,
19
21
  status:,
20
22
  error:,
21
23
  required:,
22
- array:,
24
+ array: false,
23
25
  created_at:,
24
26
  updated_at:,
25
27
  size:
26
28
  )
27
29
  @key = key
30
+ @description = description
28
31
  @type = type
29
32
  @status = validate_status(status)
30
33
  @error = error
@@ -36,8 +39,10 @@ module Appwrite
36
39
  end
37
40
 
38
41
  def self.from(map:)
42
+ map = { "key" => "", "description" => "", "type" => "", "error" => "", "required" => false, "$createdAt" => "", "$updatedAt" => "", "size" => 0 }.merge(map)
39
43
  AttributeVector.new(
40
44
  key: map["key"],
45
+ description: map["description"],
41
46
  type: map["type"],
42
47
  status: map["status"],
43
48
  error: map["error"],
@@ -52,6 +57,7 @@ module Appwrite
52
57
  def to_map
53
58
  {
54
59
  "key": @key,
60
+ "description": @description,
55
61
  "type": @type,
56
62
  "status": @status,
57
63
  "error": @error,
@@ -21,14 +21,14 @@ module Appwrite
21
21
  created_at:,
22
22
  updated_at:,
23
23
  policy_id:,
24
- size:,
24
+ size: nil,
25
25
  status:,
26
- started_at:,
26
+ started_at: nil,
27
27
  migration_id:,
28
28
  services:,
29
29
  resources:,
30
- resource_id:,
31
- resource_type:
30
+ resource_id: nil,
31
+ resource_type: nil
32
32
  )
33
33
  @id = id
34
34
  @created_at = created_at
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "policyId" => "", "status" => "", "migrationId" => "", "services" => [], "resources" => [] }.merge(map)
48
49
  BackupArchive.new(
49
50
  id: map["$id"],
50
51
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "archives" => [] }.merge(map)
18
19
  BackupArchiveList.new(
19
20
  total: map["total"],
20
21
  archives: map["archives"].map { |it| BackupArchive.from(map: it) }
@@ -23,8 +23,8 @@ module Appwrite
23
23
  updated_at:,
24
24
  services:,
25
25
  resources:,
26
- resource_id:,
27
- resource_type:,
26
+ resource_id: nil,
27
+ resource_type: nil,
28
28
  retention:,
29
29
  schedule:,
30
30
  type:,
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "$id" => "", "name" => "", "$createdAt" => "", "$updatedAt" => "", "services" => [], "resources" => [], "retention" => 1, "schedule" => "0 * * * *", "type" => "full", "enabled" => false }.merge(map)
48
49
  BackupPolicy.new(
49
50
  id: map["$id"],
50
51
  name: map["name"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "policies" => [] }.merge(map)
18
19
  BackupPolicyList.new(
19
20
  total: map["total"],
20
21
  policies: map["policies"].map { |it| BackupPolicy.from(map: it) }
@@ -22,7 +22,7 @@ module Appwrite
22
22
  archive_id:,
23
23
  policy_id:,
24
24
  status:,
25
- started_at:,
25
+ started_at: nil,
26
26
  migration_id:,
27
27
  services:,
28
28
  resources:,
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "archiveId" => "", "policyId" => "", "status" => "", "migrationId" => "", "services" => [], "resources" => [], "options" => {} }.merge(map)
45
46
  BackupRestoration.new(
46
47
  id: map["$id"],
47
48
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "restorations" => [] }.merge(map)
18
19
  BackupRestorationList.new(
19
20
  total: map["total"],
20
21
  restorations: map["restorations"].map { |it| BackupRestoration.from(map: it) }
@@ -13,14 +13,14 @@ module Appwrite
13
13
  attr_reader :budget_limit
14
14
 
15
15
  def initialize(
16
- bandwidth:,
17
- storage:,
18
- users:,
19
- executions:,
20
- gb_hours:,
21
- image_transformations:,
22
- auth_phone:,
23
- budget_limit:
16
+ bandwidth: 0,
17
+ storage: 0,
18
+ users: 0,
19
+ executions: 0,
20
+ gb_hours: 0,
21
+ image_transformations: 0,
22
+ auth_phone: 0,
23
+ budget_limit: 0
24
24
  )
25
25
  @bandwidth = bandwidth
26
26
  @storage = storage
@@ -72,6 +72,7 @@ module Appwrite
72
72
  attr_reader :deployment_size
73
73
  attr_reader :build_size
74
74
  attr_reader :functions_interval_minimum
75
+ attr_reader :functions_allow_cron
75
76
  attr_reader :databases_allow_encrypt
76
77
  attr_reader :limits
77
78
  attr_reader :group
@@ -90,7 +91,7 @@ module Appwrite
90
91
  storage:,
91
92
  image_transformations:,
92
93
  screenshots_generated:,
93
- members:,
94
+ members: 0,
94
95
  webhooks:,
95
96
  waf_rules:,
96
97
  environments:,
@@ -115,20 +116,20 @@ module Appwrite
115
116
  topics:,
116
117
  auth_phone:,
117
118
  domains:,
118
- activity_logs:,
119
+ activity_logs: 1,
119
120
  usage_logs:,
120
- usage_logs_intervals:,
121
- usage_aggregate_only_metrics:,
121
+ usage_logs_intervals: ["15m", "1h", "1d"],
122
+ usage_aggregate_only_metrics: [],
122
123
  project_inactivity_days:,
123
124
  alert_limit:,
124
- usage:,
125
+ usage: nil,
125
126
  addons:,
126
127
  budget_cap_enabled:,
127
128
  custom_smtp:,
128
129
  email_branding:,
129
130
  requires_payment_method:,
130
131
  requires_billing_address:,
131
- eligible_countries:,
132
+ eligible_countries: [],
132
133
  is_available:,
133
134
  self_service:,
134
135
  premium_support:,
@@ -142,19 +143,20 @@ module Appwrite
142
143
  supports_free_email_validation:,
143
144
  supports_corporate_email_validation:,
144
145
  supports_project_specific_roles:,
145
- backups_enabled:,
146
+ backups_enabled: true,
146
147
  usage_per_project:,
147
148
  supported_addons:,
148
- backup_policies:,
149
+ backup_policies: 0,
149
150
  deployment_size:,
150
151
  build_size:,
151
152
  functions_interval_minimum:,
153
+ functions_allow_cron:,
152
154
  databases_allow_encrypt:,
153
- limits:,
155
+ limits: nil,
154
156
  group:,
155
- program:,
157
+ program: nil,
156
158
  database_compute_credit:,
157
- dedicated_databases:
159
+ dedicated_databases: nil
158
160
  )
159
161
  @id = id
160
162
  @name = name
@@ -225,6 +227,7 @@ module Appwrite
225
227
  @deployment_size = deployment_size
226
228
  @build_size = build_size
227
229
  @functions_interval_minimum = functions_interval_minimum
230
+ @functions_allow_cron = functions_allow_cron
228
231
  @databases_allow_encrypt = databases_allow_encrypt
229
232
  @limits = limits
230
233
  @group = validate_group(group)
@@ -234,6 +237,7 @@ module Appwrite
234
237
  end
235
238
 
236
239
  def self.from(map:)
240
+ map = { "$id" => "", "name" => "", "desc" => "", "order" => 0, "price" => 0, "trial" => 0, "bandwidth" => 0, "storage" => 0, "imageTransformations" => 0, "screenshotsGenerated" => 0, "webhooks" => 0, "wafRules" => 0, "environments" => 0, "projects" => 0, "platforms" => 0, "users" => 0, "teams" => 0, "databases" => 0, "databasesReads" => 0, "databasesWrites" => 0, "databasesBatchSize" => 0, "buckets" => 0, "fileSize" => 0, "functions" => 0, "sites" => 0, "executions" => 0, "executionsRetentionCount" => 1000, "GBHours" => 0, "realtime" => 0, "realtimeMessages" => 0, "messages" => 0, "topics" => 0, "authPhone" => 0, "domains" => 0, "usageLogs" => 0, "projectInactivityDays" => 0, "alertLimit" => 80, "budgetCapEnabled" => false, "customSmtp" => false, "emailBranding" => false, "requiresPaymentMethod" => true, "requiresBillingAddress" => false, "isAvailable" => true, "selfService" => true, "premiumSupport" => true, "budgeting" => true, "supportsMockNumbers" => true, "supportsOrganizationRoles" => true, "supportsCredits" => false, "supportsDedicatedDatabases" => false, "supportsDisposableEmailValidation" => false, "supportsCanonicalEmailValidation" => false, "supportsFreeEmailValidation" => false, "supportsCorporateEmailValidation" => false, "supportsProjectSpecificRoles" => false, "usagePerProject" => true, "deploymentSize" => 0, "buildSize" => 0, "functionsIntervalMinimum" => 0, "functionsAllowCron" => true, "databasesAllowEncrypt" => false, "databaseComputeCredit" => 0 }.merge(map)
237
241
  BillingPlan.new(
238
242
  id: map["$id"],
239
243
  name: map["name"],
@@ -276,7 +280,7 @@ module Appwrite
276
280
  usage_aggregate_only_metrics: map["usageAggregateOnlyMetrics"],
277
281
  project_inactivity_days: map["projectInactivityDays"],
278
282
  alert_limit: map["alertLimit"],
279
- usage: UsageBillingPlan.from(map: map["usage"]),
283
+ usage: map["usage"].nil? ? nil : UsageBillingPlan.from(map: map["usage"]),
280
284
  addons: BillingPlanAddon.from(map: map["addons"]),
281
285
  budget_cap_enabled: map["budgetCapEnabled"],
282
286
  custom_smtp: map["customSmtp"],
@@ -304,6 +308,7 @@ module Appwrite
304
308
  deployment_size: map["deploymentSize"],
305
309
  build_size: map["buildSize"],
306
310
  functions_interval_minimum: map["functionsIntervalMinimum"],
311
+ functions_allow_cron: map["functionsAllowCron"],
307
312
  databases_allow_encrypt: map["databasesAllowEncrypt"],
308
313
  limits: map["limits"].nil? ? nil : BillingPlanLimits.from(map: map["limits"]),
309
314
  group: map["group"],
@@ -356,7 +361,7 @@ module Appwrite
356
361
  "usageAggregateOnlyMetrics": @usage_aggregate_only_metrics,
357
362
  "projectInactivityDays": @project_inactivity_days,
358
363
  "alertLimit": @alert_limit,
359
- "usage": @usage.to_map,
364
+ "usage": @usage&.to_map,
360
365
  "addons": @addons.to_map,
361
366
  "budgetCapEnabled": @budget_cap_enabled,
362
367
  "customSmtp": @custom_smtp,
@@ -384,6 +389,7 @@ module Appwrite
384
389
  "deploymentSize": @deployment_size,
385
390
  "buildSize": @build_size,
386
391
  "functionsIntervalMinimum": @functions_interval_minimum,
392
+ "functionsAllowCron": @functions_allow_cron,
387
393
  "databasesAllowEncrypt": @databases_allow_encrypt,
388
394
  "limits": @limits&.to_map,
389
395
  "group": @group,
@@ -397,7 +403,6 @@ module Appwrite
397
403
 
398
404
  def validate_group(group)
399
405
  valid_group = [
400
- Appwrite::Enums::BillingPlanGroup::STARTER,
401
406
  Appwrite::Enums::BillingPlanGroup::FREE,
402
407
  Appwrite::Enums::BillingPlanGroup::START,
403
408
  Appwrite::Enums::BillingPlanGroup::PRO,
@@ -7,8 +7,8 @@ module Appwrite
7
7
  attr_reader :projects
8
8
 
9
9
  def initialize(
10
- seats:,
11
- projects:
10
+ seats: nil,
11
+ projects: nil
12
12
  )
13
13
  @seats = seats
14
14
  @projects = projects
@@ -17,7 +17,7 @@ module Appwrite
17
17
  plan_included:,
18
18
  limit:,
19
19
  type:,
20
- currency:,
20
+ currency: nil,
21
21
  price:,
22
22
  value:,
23
23
  invoice_desc:
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "supported" => false, "planIncluded" => 0, "limit" => 0, "type" => "numeric", "price" => 0, "value" => 0, "invoiceDesc" => "" }.merge(map)
36
37
  BillingPlanAddonDetails.new(
37
38
  supported: map["supported"],
38
39
  plan_included: map["planIncluded"],
@@ -24,25 +24,25 @@ module Appwrite
24
24
  attr_reader :allowed_sync_modes
25
25
 
26
26
  def initialize(
27
- min_cpu:,
28
- max_cpu:,
29
- min_memory_mb:,
30
- max_memory_mb:,
31
- min_storage_gb:,
32
- max_storage_gb:,
33
- max_replicas:,
34
- max_connections:,
35
- max_ip_allowlist_size:,
36
- max_extensions:,
37
- max_backup_retention_days:,
38
- max_pitr_retention_days:,
39
- max_sql_api_max_rows:,
40
- max_sql_api_max_bytes:,
41
- max_sql_api_timeout_seconds:,
42
- max_sql_api_allowed_statements:,
43
- allowed_sql_statements:,
44
- allowed_storage_classes:,
45
- allowed_sync_modes:
27
+ min_cpu: 0,
28
+ max_cpu: 0,
29
+ min_memory_mb: 0,
30
+ max_memory_mb: 0,
31
+ min_storage_gb: 0,
32
+ max_storage_gb: 0,
33
+ max_replicas: 0,
34
+ max_connections: 0,
35
+ max_ip_allowlist_size: 0,
36
+ max_extensions: 0,
37
+ max_backup_retention_days: 0,
38
+ max_pitr_retention_days: 0,
39
+ max_sql_api_max_rows: 0,
40
+ max_sql_api_max_bytes: 0,
41
+ max_sql_api_timeout_seconds: 0,
42
+ max_sql_api_allowed_statements: 0,
43
+ allowed_sql_statements: [],
44
+ allowed_storage_classes: [],
45
+ allowed_sync_modes: []
46
46
  )
47
47
  @min_cpu = min_cpu
48
48
  @max_cpu = max_cpu
@@ -7,8 +7,8 @@ module Appwrite
7
7
  attr_reader :daily_credits
8
8
 
9
9
  def initialize(
10
- credits:,
11
- daily_credits:
10
+ credits: 0,
11
+ daily_credits: 0
12
12
  )
13
13
  @credits = credits
14
14
  @daily_credits = daily_credits
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "baa" => false, "premiumGeoDB" => false, "premiumGeoDBOrg" => false }.merge(map)
21
22
  BillingPlanSupportedAddons.new(
22
23
  baa: map["baa"],
23
24
  premium_geo_db: map["premiumGeoDB"],
@@ -7,53 +7,30 @@ module Appwrite
7
7
  attr_reader :resource_type
8
8
  attr_reader :resource_id
9
9
  attr_reader :mode
10
- attr_reader :reason
11
10
  attr_reader :expired_at
12
- attr_reader :project_name
13
- attr_reader :region
14
- attr_reader :organization_name
15
- attr_reader :organization_id
16
- attr_reader :billing_plan
17
11
 
18
12
  def initialize(
19
13
  created_at:,
20
14
  resource_type:,
21
15
  resource_id:,
22
16
  mode:,
23
- reason:,
24
- expired_at:,
25
- project_name:,
26
- region:,
27
- organization_name:,
28
- organization_id:,
29
- billing_plan:
17
+ expired_at: nil
30
18
  )
31
19
  @created_at = created_at
32
20
  @resource_type = resource_type
33
21
  @resource_id = resource_id
34
22
  @mode = mode
35
- @reason = reason
36
23
  @expired_at = expired_at
37
- @project_name = project_name
38
- @region = region
39
- @organization_name = organization_name
40
- @organization_id = organization_id
41
- @billing_plan = billing_plan
42
24
  end
43
25
 
44
26
  def self.from(map:)
27
+ map = { "$createdAt" => "", "resourceType" => "", "resourceId" => "", "mode" => "full" }.merge(map)
45
28
  Block.new(
46
29
  created_at: map["$createdAt"],
47
30
  resource_type: map["resourceType"],
48
31
  resource_id: map["resourceId"],
49
32
  mode: map["mode"],
50
- reason: map["reason"],
51
- expired_at: map["expiredAt"],
52
- project_name: map["projectName"],
53
- region: map["region"],
54
- organization_name: map["organizationName"],
55
- organization_id: map["organizationId"],
56
- billing_plan: map["billingPlan"]
33
+ expired_at: map["expiredAt"]
57
34
  )
58
35
  end
59
36
 
@@ -63,13 +40,7 @@ module Appwrite
63
40
  "resourceType": @resource_type,
64
41
  "resourceId": @resource_id,
65
42
  "mode": @mode,
66
- "reason": @reason,
67
- "expiredAt": @expired_at,
68
- "projectName": @project_name,
69
- "region": @region,
70
- "organizationName": @organization_name,
71
- "organizationId": @organization_id,
72
- "billingPlan": @billing_plan
43
+ "expiredAt": @expired_at
73
44
  }
74
45
  end
75
46
  end
@@ -9,6 +9,7 @@ module Appwrite
9
9
  attr_reader :permissions
10
10
  attr_reader :file_security
11
11
  attr_reader :name
12
+ attr_reader :description
12
13
  attr_reader :enabled
13
14
  attr_reader :maximum_file_size
14
15
  attr_reader :allowed_file_extensions
@@ -16,6 +17,7 @@ module Appwrite
16
17
  attr_reader :encryption
17
18
  attr_reader :antivirus
18
19
  attr_reader :transformations
20
+ attr_reader :strip_metadata
19
21
  attr_reader :total_size
20
22
 
21
23
  def initialize(
@@ -25,6 +27,7 @@ module Appwrite
25
27
  permissions:,
26
28
  file_security:,
27
29
  name:,
30
+ description:,
28
31
  enabled:,
29
32
  maximum_file_size:,
30
33
  allowed_file_extensions:,
@@ -32,6 +35,7 @@ module Appwrite
32
35
  encryption:,
33
36
  antivirus:,
34
37
  transformations:,
38
+ strip_metadata:,
35
39
  total_size:
36
40
  )
37
41
  @id = id
@@ -40,6 +44,7 @@ module Appwrite
40
44
  @permissions = permissions
41
45
  @file_security = file_security
42
46
  @name = name
47
+ @description = description
43
48
  @enabled = enabled
44
49
  @maximum_file_size = maximum_file_size
45
50
  @allowed_file_extensions = allowed_file_extensions
@@ -47,10 +52,12 @@ module Appwrite
47
52
  @encryption = encryption
48
53
  @antivirus = antivirus
49
54
  @transformations = transformations
55
+ @strip_metadata = strip_metadata
50
56
  @total_size = total_size
51
57
  end
52
58
 
53
59
  def self.from(map:)
60
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "fileSecurity" => false, "name" => "", "description" => "", "enabled" => true, "maximumFileSize" => 0, "allowedFileExtensions" => [], "compression" => "", "encryption" => true, "antivirus" => true, "transformations" => true, "stripMetadata" => false, "totalSize" => 0 }.merge(map)
54
61
  Bucket.new(
55
62
  id: map["$id"],
56
63
  created_at: map["$createdAt"],
@@ -58,6 +65,7 @@ module Appwrite
58
65
  permissions: map["$permissions"],
59
66
  file_security: map["fileSecurity"],
60
67
  name: map["name"],
68
+ description: map["description"],
61
69
  enabled: map["enabled"],
62
70
  maximum_file_size: map["maximumFileSize"],
63
71
  allowed_file_extensions: map["allowedFileExtensions"],
@@ -65,6 +73,7 @@ module Appwrite
65
73
  encryption: map["encryption"],
66
74
  antivirus: map["antivirus"],
67
75
  transformations: map["transformations"],
76
+ strip_metadata: map["stripMetadata"],
68
77
  total_size: map["totalSize"]
69
78
  )
70
79
  end
@@ -77,6 +86,7 @@ module Appwrite
77
86
  "$permissions": @permissions,
78
87
  "fileSecurity": @file_security,
79
88
  "name": @name,
89
+ "description": @description,
80
90
  "enabled": @enabled,
81
91
  "maximumFileSize": @maximum_file_size,
82
92
  "allowedFileExtensions": @allowed_file_extensions,
@@ -84,6 +94,7 @@ module Appwrite
84
94
  "encryption": @encryption,
85
95
  "antivirus": @antivirus,
86
96
  "transformations": @transformations,
97
+ "stripMetadata": @strip_metadata,
87
98
  "totalSize": @total_size
88
99
  }
89
100
  end
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "buckets" => [] }.merge(map)
18
19
  BucketList.new(
19
20
  total: map["total"],
20
21
  buckets: map["buckets"].map { |it| Bucket.from(map: it) }
@@ -9,6 +9,7 @@ module Appwrite
9
9
  attr_reader :permissions
10
10
  attr_reader :database_id
11
11
  attr_reader :name
12
+ attr_reader :description
12
13
  attr_reader :enabled
13
14
  attr_reader :document_security
14
15
  attr_reader :attributes
@@ -23,6 +24,7 @@ module Appwrite
23
24
  permissions:,
24
25
  database_id:,
25
26
  name:,
27
+ description:,
26
28
  enabled:,
27
29
  document_security:,
28
30
  attributes:,
@@ -36,6 +38,7 @@ module Appwrite
36
38
  @permissions = permissions
37
39
  @database_id = database_id
38
40
  @name = name
41
+ @description = description
39
42
  @enabled = enabled
40
43
  @document_security = document_security
41
44
  @attributes = attributes
@@ -45,6 +48,7 @@ module Appwrite
45
48
  end
46
49
 
47
50
  def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "databaseId" => "", "name" => "", "description" => "", "enabled" => true, "documentSecurity" => false, "attributes" => [], "indexes" => [], "bytesMax" => 0, "bytesUsed" => 0 }.merge(map)
48
52
  Collection.new(
49
53
  id: map["$id"],
50
54
  created_at: map["$createdAt"],
@@ -52,6 +56,7 @@ module Appwrite
52
56
  permissions: map["$permissions"],
53
57
  database_id: map["databaseId"],
54
58
  name: map["name"],
59
+ description: map["description"],
55
60
  enabled: map["enabled"],
56
61
  document_security: map["documentSecurity"],
57
62
  attributes: map["attributes"],
@@ -69,6 +74,7 @@ module Appwrite
69
74
  "$permissions": @permissions,
70
75
  "databaseId": @database_id,
71
76
  "name": @name,
77
+ "description": @description,
72
78
  "enabled": @enabled,
73
79
  "documentSecurity": @document_security,
74
80
  "attributes": @attributes,
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "collections" => [] }.merge(map)
18
19
  CollectionList.new(
19
20
  total: map["total"],
20
21
  collections: map["collections"].map { |it| Collection.from(map: it) }