appwrite 28.4.0 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +17 -17
  3. data/lib/appwrite/enums/billing_plan_group.rb +0 -1
  4. data/lib/appwrite/enums/execution_trigger.rb +1 -0
  5. data/lib/appwrite/enums/proxy_rule_protocol.rb +8 -0
  6. data/lib/appwrite/models/account.rb +8 -8
  7. data/lib/appwrite/models/activity_event.rb +1 -0
  8. data/lib/appwrite/models/activity_event_list.rb +1 -0
  9. data/lib/appwrite/models/additional_resource.rb +1 -0
  10. data/lib/appwrite/models/algo_argon2.rb +1 -0
  11. data/lib/appwrite/models/algo_bcrypt.rb +1 -0
  12. data/lib/appwrite/models/algo_md5.rb +1 -0
  13. data/lib/appwrite/models/algo_phpass.rb +1 -0
  14. data/lib/appwrite/models/algo_scrypt.rb +1 -0
  15. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -0
  16. data/lib/appwrite/models/algo_sha.rb +1 -0
  17. data/lib/appwrite/models/app.rb +1 -0
  18. data/lib/appwrite/models/app_installation.rb +2 -1
  19. data/lib/appwrite/models/app_installation_list.rb +1 -0
  20. data/lib/appwrite/models/app_key.rb +2 -1
  21. data/lib/appwrite/models/app_key_list.rb +1 -0
  22. data/lib/appwrite/models/app_scope.rb +1 -0
  23. data/lib/appwrite/models/app_scope_list.rb +1 -0
  24. data/lib/appwrite/models/app_secret.rb +2 -1
  25. data/lib/appwrite/models/app_secret_list.rb +1 -0
  26. data/lib/appwrite/models/app_secret_plaintext.rb +2 -1
  27. data/lib/appwrite/models/apps_list.rb +1 -0
  28. data/lib/appwrite/models/attribute_bigint.rb +5 -4
  29. data/lib/appwrite/models/attribute_boolean.rb +3 -2
  30. data/lib/appwrite/models/attribute_datetime.rb +3 -2
  31. data/lib/appwrite/models/attribute_email.rb +3 -2
  32. data/lib/appwrite/models/attribute_enum.rb +3 -2
  33. data/lib/appwrite/models/attribute_float.rb +5 -4
  34. data/lib/appwrite/models/attribute_integer.rb +5 -4
  35. data/lib/appwrite/models/attribute_ip.rb +3 -2
  36. data/lib/appwrite/models/attribute_line.rb +3 -2
  37. data/lib/appwrite/models/attribute_list.rb +1 -0
  38. data/lib/appwrite/models/attribute_longtext.rb +4 -3
  39. data/lib/appwrite/models/attribute_mediumtext.rb +4 -3
  40. data/lib/appwrite/models/attribute_object.rb +2 -1
  41. data/lib/appwrite/models/attribute_point.rb +3 -2
  42. data/lib/appwrite/models/attribute_polygon.rb +3 -2
  43. data/lib/appwrite/models/attribute_relationship.rb +2 -1
  44. data/lib/appwrite/models/attribute_string.rb +4 -3
  45. data/lib/appwrite/models/attribute_text.rb +4 -3
  46. data/lib/appwrite/models/attribute_url.rb +3 -2
  47. data/lib/appwrite/models/attribute_varchar.rb +4 -3
  48. data/lib/appwrite/models/attribute_vector.rb +2 -1
  49. data/lib/appwrite/models/backup_archive.rb +5 -4
  50. data/lib/appwrite/models/backup_archive_list.rb +1 -0
  51. data/lib/appwrite/models/backup_policy.rb +3 -2
  52. data/lib/appwrite/models/backup_policy_list.rb +1 -0
  53. data/lib/appwrite/models/backup_restoration.rb +2 -1
  54. data/lib/appwrite/models/backup_restoration_list.rb +1 -0
  55. data/lib/appwrite/models/billing_limits.rb +8 -8
  56. data/lib/appwrite/models/billing_plan.rb +14 -14
  57. data/lib/appwrite/models/billing_plan_addon.rb +2 -2
  58. data/lib/appwrite/models/billing_plan_addon_details.rb +2 -1
  59. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +19 -19
  60. data/lib/appwrite/models/billing_plan_limits.rb +2 -2
  61. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -0
  62. data/lib/appwrite/models/block.rb +4 -33
  63. data/lib/appwrite/models/bucket.rb +1 -0
  64. data/lib/appwrite/models/bucket_list.rb +1 -0
  65. data/lib/appwrite/models/collection.rb +1 -0
  66. data/lib/appwrite/models/collection_list.rb +1 -0
  67. data/lib/appwrite/models/column_bigint.rb +5 -4
  68. data/lib/appwrite/models/column_boolean.rb +3 -2
  69. data/lib/appwrite/models/column_datetime.rb +3 -2
  70. data/lib/appwrite/models/column_email.rb +3 -2
  71. data/lib/appwrite/models/column_enum.rb +3 -2
  72. data/lib/appwrite/models/column_float.rb +5 -4
  73. data/lib/appwrite/models/column_index.rb +2 -1
  74. data/lib/appwrite/models/column_index_list.rb +1 -0
  75. data/lib/appwrite/models/column_integer.rb +5 -4
  76. data/lib/appwrite/models/column_ip.rb +3 -2
  77. data/lib/appwrite/models/column_line.rb +3 -2
  78. data/lib/appwrite/models/column_list.rb +1 -0
  79. data/lib/appwrite/models/column_longtext.rb +4 -3
  80. data/lib/appwrite/models/column_mediumtext.rb +4 -3
  81. data/lib/appwrite/models/column_point.rb +3 -2
  82. data/lib/appwrite/models/column_polygon.rb +3 -2
  83. data/lib/appwrite/models/column_relationship.rb +2 -1
  84. data/lib/appwrite/models/column_string.rb +4 -3
  85. data/lib/appwrite/models/column_text.rb +4 -3
  86. data/lib/appwrite/models/column_url.rb +3 -2
  87. data/lib/appwrite/models/column_varchar.rb +4 -3
  88. data/lib/appwrite/models/continent.rb +1 -0
  89. data/lib/appwrite/models/continent_list.rb +1 -0
  90. data/lib/appwrite/models/country.rb +1 -0
  91. data/lib/appwrite/models/country_list.rb +1 -0
  92. data/lib/appwrite/models/currency.rb +1 -0
  93. data/lib/appwrite/models/currency_list.rb +1 -0
  94. data/lib/appwrite/models/database.rb +10 -9
  95. data/lib/appwrite/models/database_list.rb +1 -0
  96. data/lib/appwrite/models/database_migration.rb +1 -0
  97. data/lib/appwrite/models/database_migration_list.rb +1 -0
  98. data/lib/appwrite/models/database_status.rb +6 -5
  99. data/lib/appwrite/models/database_status_connections.rb +1 -0
  100. data/lib/appwrite/models/database_status_replica.rb +3 -2
  101. data/lib/appwrite/models/database_status_volume.rb +1 -0
  102. data/lib/appwrite/models/dedicated_database.rb +8 -7
  103. data/lib/appwrite/models/dedicated_database_backup.rb +6 -5
  104. data/lib/appwrite/models/dedicated_database_backup_list.rb +1 -0
  105. data/lib/appwrite/models/dedicated_database_backup_storage.rb +1 -0
  106. data/lib/appwrite/models/dedicated_database_branch.rb +2 -1
  107. data/lib/appwrite/models/dedicated_database_branch_list.rb +1 -0
  108. data/lib/appwrite/models/dedicated_database_execution.rb +1 -0
  109. data/lib/appwrite/models/dedicated_database_execution_column.rb +1 -0
  110. data/lib/appwrite/models/dedicated_database_extensions.rb +1 -0
  111. data/lib/appwrite/models/dedicated_database_list.rb +1 -0
  112. data/lib/appwrite/models/dedicated_database_member.rb +3 -2
  113. data/lib/appwrite/models/dedicated_database_operation.rb +4 -3
  114. data/lib/appwrite/models/dedicated_database_operation_list.rb +1 -0
  115. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +1 -0
  116. data/lib/appwrite/models/dedicated_database_pooler.rb +1 -0
  117. data/lib/appwrite/models/dedicated_database_replicas.rb +3 -2
  118. data/lib/appwrite/models/dedicated_database_restoration.rb +11 -5
  119. data/lib/appwrite/models/dedicated_database_restoration_list.rb +1 -0
  120. data/lib/appwrite/models/dedicated_database_specification.rb +1 -0
  121. data/lib/appwrite/models/dedicated_database_specification_list.rb +4 -8
  122. data/lib/appwrite/models/deployment.rb +1 -0
  123. data/lib/appwrite/models/deployment_list.rb +1 -0
  124. data/lib/appwrite/models/document.rb +1 -0
  125. data/lib/appwrite/models/document_list.rb +1 -0
  126. data/lib/appwrite/models/domain.rb +1 -1
  127. data/lib/appwrite/models/domain_price.rb +2 -2
  128. data/lib/appwrite/models/email_template.rb +1 -0
  129. data/lib/appwrite/models/email_template_list.rb +1 -0
  130. data/lib/appwrite/models/embedding.rb +1 -0
  131. data/lib/appwrite/models/embedding_list.rb +1 -0
  132. data/lib/appwrite/models/ephemeral_key.rb +1 -0
  133. data/lib/appwrite/models/execution.rb +3 -1
  134. data/lib/appwrite/models/execution_list.rb +1 -0
  135. data/lib/appwrite/models/file.rb +1 -0
  136. data/lib/appwrite/models/file_list.rb +1 -0
  137. data/lib/appwrite/models/framework.rb +1 -0
  138. data/lib/appwrite/models/framework_adapter.rb +2 -1
  139. data/lib/appwrite/models/framework_list.rb +1 -0
  140. data/lib/appwrite/models/function.rb +10 -4
  141. data/lib/appwrite/models/function_list.rb +1 -0
  142. data/lib/appwrite/models/headers.rb +1 -0
  143. data/lib/appwrite/models/identity.rb +1 -0
  144. data/lib/appwrite/models/identity_list.rb +1 -0
  145. data/lib/appwrite/models/index.rb +2 -1
  146. data/lib/appwrite/models/index_list.rb +1 -0
  147. data/lib/appwrite/models/insight.rb +4 -3
  148. data/lib/appwrite/models/insight_cta.rb +1 -0
  149. data/lib/appwrite/models/insight_list.rb +1 -0
  150. data/lib/appwrite/models/jwt.rb +1 -0
  151. data/lib/appwrite/models/key.rb +1 -0
  152. data/lib/appwrite/models/key_list.rb +1 -0
  153. data/lib/appwrite/models/language.rb +1 -0
  154. data/lib/appwrite/models/language_list.rb +1 -0
  155. data/lib/appwrite/models/locale.rb +12 -11
  156. data/lib/appwrite/models/locale_code.rb +1 -0
  157. data/lib/appwrite/models/locale_code_list.rb +1 -0
  158. data/lib/appwrite/models/membership.rb +1 -0
  159. data/lib/appwrite/models/membership_list.rb +1 -0
  160. data/lib/appwrite/models/message.rb +4 -3
  161. data/lib/appwrite/models/message_list.rb +1 -0
  162. data/lib/appwrite/models/mfa_challenge.rb +1 -0
  163. data/lib/appwrite/models/mfa_challenge_secret.rb +1 -0
  164. data/lib/appwrite/models/mfa_factors.rb +1 -0
  165. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -0
  166. data/lib/appwrite/models/mfa_type.rb +1 -0
  167. data/lib/appwrite/models/mock_number.rb +1 -0
  168. data/lib/appwrite/models/mock_number_list.rb +1 -0
  169. data/lib/appwrite/models/o_auth2_amazon.rb +1 -0
  170. data/lib/appwrite/models/o_auth2_apple.rb +1 -0
  171. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -0
  172. data/lib/appwrite/models/o_auth2_auth0.rb +2 -1
  173. data/lib/appwrite/models/o_auth2_authentik.rb +1 -0
  174. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -0
  175. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -0
  176. data/lib/appwrite/models/o_auth2_bitly.rb +1 -0
  177. data/lib/appwrite/models/o_auth2_box.rb +1 -0
  178. data/lib/appwrite/models/o_auth2_cloudflare.rb +1 -0
  179. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -0
  180. data/lib/appwrite/models/o_auth2_discord.rb +2 -1
  181. data/lib/appwrite/models/o_auth2_disqus.rb +1 -0
  182. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -0
  183. data/lib/appwrite/models/o_auth2_etsy.rb +1 -0
  184. data/lib/appwrite/models/o_auth2_facebook.rb +1 -0
  185. data/lib/appwrite/models/o_auth2_figma.rb +1 -0
  186. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -0
  187. data/lib/appwrite/models/o_auth2_github.rb +2 -1
  188. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -0
  189. data/lib/appwrite/models/o_auth2_google.rb +1 -0
  190. data/lib/appwrite/models/o_auth2_hugging_face.rb +1 -0
  191. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -0
  192. data/lib/appwrite/models/o_auth2_kick.rb +1 -0
  193. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -0
  194. data/lib/appwrite/models/o_auth2_microsoft.rb +2 -1
  195. data/lib/appwrite/models/o_auth2_notion.rb +1 -0
  196. data/lib/appwrite/models/o_auth2_oidc.rb +7 -6
  197. data/lib/appwrite/models/o_auth2_okta.rb +2 -1
  198. data/lib/appwrite/models/o_auth2_paypal.rb +1 -0
  199. data/lib/appwrite/models/o_auth2_podio.rb +1 -0
  200. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -0
  201. data/lib/appwrite/models/o_auth2_resend.rb +1 -0
  202. data/lib/appwrite/models/o_auth2_salesforce.rb +2 -1
  203. data/lib/appwrite/models/o_auth2_slack.rb +1 -0
  204. data/lib/appwrite/models/o_auth2_spotify.rb +1 -0
  205. data/lib/appwrite/models/o_auth2_stripe.rb +1 -0
  206. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -0
  207. data/lib/appwrite/models/o_auth2_twitch.rb +1 -0
  208. data/lib/appwrite/models/o_auth2_word_press.rb +1 -0
  209. data/lib/appwrite/models/o_auth2_x.rb +1 -0
  210. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -0
  211. data/lib/appwrite/models/o_auth2_yandex.rb +1 -0
  212. data/lib/appwrite/models/o_auth2_zoho.rb +2 -1
  213. data/lib/appwrite/models/o_auth2_zoom.rb +1 -0
  214. data/lib/appwrite/models/oauth2_approve.rb +1 -0
  215. data/lib/appwrite/models/oauth2_authorize.rb +1 -0
  216. data/lib/appwrite/models/oauth2_consent.rb +1 -0
  217. data/lib/appwrite/models/oauth2_consent_list.rb +1 -0
  218. data/lib/appwrite/models/oauth2_consent_token.rb +1 -0
  219. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -0
  220. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -0
  221. data/lib/appwrite/models/oauth2_grant.rb +1 -0
  222. data/lib/appwrite/models/oauth2_introspection.rb +11 -11
  223. data/lib/appwrite/models/oauth2_organization.rb +1 -0
  224. data/lib/appwrite/models/oauth2_organization_list.rb +1 -0
  225. data/lib/appwrite/models/oauth2_par.rb +1 -0
  226. data/lib/appwrite/models/oauth2_project.rb +1 -0
  227. data/lib/appwrite/models/oauth2_project_list.rb +1 -0
  228. data/lib/appwrite/models/oauth2_reject.rb +1 -0
  229. data/lib/appwrite/models/oauth2_token.rb +3 -2
  230. data/lib/appwrite/models/organization.rb +21 -20
  231. data/lib/appwrite/models/passkey.rb +1 -0
  232. data/lib/appwrite/models/passkey_challenge.rb +1 -0
  233. data/lib/appwrite/models/passkey_list.rb +1 -0
  234. data/lib/appwrite/models/phone.rb +1 -0
  235. data/lib/appwrite/models/phone_list.rb +1 -0
  236. data/lib/appwrite/models/platform_android.rb +1 -0
  237. data/lib/appwrite/models/platform_apple.rb +1 -0
  238. data/lib/appwrite/models/platform_linux.rb +1 -0
  239. data/lib/appwrite/models/platform_list.rb +1 -0
  240. data/lib/appwrite/models/platform_web.rb +1 -0
  241. data/lib/appwrite/models/platform_windows.rb +1 -0
  242. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -0
  243. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -0
  244. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -0
  245. data/lib/appwrite/models/policy_deny_free_email.rb +1 -0
  246. data/lib/appwrite/models/policy_list.rb +1 -0
  247. data/lib/appwrite/models/policy_membership_privacy.rb +1 -0
  248. data/lib/appwrite/models/policy_mfa_factors.rb +1 -0
  249. data/lib/appwrite/models/policy_passkey.rb +1 -0
  250. data/lib/appwrite/models/policy_password_dictionary.rb +1 -0
  251. data/lib/appwrite/models/policy_password_history.rb +1 -0
  252. data/lib/appwrite/models/policy_password_personal_data.rb +1 -0
  253. data/lib/appwrite/models/policy_password_strength.rb +1 -0
  254. data/lib/appwrite/models/policy_session_alert.rb +1 -0
  255. data/lib/appwrite/models/policy_session_duration.rb +1 -0
  256. data/lib/appwrite/models/policy_session_invalidation.rb +1 -0
  257. data/lib/appwrite/models/policy_session_limit.rb +1 -0
  258. data/lib/appwrite/models/policy_user_limit.rb +1 -0
  259. data/lib/appwrite/models/postgres_extension.rb +1 -0
  260. data/lib/appwrite/models/presence.rb +4 -3
  261. data/lib/appwrite/models/presence_list.rb +1 -0
  262. data/lib/appwrite/models/program.rb +1 -0
  263. data/lib/appwrite/models/project.rb +23 -27
  264. data/lib/appwrite/models/project_auth_method.rb +1 -0
  265. data/lib/appwrite/models/project_list.rb +1 -0
  266. data/lib/appwrite/models/project_protocol.rb +1 -0
  267. data/lib/appwrite/models/project_service.rb +1 -0
  268. data/lib/appwrite/models/provider.rb +2 -1
  269. data/lib/appwrite/models/provider_list.rb +1 -0
  270. data/lib/appwrite/models/proxy_invalidation.rb +1 -0
  271. data/lib/appwrite/models/proxy_rule.rb +23 -4
  272. data/lib/appwrite/models/proxy_rule_list.rb +1 -0
  273. data/lib/appwrite/models/report.rb +2 -1
  274. data/lib/appwrite/models/report_list.rb +1 -0
  275. data/lib/appwrite/models/resource_token.rb +1 -0
  276. data/lib/appwrite/models/resource_token_list.rb +1 -0
  277. data/lib/appwrite/models/row.rb +1 -0
  278. data/lib/appwrite/models/row_list.rb +1 -0
  279. data/lib/appwrite/models/runtime.rb +1 -0
  280. data/lib/appwrite/models/runtime_list.rb +1 -0
  281. data/lib/appwrite/models/session.rb +1 -0
  282. data/lib/appwrite/models/session_list.rb +1 -0
  283. data/lib/appwrite/models/site.rb +1 -0
  284. data/lib/appwrite/models/site_list.rb +1 -0
  285. data/lib/appwrite/models/specification.rb +1 -0
  286. data/lib/appwrite/models/specification_list.rb +1 -0
  287. data/lib/appwrite/models/subscriber.rb +1 -0
  288. data/lib/appwrite/models/subscriber_list.rb +1 -0
  289. data/lib/appwrite/models/table.rb +1 -0
  290. data/lib/appwrite/models/table_list.rb +1 -0
  291. data/lib/appwrite/models/target.rb +2 -1
  292. data/lib/appwrite/models/target_list.rb +1 -0
  293. data/lib/appwrite/models/team.rb +1 -0
  294. data/lib/appwrite/models/team_list.rb +1 -0
  295. data/lib/appwrite/models/token.rb +1 -0
  296. data/lib/appwrite/models/token_secret.rb +1 -0
  297. data/lib/appwrite/models/topic.rb +3 -2
  298. data/lib/appwrite/models/topic_list.rb +1 -0
  299. data/lib/appwrite/models/transaction.rb +1 -0
  300. data/lib/appwrite/models/transaction_list.rb +1 -0
  301. data/lib/appwrite/models/usage_billing_plan.rb +27 -27
  302. data/lib/appwrite/models/user.rb +12 -11
  303. data/lib/appwrite/models/user_list.rb +1 -0
  304. data/lib/appwrite/models/variable.rb +1 -0
  305. data/lib/appwrite/models/variable_list.rb +1 -0
  306. data/lib/appwrite/models/vectorsdb_collection.rb +1 -0
  307. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  308. data/lib/appwrite/models/webhook.rb +1 -0
  309. data/lib/appwrite/models/webhook_list.rb +1 -0
  310. data/lib/appwrite/query/builder.rb +361 -0
  311. data/lib/appwrite/query.rb +190 -0
  312. data/lib/appwrite/services/account.rb +112 -132
  313. data/lib/appwrite/services/activities.rb +4 -4
  314. data/lib/appwrite/services/advisor.rb +19 -18
  315. data/lib/appwrite/services/apps.rb +89 -89
  316. data/lib/appwrite/services/avatars.rb +21 -21
  317. data/lib/appwrite/services/backups.rb +30 -30
  318. data/lib/appwrite/services/databases.rb +497 -449
  319. data/lib/appwrite/services/documents_db.rb +195 -190
  320. data/lib/appwrite/services/domains.rb +55 -55
  321. data/lib/appwrite/services/embeddings.rb +2 -2
  322. data/lib/appwrite/services/functions.rb +117 -109
  323. data/lib/appwrite/services/graphql.rb +4 -4
  324. data/lib/appwrite/services/messaging.rb +156 -152
  325. data/lib/appwrite/services/mongo.rb +194 -130
  326. data/lib/appwrite/services/mysql.rb +212 -144
  327. data/lib/appwrite/services/oauth2.rb +27 -27
  328. data/lib/appwrite/services/organization.rb +55 -246
  329. data/lib/appwrite/services/postgresql.rb +226 -158
  330. data/lib/appwrite/services/presences.rb +17 -16
  331. data/lib/appwrite/services/project.rb +149 -142
  332. data/lib/appwrite/services/proxy.rb +70 -23
  333. data/lib/appwrite/services/sites.rb +108 -104
  334. data/lib/appwrite/services/storage.rb +62 -59
  335. data/lib/appwrite/services/tables_db.rb +613 -557
  336. data/lib/appwrite/services/teams.rb +83 -81
  337. data/lib/appwrite/services/tokens.rb +25 -24
  338. data/lib/appwrite/services/users.rb +170 -199
  339. data/lib/appwrite/services/vectors_db.rb +181 -176
  340. data/lib/appwrite/services/waf.rb +7 -7
  341. data/lib/appwrite/services/webhooks.rb +23 -22
  342. data/lib/appwrite/topic.rb +53 -0
  343. data/lib/appwrite.rb +6 -9
  344. metadata +5 -7
  345. data/lib/appwrite/enums/organization_key_scopes.rb +0 -22
  346. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -42
  347. data/lib/appwrite/models/dev_key.rb +0 -62
  348. data/lib/appwrite/models/log.rb +0 -132
  349. data/lib/appwrite/models/log_list.rb +0 -32
@@ -62,22 +62,22 @@ module Appwrite
62
62
  updated_at:,
63
63
  project_id:,
64
64
  name:,
65
- api:,
66
- engine:,
65
+ api: nil,
66
+ engine: nil,
67
67
  version:,
68
68
  specification:,
69
69
  backend:,
70
70
  hostname:,
71
- connection_port:,
71
+ connection_port: nil,
72
72
  connection_user:,
73
73
  connection_password:,
74
- credential_generation:,
74
+ credential_generation: nil,
75
75
  connection_string:,
76
76
  ssl:,
77
77
  status:,
78
78
  container_status:,
79
- last_accessed_at:,
80
- idle_until:,
79
+ last_accessed_at: nil,
80
+ idle_until: nil,
81
81
  lifecycle_state:,
82
82
  idle_timeout_minutes:,
83
83
  cpu:,
@@ -85,7 +85,7 @@ module Appwrite
85
85
  storage:,
86
86
  storage_status:,
87
87
  storage_target_gb:,
88
- storage_resize_started_at:,
88
+ storage_resize_started_at: nil,
89
89
  storage_class:,
90
90
  storage_max_gb:,
91
91
  node_pool:,
@@ -165,6 +165,7 @@ module Appwrite
165
165
  end
166
166
 
167
167
  def self.from(map:)
168
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "projectId" => "", "name" => "", "version" => "", "specification" => "", "backend" => "", "hostname" => "", "connectionUser" => "", "connectionPassword" => "", "connectionString" => "", "ssl" => false, "status" => "provisioning", "containerStatus" => "", "lifecycleState" => "", "idleTimeoutMinutes" => 15, "cpu" => 500, "memory" => 512, "storage" => 10, "storageStatus" => "idle", "storageTargetGb" => 0, "storageClass" => "ssd", "storageMaxGb" => 0, "nodePool" => "", "replicas" => 0, "syncMode" => "", "networkMaxConnections" => 100, "networkIdleTimeoutSeconds" => 900, "networkIPAllowlist" => [], "backupEnabled" => true, "pitr" => true, "pitrRetentionDays" => 7, "storageAutoscaling" => true, "storageAutoscalingThresholdPercent" => 85, "storageAutoscalingMaxGb" => 0, "maintenanceWindowDay" => "sun", "maintenanceWindowHourUtc" => 3, "metricsEnabled" => false, "sqlApiEnabled" => true, "sqlApiAllowedStatements" => ["SELECT", "INSERT", "UPDATE", "DELETE"], "sqlApiMaxRows" => 10000, "sqlApiMaxBytes" => 10485760, "sqlApiTimeoutSeconds" => 30, "error" => "" }.merge(map)
168
169
  DedicatedDatabase.new(
169
170
  id: map["$id"],
170
171
  created_at: map["$createdAt"],
@@ -33,11 +33,11 @@ module Appwrite
33
33
  fallback_reason:,
34
34
  status:,
35
35
  size_bytes:,
36
- started_at:,
37
- completed_at:,
38
- verified_at:,
39
- expires_at:,
40
- log_position:,
36
+ started_at: nil,
37
+ completed_at: nil,
38
+ verified_at: nil,
39
+ expires_at: nil,
40
+ log_position: nil,
41
41
  error:
42
42
  )
43
43
  @id = id
@@ -60,6 +60,7 @@ module Appwrite
60
60
  end
61
61
 
62
62
  def self.from(map:)
63
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "projectId" => "", "policyId" => "", "trigger" => "manual", "type" => "full", "requestedType" => "", "fallbackReason" => "", "status" => "pending", "sizeBytes" => 0, "error" => "" }.merge(map)
63
64
  DedicatedDatabaseBackup.new(
64
65
  id: map["$id"],
65
66
  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, "backups" => [] }.merge(map)
18
19
  DedicatedDatabaseBackupList.new(
19
20
  total: map["total"],
20
21
  backups: map["backups"].map { |it| DedicatedDatabaseBackup.from(map: it) }
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "provider" => "", "bucket" => "", "region" => "", "prefix" => "backups/", "endpoint" => "" }.merge(map)
27
28
  DedicatedDatabaseBackupStorage.new(
28
29
  provider: map["provider"],
29
30
  bucket: map["bucket"],
@@ -22,7 +22,7 @@ module Appwrite
22
22
  namespace:,
23
23
  expires_at:,
24
24
  host:,
25
- port:,
25
+ port: nil,
26
26
  database:,
27
27
  username:,
28
28
  password:,
@@ -45,6 +45,7 @@ module Appwrite
45
45
  end
46
46
 
47
47
  def self.from(map:)
48
+ map = { "branchId" => "", "branchName" => "", "namespace" => "", "expiresAt" => 0, "host" => "", "database" => "", "username" => "", "password" => "", "ssl" => false, "engine" => "", "connectionString" => "" }.merge(map)
48
49
  DedicatedDatabaseBranch.new(
49
50
  branch_id: map["branchId"],
50
51
  branch_name: map["branchName"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "branches" => [] }.merge(map)
18
19
  DedicatedDatabaseBranchList.new(
19
20
  total: map["total"],
20
21
  branches: map["branches"].map { |it| DedicatedDatabaseBranch.from(map: it) }
@@ -27,6 +27,7 @@ module Appwrite
27
27
  end
28
28
 
29
29
  def self.from(map:)
30
+ map = { "rows" => [], "rowCount" => 0, "columns" => [], "durationMs" => 0, "truncated" => false, "bytes" => 0 }.merge(map)
30
31
  DedicatedDatabaseExecution.new(
31
32
  rows: map["rows"],
32
33
  row_count: map["rowCount"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "name" => "", "type" => "" }.merge(map)
18
19
  DedicatedDatabaseExecutionColumn.new(
19
20
  name: map["name"],
20
21
  type: map["type"]
@@ -18,6 +18,7 @@ module Appwrite
18
18
  end
19
19
 
20
20
  def self.from(map:)
21
+ map = { "installed" => [], "available" => [], "metadata" => [] }.merge(map)
21
22
  DedicatedDatabaseExtensions.new(
22
23
  installed: map["installed"],
23
24
  available: map["available"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "databases" => [] }.merge(map)
18
19
  DedicatedDatabaseList.new(
19
20
  total: map["total"],
20
21
  databases: map["databases"].map { |it| DedicatedDatabase.from(map: it) }
@@ -13,8 +13,8 @@ module Appwrite
13
13
  id:,
14
14
  role:,
15
15
  status:,
16
- replicating:,
17
- lag_seconds:
16
+ replicating: nil,
17
+ lag_seconds: nil
18
18
  )
19
19
  @id = id
20
20
  @role = role
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "$id" => "", "role" => "unknown", "status" => "" }.merge(map)
27
28
  DedicatedDatabaseMember.new(
28
29
  id: map["$id"],
29
30
  role: map["role"],
@@ -22,9 +22,9 @@ module Appwrite
22
22
  type:,
23
23
  status:,
24
24
  attempts:,
25
- requested_at:,
26
- started_at:,
27
- completed_at:,
25
+ requested_at: nil,
26
+ started_at: nil,
27
+ completed_at: nil,
28
28
  error_code:,
29
29
  error_message:
30
30
  )
@@ -42,6 +42,7 @@ module Appwrite
42
42
  end
43
43
 
44
44
  def self.from(map:)
45
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "type" => "", "status" => "", "attempts" => 0, "errorCode" => "", "errorMessage" => "" }.merge(map)
45
46
  DedicatedDatabaseOperation.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, "operations" => [] }.merge(map)
18
19
  DedicatedDatabaseOperationList.new(
19
20
  total: map["total"],
20
21
  operations: map["operations"].map { |it| DedicatedDatabaseOperation.from(map: it) }
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "earliest" => "", "latest" => "" }.merge(map)
18
19
  DedicatedDatabasePITRWindows.new(
19
20
  earliest: map["earliest"],
20
21
  latest: map["latest"]
@@ -39,6 +39,7 @@ module Appwrite
39
39
  end
40
40
 
41
41
  def self.from(map:)
42
+ map = { "enabled" => false, "mode" => "transaction", "maxConnections" => 100, "defaultPoolSize" => 20, "port" => 6432, "readWriteSplitting" => false, "poolerCpuRequest" => "", "poolerCpuLimit" => "", "poolerMemoryRequest" => "", "poolerMemoryLimit" => "" }.merge(map)
42
43
  DedicatedDatabasePooler.new(
43
44
  enabled: map["enabled"],
44
45
  mode: map["mode"],
@@ -15,11 +15,11 @@ module Appwrite
15
15
  def initialize(
16
16
  replicas:,
17
17
  sync_mode:,
18
- effective_sync_mode:,
18
+ effective_sync_mode: nil,
19
19
  sync_degraded:,
20
20
  sync_acknowledgements:,
21
21
  sync_standby_count:,
22
- sync_state_confirmed:,
22
+ sync_state_confirmed: nil,
23
23
  members:
24
24
  )
25
25
  @replicas = replicas
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "replicas" => 0, "syncMode" => "async", "syncDegraded" => false, "syncAcknowledgements" => 0, "syncStandbyCount" => 0, "members" => [] }.merge(map)
36
37
  DedicatedDatabaseReplicas.new(
37
38
  replicas: map["replicas"],
38
39
  sync_mode: map["syncMode"],
@@ -10,6 +10,7 @@ module Appwrite
10
10
  attr_reader :project_id
11
11
  attr_reader :backup_id
12
12
  attr_reader :type
13
+ attr_reader :restore_mode
13
14
  attr_reader :status
14
15
  attr_reader :target_time
15
16
  attr_reader :started_at
@@ -20,14 +21,15 @@ module Appwrite
20
21
  id:,
21
22
  created_at:,
22
23
  database_id:,
23
- source_database_id:,
24
+ source_database_id: nil,
24
25
  project_id:,
25
- backup_id:,
26
+ backup_id: nil,
26
27
  type:,
28
+ restore_mode:,
27
29
  status:,
28
- target_time:,
29
- started_at:,
30
- completed_at:,
30
+ target_time: nil,
31
+ started_at: nil,
32
+ completed_at: nil,
31
33
  error:
32
34
  )
33
35
  @id = id
@@ -37,6 +39,7 @@ module Appwrite
37
39
  @project_id = project_id
38
40
  @backup_id = backup_id
39
41
  @type = type
42
+ @restore_mode = restore_mode
40
43
  @status = status
41
44
  @target_time = target_time
42
45
  @started_at = started_at
@@ -45,6 +48,7 @@ module Appwrite
45
48
  end
46
49
 
47
50
  def self.from(map:)
51
+ map = { "$id" => "", "$createdAt" => "", "databaseId" => "", "projectId" => "", "type" => "backup", "restoreMode" => "in_place", "status" => "pending", "error" => "" }.merge(map)
48
52
  DedicatedDatabaseRestoration.new(
49
53
  id: map["$id"],
50
54
  created_at: map["$createdAt"],
@@ -53,6 +57,7 @@ module Appwrite
53
57
  project_id: map["projectId"],
54
58
  backup_id: map["backupId"],
55
59
  type: map["type"],
60
+ restore_mode: map["restoreMode"],
56
61
  status: map["status"],
57
62
  target_time: map["targetTime"],
58
63
  started_at: map["startedAt"],
@@ -70,6 +75,7 @@ module Appwrite
70
75
  "projectId": @project_id,
71
76
  "backupId": @backup_id,
72
77
  "type": @type,
78
+ "restoreMode": @restore_mode,
73
79
  "status": @status,
74
80
  "targetTime": @target_time,
75
81
  "startedAt": @started_at,
@@ -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
  DedicatedDatabaseRestorationList.new(
19
20
  total: map["total"],
20
21
  restorations: map["restorations"].map { |it| DedicatedDatabaseRestoration.from(map: it) }
@@ -48,6 +48,7 @@ module Appwrite
48
48
  end
49
49
 
50
50
  def self.from(map:)
51
+ map = { "slug" => "", "name" => "", "price" => 0, "storageOverageRate" => 0, "bandwidthOverageRate" => 0, "replicaRate" => 0, "pitrRate" => 0, "cpu" => 0, "memory" => 0, "maxConnections" => 0, "includedStorage" => 0, "includedBandwidth" => 0, "enabled" => false }.merge(map)
51
52
  DedicatedDatabaseSpecification.new(
52
53
  slug: map["slug"],
53
54
  name: map["name"],
@@ -5,31 +5,27 @@ module Appwrite
5
5
  class DedicatedDatabaseSpecificationList
6
6
  attr_reader :specifications
7
7
  attr_reader :total
8
- attr_reader :pricing
9
8
 
10
9
  def initialize(
11
10
  specifications:,
12
- total:,
13
- pricing:
11
+ total:
14
12
  )
15
13
  @specifications = specifications
16
14
  @total = total
17
- @pricing = pricing
18
15
  end
19
16
 
20
17
  def self.from(map:)
18
+ map = { "specifications" => [], "total" => 0 }.merge(map)
21
19
  DedicatedDatabaseSpecificationList.new(
22
20
  specifications: map["specifications"].map { |it| DedicatedDatabaseSpecification.from(map: it) },
23
- total: map["total"],
24
- pricing: DedicatedDatabaseSpecificationPricing.from(map: map["pricing"])
21
+ total: map["total"]
25
22
  )
26
23
  end
27
24
 
28
25
  def to_map
29
26
  {
30
27
  "specifications": @specifications.map { |it| it.to_map },
31
- "total": @total,
32
- "pricing": @pricing.to_map
28
+ "total": @total
33
29
  }
34
30
  end
35
31
  end
@@ -90,6 +90,7 @@ module Appwrite
90
90
  end
91
91
 
92
92
  def self.from(map:)
93
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "type" => "", "resourceId" => "", "resourceType" => "", "entrypoint" => "", "sourceSize" => 0, "buildSize" => 0, "totalSize" => 0, "buildId" => "", "activate" => false, "screenshotLight" => "", "screenshotDark" => "", "buildLogs" => "", "buildDuration" => 0, "providerRepositoryName" => "", "providerRepositoryOwner" => "", "providerRepositoryUrl" => "", "providerCommitHash" => "", "providerCommitAuthorUrl" => "", "providerCommitAuthor" => "", "providerCommitMessage" => "", "providerCommitUrl" => "", "providerBranch" => "", "providerBranchUrl" => "" }.merge(map)
93
94
  Deployment.new(
94
95
  id: map["$id"],
95
96
  created_at: map["$createdAt"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "deployments" => [] }.merge(map)
18
19
  DeploymentList.new(
19
20
  total: map["total"],
20
21
  deployments: map["deployments"].map { |it| Deployment.from(map: it) }
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "$id" => "", "$sequence" => "", "$collectionId" => "", "$databaseId" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [] }.merge(map)
36
37
  Document.new(
37
38
  id: map["$id"],
38
39
  sequence: map["$sequence"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "documents" => [] }.merge(map)
18
19
  DocumentList.new(
19
20
  total: map["total"],
20
21
  documents: map["documents"].map { |it| Document.from(map: it) }
@@ -28,7 +28,7 @@ module Appwrite
28
28
  renewal:,
29
29
  auto_renewal:,
30
30
  renewal_price:,
31
- transfer_status:,
31
+ transfer_status: nil,
32
32
  team_id:,
33
33
  dns_records:
34
34
  )
@@ -16,10 +16,10 @@ module Appwrite
16
16
  domain:,
17
17
  tld:,
18
18
  available:,
19
- price:,
19
+ price: nil,
20
20
  period_years:,
21
21
  premium:,
22
- renewal_price:,
22
+ renewal_price: nil,
23
23
  renewal_period_years:
24
24
  )
25
25
  @domain = domain
@@ -33,6 +33,7 @@ module Appwrite
33
33
  end
34
34
 
35
35
  def self.from(map:)
36
+ map = { "templateId" => "", "locale" => "", "message" => "", "senderName" => "", "senderEmail" => "", "replyToEmail" => "", "replyToName" => "", "subject" => "" }.merge(map)
36
37
  EmailTemplate.new(
37
38
  template_id: map["templateId"],
38
39
  locale: map["locale"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "templates" => [] }.merge(map)
18
19
  EmailTemplateList.new(
19
20
  total: map["total"],
20
21
  templates: map["templates"].map { |it| EmailTemplate.from(map: it) }
@@ -21,6 +21,7 @@ module Appwrite
21
21
  end
22
22
 
23
23
  def self.from(map:)
24
+ map = { "model" => "", "dimension" => 0, "embedding" => [], "error" => "" }.merge(map)
24
25
  Embedding.new(
25
26
  model: map["model"],
26
27
  dimension: map["dimension"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "embeddings" => [] }.merge(map)
18
19
  EmbeddingList.new(
19
20
  total: map["total"],
20
21
  embeddings: map["embeddings"].map { |it| Embedding.from(map: it) }
@@ -36,6 +36,7 @@ module Appwrite
36
36
  end
37
37
 
38
38
  def self.from(map:)
39
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "name" => "", "expire" => "", "scopes" => [], "secret" => "", "accessedAt" => "", "sdks" => [] }.merge(map)
39
40
  EphemeralKey.new(
40
41
  id: map["$id"],
41
42
  created_at: map["$createdAt"],
@@ -42,7 +42,7 @@ module Appwrite
42
42
  logs:,
43
43
  errors:,
44
44
  duration:,
45
- scheduled_at:
45
+ scheduled_at: nil
46
46
  )
47
47
  @id = id
48
48
  @created_at = created_at
@@ -66,6 +66,7 @@ module Appwrite
66
66
  end
67
67
 
68
68
  def self.from(map:)
69
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "resourceId" => "", "resourceType" => "functions", "deploymentId" => "", "requestMethod" => "", "requestPath" => "", "requestHeaders" => [], "responseStatusCode" => 0, "responseBody" => "", "responseHeaders" => [], "logs" => "", "errors" => "", "duration" => 0 }.merge(map)
69
70
  Execution.new(
70
71
  id: map["$id"],
71
72
  created_at: map["$createdAt"],
@@ -133,6 +134,7 @@ module Appwrite
133
134
  Appwrite::Enums::ExecutionTrigger::HTTP,
134
135
  Appwrite::Enums::ExecutionTrigger::SCHEDULE,
135
136
  Appwrite::Enums::ExecutionTrigger::EVENT,
137
+ Appwrite::Enums::ExecutionTrigger::EMAIL,
136
138
  ]
137
139
 
138
140
  unless valid_trigger.include?(trigger)
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "executions" => [] }.merge(map)
18
19
  ExecutionList.new(
19
20
  total: map["total"],
20
21
  executions: map["executions"].map { |it| Execution.from(map: it) }
@@ -57,6 +57,7 @@ module Appwrite
57
57
  end
58
58
 
59
59
  def self.from(map:)
60
+ map = { "$id" => "", "bucketId" => "", "$createdAt" => "", "$updatedAt" => "", "$permissions" => [], "name" => "", "folder" => "", "key" => "", "signature" => "", "mimeType" => "", "sizeOriginal" => 0, "sizeActual" => 0, "chunksTotal" => 0, "chunksUploaded" => 0, "encryption" => false, "compression" => "none" }.merge(map)
60
61
  File.new(
61
62
  id: map["$id"],
62
63
  bucket_id: map["bucketId"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "files" => [] }.merge(map)
18
19
  FileList.new(
19
20
  total: map["total"],
20
21
  files: map["files"].map { |it| File.from(map: it) }
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "key" => "", "name" => "", "buildRuntime" => "", "runtimes" => [], "adapters" => [] }.merge(map)
27
28
  Framework.new(
28
29
  key: map["key"],
29
30
  name: map["name"],
@@ -14,7 +14,7 @@ module Appwrite
14
14
  install_command:,
15
15
  build_command:,
16
16
  output_directory:,
17
- fallback_file:
17
+ fallback_file: nil
18
18
  )
19
19
  @key = key
20
20
  @install_command = install_command
@@ -24,6 +24,7 @@ module Appwrite
24
24
  end
25
25
 
26
26
  def self.from(map:)
27
+ map = { "key" => "", "installCommand" => "", "buildCommand" => "", "outputDirectory" => "" }.merge(map)
27
28
  FrameworkAdapter.new(
28
29
  key: map["key"],
29
30
  install_command: map["installCommand"],
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "frameworks" => [] }.merge(map)
18
19
  FrameworkList.new(
19
20
  total: map["total"],
20
21
  frameworks: map["frameworks"].map { |it| Framework.from(map: it) }
@@ -36,6 +36,7 @@ module Appwrite
36
36
  attr_reader :provider_paths
37
37
  attr_reader :build_specification
38
38
  attr_reader :runtime_specification
39
+ attr_reader :email_enabled
39
40
 
40
41
  def initialize(
41
42
  id:,
@@ -57,7 +58,7 @@ module Appwrite
57
58
  vars:,
58
59
  events:,
59
60
  schedule:,
60
- interval:,
61
+ interval: 0,
61
62
  timeout:,
62
63
  entrypoint:,
63
64
  commands:,
@@ -70,7 +71,8 @@ module Appwrite
70
71
  provider_branches:,
71
72
  provider_paths:,
72
73
  build_specification:,
73
- runtime_specification:
74
+ runtime_specification:,
75
+ email_enabled:
74
76
  )
75
77
  @id = id
76
78
  @created_at = created_at
@@ -105,9 +107,11 @@ module Appwrite
105
107
  @provider_paths = provider_paths
106
108
  @build_specification = build_specification
107
109
  @runtime_specification = runtime_specification
110
+ @email_enabled = email_enabled
108
111
  end
109
112
 
110
113
  def self.from(map:)
114
+ map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "execute" => [], "name" => "", "enabled" => true, "live" => true, "logging" => true, "runtime" => "", "deploymentRetention" => 0, "deploymentId" => "", "deploymentCreatedAt" => "", "latestDeploymentId" => "", "latestDeploymentCreatedAt" => "", "latestDeploymentStatus" => "", "scopes" => [], "vars" => [], "events" => [], "schedule" => "", "timeout" => 15, "entrypoint" => "", "commands" => "", "version" => "v5", "installationId" => "", "providerRepositoryId" => "", "providerBranch" => "", "providerRootDirectory" => "", "providerSilentMode" => false, "providerBranches" => [], "providerPaths" => [], "buildSpecification" => "s-1vcpu-512mb", "runtimeSpecification" => "s-1vcpu-512mb", "emailEnabled" => false }.merge(map)
111
115
  Function.new(
112
116
  id: map["$id"],
113
117
  created_at: map["$createdAt"],
@@ -141,7 +145,8 @@ module Appwrite
141
145
  provider_branches: map["providerBranches"],
142
146
  provider_paths: map["providerPaths"],
143
147
  build_specification: map["buildSpecification"],
144
- runtime_specification: map["runtimeSpecification"]
148
+ runtime_specification: map["runtimeSpecification"],
149
+ email_enabled: map["emailEnabled"]
145
150
  )
146
151
  end
147
152
 
@@ -179,7 +184,8 @@ module Appwrite
179
184
  "providerBranches": @provider_branches,
180
185
  "providerPaths": @provider_paths,
181
186
  "buildSpecification": @build_specification,
182
- "runtimeSpecification": @runtime_specification
187
+ "runtimeSpecification": @runtime_specification,
188
+ "emailEnabled": @email_enabled
183
189
  }
184
190
  end
185
191
  end
@@ -15,6 +15,7 @@ module Appwrite
15
15
  end
16
16
 
17
17
  def self.from(map:)
18
+ map = { "total" => 0, "functions" => [] }.merge(map)
18
19
  FunctionList.new(
19
20
  total: map["total"],
20
21
  functions: map["functions"].map { |it| Function.from(map: it) }