appwrite 23.0.0 → 24.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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +28 -2
  3. data/lib/appwrite/enums/build_runtime.rb +1 -0
  4. data/lib/appwrite/enums/o_auth2_google_prompt.rb +9 -0
  5. data/lib/appwrite/enums/o_auth_provider.rb +3 -0
  6. data/lib/appwrite/enums/project_auth_method_id.rb +13 -0
  7. data/lib/appwrite/enums/project_email_template_id.rb +13 -0
  8. data/lib/appwrite/enums/project_email_template_locale.rb +137 -0
  9. data/lib/appwrite/enums/project_key_scopes.rb +100 -0
  10. data/lib/appwrite/enums/project_o_auth2_google_prompt.rb +9 -0
  11. data/lib/appwrite/enums/project_o_auth_provider_id.rb +51 -0
  12. data/lib/appwrite/enums/project_policy_id.rb +15 -0
  13. data/lib/appwrite/enums/{protocol_id.rb → project_protocol_id.rb} +1 -1
  14. data/lib/appwrite/enums/{service_id.rb → project_service_id.rb} +2 -1
  15. data/lib/appwrite/enums/project_smtp_secure.rb +8 -0
  16. data/lib/appwrite/enums/proxy_resource_type.rb +8 -0
  17. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +8 -0
  18. data/lib/appwrite/enums/proxy_rule_status.rb +9 -0
  19. data/lib/appwrite/enums/runtime.rb +1 -0
  20. data/lib/appwrite/enums/scopes.rb +51 -31
  21. data/lib/appwrite/enums/status_code.rb +10 -0
  22. data/lib/appwrite/models/attribute_bigint.rb +96 -0
  23. data/lib/appwrite/models/block.rb +28 -3
  24. data/lib/appwrite/models/column_bigint.rb +96 -0
  25. data/lib/appwrite/models/database.rb +2 -2
  26. data/lib/appwrite/models/email_template.rb +62 -0
  27. data/lib/appwrite/models/email_template_list.rb +32 -0
  28. data/lib/appwrite/models/ephemeral_key.rb +67 -0
  29. data/lib/appwrite/models/insight.rb +107 -0
  30. data/lib/appwrite/models/insight_cta.rb +42 -0
  31. data/lib/appwrite/models/insight_list.rb +32 -0
  32. data/lib/appwrite/models/membership.rb +5 -0
  33. data/lib/appwrite/models/mock_number.rb +18 -8
  34. data/lib/appwrite/models/mock_number_list.rb +32 -0
  35. data/lib/appwrite/models/o_auth2_amazon.rb +42 -0
  36. data/lib/appwrite/models/o_auth2_apple.rb +52 -0
  37. data/lib/appwrite/models/o_auth2_auth0.rb +47 -0
  38. data/lib/appwrite/models/o_auth2_authentik.rb +47 -0
  39. data/lib/appwrite/models/o_auth2_autodesk.rb +42 -0
  40. data/lib/appwrite/models/o_auth2_bitbucket.rb +42 -0
  41. data/lib/appwrite/models/o_auth2_bitly.rb +42 -0
  42. data/lib/appwrite/models/o_auth2_box.rb +42 -0
  43. data/lib/appwrite/models/o_auth2_dailymotion.rb +42 -0
  44. data/lib/appwrite/models/o_auth2_discord.rb +42 -0
  45. data/lib/appwrite/models/o_auth2_disqus.rb +42 -0
  46. data/lib/appwrite/models/o_auth2_dropbox.rb +42 -0
  47. data/lib/appwrite/models/o_auth2_etsy.rb +42 -0
  48. data/lib/appwrite/models/o_auth2_facebook.rb +42 -0
  49. data/lib/appwrite/models/o_auth2_figma.rb +42 -0
  50. data/lib/appwrite/models/o_auth2_fusion_auth.rb +47 -0
  51. data/lib/appwrite/models/o_auth2_github.rb +42 -0
  52. data/lib/appwrite/models/o_auth2_gitlab.rb +47 -0
  53. data/lib/appwrite/models/o_auth2_google.rb +47 -0
  54. data/lib/appwrite/models/o_auth2_keycloak.rb +52 -0
  55. data/lib/appwrite/models/o_auth2_kick.rb +42 -0
  56. data/lib/appwrite/models/o_auth2_linkedin.rb +42 -0
  57. data/lib/appwrite/models/o_auth2_microsoft.rb +47 -0
  58. data/lib/appwrite/models/o_auth2_notion.rb +42 -0
  59. data/lib/appwrite/models/o_auth2_oidc.rb +62 -0
  60. data/lib/appwrite/models/o_auth2_okta.rb +52 -0
  61. data/lib/appwrite/models/o_auth2_paypal.rb +42 -0
  62. data/lib/appwrite/models/o_auth2_podio.rb +42 -0
  63. data/lib/appwrite/models/o_auth2_provider_list.rb +32 -0
  64. data/lib/appwrite/models/o_auth2_salesforce.rb +42 -0
  65. data/lib/appwrite/models/o_auth2_slack.rb +42 -0
  66. data/lib/appwrite/models/o_auth2_spotify.rb +42 -0
  67. data/lib/appwrite/models/o_auth2_stripe.rb +42 -0
  68. data/lib/appwrite/models/o_auth2_tradeshift.rb +42 -0
  69. data/lib/appwrite/models/o_auth2_twitch.rb +42 -0
  70. data/lib/appwrite/models/o_auth2_word_press.rb +42 -0
  71. data/lib/appwrite/models/o_auth2_x.rb +42 -0
  72. data/lib/appwrite/models/o_auth2_yahoo.rb +42 -0
  73. data/lib/appwrite/models/o_auth2_yandex.rb +42 -0
  74. data/lib/appwrite/models/o_auth2_zoho.rb +42 -0
  75. data/lib/appwrite/models/o_auth2_zoom.rb +42 -0
  76. data/lib/appwrite/models/policy_list.rb +32 -0
  77. data/lib/appwrite/models/policy_membership_privacy.rb +52 -0
  78. data/lib/appwrite/models/policy_password_dictionary.rb +32 -0
  79. data/lib/appwrite/models/policy_password_history.rb +32 -0
  80. data/lib/appwrite/models/policy_password_personal_data.rb +32 -0
  81. data/lib/appwrite/models/policy_session_alert.rb +32 -0
  82. data/lib/appwrite/models/policy_session_duration.rb +32 -0
  83. data/lib/appwrite/models/policy_session_invalidation.rb +32 -0
  84. data/lib/appwrite/models/policy_session_limit.rb +32 -0
  85. data/lib/appwrite/models/policy_user_limit.rb +32 -0
  86. data/lib/appwrite/models/presence.rb +71 -0
  87. data/lib/appwrite/models/presence_list.rb +36 -0
  88. data/lib/appwrite/models/project.rb +25 -280
  89. data/lib/appwrite/models/project_auth_method.rb +53 -0
  90. data/lib/appwrite/models/project_protocol.rb +49 -0
  91. data/lib/appwrite/models/project_service.rb +64 -0
  92. data/lib/appwrite/models/proxy_rule.rb +127 -0
  93. data/lib/appwrite/models/proxy_rule_list.rb +32 -0
  94. data/lib/appwrite/models/report.rb +82 -0
  95. data/lib/appwrite/models/report_list.rb +32 -0
  96. data/lib/appwrite/models/usage_event.rb +72 -0
  97. data/lib/appwrite/models/usage_event_list.rb +32 -0
  98. data/lib/appwrite/models/usage_gauge.rb +37 -0
  99. data/lib/appwrite/models/usage_gauge_list.rb +32 -0
  100. data/lib/appwrite/services/account.rb +1 -1
  101. data/lib/appwrite/services/advisor.rb +173 -0
  102. data/lib/appwrite/services/databases.rb +126 -0
  103. data/lib/appwrite/services/functions.rb +13 -7
  104. data/lib/appwrite/services/presences.rb +199 -0
  105. data/lib/appwrite/services/project.rb +2817 -292
  106. data/lib/appwrite/services/proxy.rb +303 -0
  107. data/lib/appwrite/services/sites.rb +13 -7
  108. data/lib/appwrite/services/tables_db.rb +120 -0
  109. data/lib/appwrite/services/usage.rb +86 -0
  110. data/lib/appwrite.rb +92 -3
  111. metadata +94 -5
  112. data/lib/appwrite/models/auth_provider.rb +0 -47
@@ -7,40 +7,13 @@ module Appwrite
7
7
  attr_reader :created_at
8
8
  attr_reader :updated_at
9
9
  attr_reader :name
10
- attr_reader :description
11
10
  attr_reader :team_id
12
- attr_reader :logo
13
- attr_reader :url
14
- attr_reader :legal_name
15
- attr_reader :legal_country
16
- attr_reader :legal_state
17
- attr_reader :legal_city
18
- attr_reader :legal_address
19
- attr_reader :legal_tax_id
20
- attr_reader :auth_duration
21
- attr_reader :auth_limit
22
- attr_reader :auth_sessions_limit
23
- attr_reader :auth_password_history
24
- attr_reader :auth_password_dictionary
25
- attr_reader :auth_personal_data_check
26
- attr_reader :auth_disposable_emails
27
- attr_reader :auth_canonical_emails
28
- attr_reader :auth_free_emails
29
- attr_reader :auth_mock_numbers
30
- attr_reader :auth_session_alerts
31
- attr_reader :auth_memberships_user_name
32
- attr_reader :auth_memberships_user_email
33
- attr_reader :auth_memberships_mfa
34
- attr_reader :auth_invalidate_sessions
35
- attr_reader :o_auth_providers
36
- attr_reader :platforms
37
- attr_reader :webhooks
38
- attr_reader :keys
39
11
  attr_reader :dev_keys
40
12
  attr_reader :smtp_enabled
41
13
  attr_reader :smtp_sender_name
42
14
  attr_reader :smtp_sender_email
43
- attr_reader :smtp_reply_to
15
+ attr_reader :smtp_reply_to_name
16
+ attr_reader :smtp_reply_to_email
44
17
  attr_reader :smtp_host
45
18
  attr_reader :smtp_port
46
19
  attr_reader :smtp_username
@@ -50,33 +23,9 @@ module Appwrite
50
23
  attr_reader :pinged_at
51
24
  attr_reader :labels
52
25
  attr_reader :status
53
- attr_reader :auth_email_password
54
- attr_reader :auth_users_auth_magic_url
55
- attr_reader :auth_email_otp
56
- attr_reader :auth_anonymous
57
- attr_reader :auth_invites
58
- attr_reader :auth_jwt
59
- attr_reader :auth_phone
60
- attr_reader :service_status_for_account
61
- attr_reader :service_status_for_avatars
62
- attr_reader :service_status_for_databases
63
- attr_reader :service_status_for_tablesdb
64
- attr_reader :service_status_for_locale
65
- attr_reader :service_status_for_health
66
- attr_reader :service_status_for_project
67
- attr_reader :service_status_for_storage
68
- attr_reader :service_status_for_teams
69
- attr_reader :service_status_for_users
70
- attr_reader :service_status_for_vcs
71
- attr_reader :service_status_for_sites
72
- attr_reader :service_status_for_functions
73
- attr_reader :service_status_for_proxy
74
- attr_reader :service_status_for_graphql
75
- attr_reader :service_status_for_migrations
76
- attr_reader :service_status_for_messaging
77
- attr_reader :protocol_status_for_rest
78
- attr_reader :protocol_status_for_graphql
79
- attr_reader :protocol_status_for_websocket
26
+ attr_reader :auth_methods
27
+ attr_reader :services
28
+ attr_reader :protocols
80
29
  attr_reader :region
81
30
  attr_reader :billing_limits
82
31
  attr_reader :blocks
@@ -87,40 +36,13 @@ module Appwrite
87
36
  created_at:,
88
37
  updated_at:,
89
38
  name:,
90
- description:,
91
39
  team_id:,
92
- logo:,
93
- url:,
94
- legal_name:,
95
- legal_country:,
96
- legal_state:,
97
- legal_city:,
98
- legal_address:,
99
- legal_tax_id:,
100
- auth_duration:,
101
- auth_limit:,
102
- auth_sessions_limit:,
103
- auth_password_history:,
104
- auth_password_dictionary:,
105
- auth_personal_data_check:,
106
- auth_disposable_emails:,
107
- auth_canonical_emails:,
108
- auth_free_emails:,
109
- auth_mock_numbers:,
110
- auth_session_alerts:,
111
- auth_memberships_user_name:,
112
- auth_memberships_user_email:,
113
- auth_memberships_mfa:,
114
- auth_invalidate_sessions:,
115
- o_auth_providers:,
116
- platforms:,
117
- webhooks:,
118
- keys:,
119
40
  dev_keys:,
120
41
  smtp_enabled:,
121
42
  smtp_sender_name:,
122
43
  smtp_sender_email:,
123
- smtp_reply_to:,
44
+ smtp_reply_to_name:,
45
+ smtp_reply_to_email:,
124
46
  smtp_host:,
125
47
  smtp_port:,
126
48
  smtp_username:,
@@ -130,33 +52,9 @@ module Appwrite
130
52
  pinged_at:,
131
53
  labels:,
132
54
  status:,
133
- auth_email_password:,
134
- auth_users_auth_magic_url:,
135
- auth_email_otp:,
136
- auth_anonymous:,
137
- auth_invites:,
138
- auth_jwt:,
139
- auth_phone:,
140
- service_status_for_account:,
141
- service_status_for_avatars:,
142
- service_status_for_databases:,
143
- service_status_for_tablesdb:,
144
- service_status_for_locale:,
145
- service_status_for_health:,
146
- service_status_for_project:,
147
- service_status_for_storage:,
148
- service_status_for_teams:,
149
- service_status_for_users:,
150
- service_status_for_vcs:,
151
- service_status_for_sites:,
152
- service_status_for_functions:,
153
- service_status_for_proxy:,
154
- service_status_for_graphql:,
155
- service_status_for_migrations:,
156
- service_status_for_messaging:,
157
- protocol_status_for_rest:,
158
- protocol_status_for_graphql:,
159
- protocol_status_for_websocket:,
55
+ auth_methods:,
56
+ services:,
57
+ protocols:,
160
58
  region:,
161
59
  billing_limits:,
162
60
  blocks:,
@@ -166,40 +64,13 @@ module Appwrite
166
64
  @created_at = created_at
167
65
  @updated_at = updated_at
168
66
  @name = name
169
- @description = description
170
67
  @team_id = team_id
171
- @logo = logo
172
- @url = url
173
- @legal_name = legal_name
174
- @legal_country = legal_country
175
- @legal_state = legal_state
176
- @legal_city = legal_city
177
- @legal_address = legal_address
178
- @legal_tax_id = legal_tax_id
179
- @auth_duration = auth_duration
180
- @auth_limit = auth_limit
181
- @auth_sessions_limit = auth_sessions_limit
182
- @auth_password_history = auth_password_history
183
- @auth_password_dictionary = auth_password_dictionary
184
- @auth_personal_data_check = auth_personal_data_check
185
- @auth_disposable_emails = auth_disposable_emails
186
- @auth_canonical_emails = auth_canonical_emails
187
- @auth_free_emails = auth_free_emails
188
- @auth_mock_numbers = auth_mock_numbers
189
- @auth_session_alerts = auth_session_alerts
190
- @auth_memberships_user_name = auth_memberships_user_name
191
- @auth_memberships_user_email = auth_memberships_user_email
192
- @auth_memberships_mfa = auth_memberships_mfa
193
- @auth_invalidate_sessions = auth_invalidate_sessions
194
- @o_auth_providers = o_auth_providers
195
- @platforms = platforms
196
- @webhooks = webhooks
197
- @keys = keys
198
68
  @dev_keys = dev_keys
199
69
  @smtp_enabled = smtp_enabled
200
70
  @smtp_sender_name = smtp_sender_name
201
71
  @smtp_sender_email = smtp_sender_email
202
- @smtp_reply_to = smtp_reply_to
72
+ @smtp_reply_to_name = smtp_reply_to_name
73
+ @smtp_reply_to_email = smtp_reply_to_email
203
74
  @smtp_host = smtp_host
204
75
  @smtp_port = smtp_port
205
76
  @smtp_username = smtp_username
@@ -209,33 +80,9 @@ module Appwrite
209
80
  @pinged_at = pinged_at
210
81
  @labels = labels
211
82
  @status = status
212
- @auth_email_password = auth_email_password
213
- @auth_users_auth_magic_url = auth_users_auth_magic_url
214
- @auth_email_otp = auth_email_otp
215
- @auth_anonymous = auth_anonymous
216
- @auth_invites = auth_invites
217
- @auth_jwt = auth_jwt
218
- @auth_phone = auth_phone
219
- @service_status_for_account = service_status_for_account
220
- @service_status_for_avatars = service_status_for_avatars
221
- @service_status_for_databases = service_status_for_databases
222
- @service_status_for_tablesdb = service_status_for_tablesdb
223
- @service_status_for_locale = service_status_for_locale
224
- @service_status_for_health = service_status_for_health
225
- @service_status_for_project = service_status_for_project
226
- @service_status_for_storage = service_status_for_storage
227
- @service_status_for_teams = service_status_for_teams
228
- @service_status_for_users = service_status_for_users
229
- @service_status_for_vcs = service_status_for_vcs
230
- @service_status_for_sites = service_status_for_sites
231
- @service_status_for_functions = service_status_for_functions
232
- @service_status_for_proxy = service_status_for_proxy
233
- @service_status_for_graphql = service_status_for_graphql
234
- @service_status_for_migrations = service_status_for_migrations
235
- @service_status_for_messaging = service_status_for_messaging
236
- @protocol_status_for_rest = protocol_status_for_rest
237
- @protocol_status_for_graphql = protocol_status_for_graphql
238
- @protocol_status_for_websocket = protocol_status_for_websocket
83
+ @auth_methods = auth_methods
84
+ @services = services
85
+ @protocols = protocols
239
86
  @region = region
240
87
  @billing_limits = billing_limits
241
88
  @blocks = blocks
@@ -248,40 +95,13 @@ module Appwrite
248
95
  created_at: map["$createdAt"],
249
96
  updated_at: map["$updatedAt"],
250
97
  name: map["name"],
251
- description: map["description"],
252
98
  team_id: map["teamId"],
253
- logo: map["logo"],
254
- url: map["url"],
255
- legal_name: map["legalName"],
256
- legal_country: map["legalCountry"],
257
- legal_state: map["legalState"],
258
- legal_city: map["legalCity"],
259
- legal_address: map["legalAddress"],
260
- legal_tax_id: map["legalTaxId"],
261
- auth_duration: map["authDuration"],
262
- auth_limit: map["authLimit"],
263
- auth_sessions_limit: map["authSessionsLimit"],
264
- auth_password_history: map["authPasswordHistory"],
265
- auth_password_dictionary: map["authPasswordDictionary"],
266
- auth_personal_data_check: map["authPersonalDataCheck"],
267
- auth_disposable_emails: map["authDisposableEmails"],
268
- auth_canonical_emails: map["authCanonicalEmails"],
269
- auth_free_emails: map["authFreeEmails"],
270
- auth_mock_numbers: map["authMockNumbers"].map { |it| MockNumber.from(map: it) },
271
- auth_session_alerts: map["authSessionAlerts"],
272
- auth_memberships_user_name: map["authMembershipsUserName"],
273
- auth_memberships_user_email: map["authMembershipsUserEmail"],
274
- auth_memberships_mfa: map["authMembershipsMfa"],
275
- auth_invalidate_sessions: map["authInvalidateSessions"],
276
- o_auth_providers: map["oAuthProviders"].map { |it| AuthProvider.from(map: it) },
277
- platforms: map["platforms"],
278
- webhooks: map["webhooks"].map { |it| Webhook.from(map: it) },
279
- keys: map["keys"].map { |it| Key.from(map: it) },
280
99
  dev_keys: map["devKeys"].map { |it| DevKey.from(map: it) },
281
100
  smtp_enabled: map["smtpEnabled"],
282
101
  smtp_sender_name: map["smtpSenderName"],
283
102
  smtp_sender_email: map["smtpSenderEmail"],
284
- smtp_reply_to: map["smtpReplyTo"],
103
+ smtp_reply_to_name: map["smtpReplyToName"],
104
+ smtp_reply_to_email: map["smtpReplyToEmail"],
285
105
  smtp_host: map["smtpHost"],
286
106
  smtp_port: map["smtpPort"],
287
107
  smtp_username: map["smtpUsername"],
@@ -291,33 +111,9 @@ module Appwrite
291
111
  pinged_at: map["pingedAt"],
292
112
  labels: map["labels"],
293
113
  status: map["status"],
294
- auth_email_password: map["authEmailPassword"],
295
- auth_users_auth_magic_url: map["authUsersAuthMagicURL"],
296
- auth_email_otp: map["authEmailOtp"],
297
- auth_anonymous: map["authAnonymous"],
298
- auth_invites: map["authInvites"],
299
- auth_jwt: map["authJWT"],
300
- auth_phone: map["authPhone"],
301
- service_status_for_account: map["serviceStatusForAccount"],
302
- service_status_for_avatars: map["serviceStatusForAvatars"],
303
- service_status_for_databases: map["serviceStatusForDatabases"],
304
- service_status_for_tablesdb: map["serviceStatusForTablesdb"],
305
- service_status_for_locale: map["serviceStatusForLocale"],
306
- service_status_for_health: map["serviceStatusForHealth"],
307
- service_status_for_project: map["serviceStatusForProject"],
308
- service_status_for_storage: map["serviceStatusForStorage"],
309
- service_status_for_teams: map["serviceStatusForTeams"],
310
- service_status_for_users: map["serviceStatusForUsers"],
311
- service_status_for_vcs: map["serviceStatusForVcs"],
312
- service_status_for_sites: map["serviceStatusForSites"],
313
- service_status_for_functions: map["serviceStatusForFunctions"],
314
- service_status_for_proxy: map["serviceStatusForProxy"],
315
- service_status_for_graphql: map["serviceStatusForGraphql"],
316
- service_status_for_migrations: map["serviceStatusForMigrations"],
317
- service_status_for_messaging: map["serviceStatusForMessaging"],
318
- protocol_status_for_rest: map["protocolStatusForRest"],
319
- protocol_status_for_graphql: map["protocolStatusForGraphql"],
320
- protocol_status_for_websocket: map["protocolStatusForWebsocket"],
114
+ auth_methods: map["authMethods"].map { |it| ProjectAuthMethod.from(map: it) },
115
+ services: map["services"].map { |it| ProjectService.from(map: it) },
116
+ protocols: map["protocols"].map { |it| ProjectProtocol.from(map: it) },
321
117
  region: map["region"],
322
118
  billing_limits: BillingLimits.from(map: map["billingLimits"]),
323
119
  blocks: map["blocks"].map { |it| Block.from(map: it) },
@@ -331,40 +127,13 @@ module Appwrite
331
127
  "$createdAt": @created_at,
332
128
  "$updatedAt": @updated_at,
333
129
  "name": @name,
334
- "description": @description,
335
130
  "teamId": @team_id,
336
- "logo": @logo,
337
- "url": @url,
338
- "legalName": @legal_name,
339
- "legalCountry": @legal_country,
340
- "legalState": @legal_state,
341
- "legalCity": @legal_city,
342
- "legalAddress": @legal_address,
343
- "legalTaxId": @legal_tax_id,
344
- "authDuration": @auth_duration,
345
- "authLimit": @auth_limit,
346
- "authSessionsLimit": @auth_sessions_limit,
347
- "authPasswordHistory": @auth_password_history,
348
- "authPasswordDictionary": @auth_password_dictionary,
349
- "authPersonalDataCheck": @auth_personal_data_check,
350
- "authDisposableEmails": @auth_disposable_emails,
351
- "authCanonicalEmails": @auth_canonical_emails,
352
- "authFreeEmails": @auth_free_emails,
353
- "authMockNumbers": @auth_mock_numbers.map { |it| it.to_map },
354
- "authSessionAlerts": @auth_session_alerts,
355
- "authMembershipsUserName": @auth_memberships_user_name,
356
- "authMembershipsUserEmail": @auth_memberships_user_email,
357
- "authMembershipsMfa": @auth_memberships_mfa,
358
- "authInvalidateSessions": @auth_invalidate_sessions,
359
- "oAuthProviders": @o_auth_providers.map { |it| it.to_map },
360
- "platforms": @platforms,
361
- "webhooks": @webhooks.map { |it| it.to_map },
362
- "keys": @keys.map { |it| it.to_map },
363
131
  "devKeys": @dev_keys.map { |it| it.to_map },
364
132
  "smtpEnabled": @smtp_enabled,
365
133
  "smtpSenderName": @smtp_sender_name,
366
134
  "smtpSenderEmail": @smtp_sender_email,
367
- "smtpReplyTo": @smtp_reply_to,
135
+ "smtpReplyToName": @smtp_reply_to_name,
136
+ "smtpReplyToEmail": @smtp_reply_to_email,
368
137
  "smtpHost": @smtp_host,
369
138
  "smtpPort": @smtp_port,
370
139
  "smtpUsername": @smtp_username,
@@ -374,33 +143,9 @@ module Appwrite
374
143
  "pingedAt": @pinged_at,
375
144
  "labels": @labels,
376
145
  "status": @status,
377
- "authEmailPassword": @auth_email_password,
378
- "authUsersAuthMagicURL": @auth_users_auth_magic_url,
379
- "authEmailOtp": @auth_email_otp,
380
- "authAnonymous": @auth_anonymous,
381
- "authInvites": @auth_invites,
382
- "authJWT": @auth_jwt,
383
- "authPhone": @auth_phone,
384
- "serviceStatusForAccount": @service_status_for_account,
385
- "serviceStatusForAvatars": @service_status_for_avatars,
386
- "serviceStatusForDatabases": @service_status_for_databases,
387
- "serviceStatusForTablesdb": @service_status_for_tablesdb,
388
- "serviceStatusForLocale": @service_status_for_locale,
389
- "serviceStatusForHealth": @service_status_for_health,
390
- "serviceStatusForProject": @service_status_for_project,
391
- "serviceStatusForStorage": @service_status_for_storage,
392
- "serviceStatusForTeams": @service_status_for_teams,
393
- "serviceStatusForUsers": @service_status_for_users,
394
- "serviceStatusForVcs": @service_status_for_vcs,
395
- "serviceStatusForSites": @service_status_for_sites,
396
- "serviceStatusForFunctions": @service_status_for_functions,
397
- "serviceStatusForProxy": @service_status_for_proxy,
398
- "serviceStatusForGraphql": @service_status_for_graphql,
399
- "serviceStatusForMigrations": @service_status_for_migrations,
400
- "serviceStatusForMessaging": @service_status_for_messaging,
401
- "protocolStatusForRest": @protocol_status_for_rest,
402
- "protocolStatusForGraphql": @protocol_status_for_graphql,
403
- "protocolStatusForWebsocket": @protocol_status_for_websocket,
146
+ "authMethods": @auth_methods.map { |it| it.to_map },
147
+ "services": @services.map { |it| it.to_map },
148
+ "protocols": @protocols.map { |it| it.to_map },
404
149
  "region": @region,
405
150
  "billingLimits": @billing_limits.to_map,
406
151
  "blocks": @blocks.map { |it| it.to_map },
@@ -0,0 +1,53 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProjectAuthMethod
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = validate_id(id)
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ ProjectAuthMethod.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+
31
+ private
32
+
33
+ def validate_id(id)
34
+ valid_id = [
35
+ Appwrite::Enums::ProjectAuthMethodId::EMAIL-PASSWORD,
36
+ Appwrite::Enums::ProjectAuthMethodId::MAGIC-URL,
37
+ Appwrite::Enums::ProjectAuthMethodId::EMAIL-OTP,
38
+ Appwrite::Enums::ProjectAuthMethodId::ANONYMOUS,
39
+ Appwrite::Enums::ProjectAuthMethodId::INVITES,
40
+ Appwrite::Enums::ProjectAuthMethodId::JWT,
41
+ Appwrite::Enums::ProjectAuthMethodId::PHONE,
42
+ ]
43
+
44
+ unless valid_id.include?(id)
45
+ raise ArgumentError, "Invalid " + id + ". Must be one of: " + valid_id.join(', ')
46
+ end
47
+
48
+ id
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,49 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProjectProtocol
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = validate_id(id)
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ ProjectProtocol.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+
31
+ private
32
+
33
+ def validate_id(id)
34
+ valid_id = [
35
+ Appwrite::Enums::ProjectProtocolId::REST,
36
+ Appwrite::Enums::ProjectProtocolId::GRAPHQL,
37
+ Appwrite::Enums::ProjectProtocolId::WEBSOCKET,
38
+ ]
39
+
40
+ unless valid_id.include?(id)
41
+ raise ArgumentError, "Invalid " + id + ". Must be one of: " + valid_id.join(', ')
42
+ end
43
+
44
+ id
45
+ end
46
+
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,64 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProjectService
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = validate_id(id)
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ ProjectService.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+
31
+ private
32
+
33
+ def validate_id(id)
34
+ valid_id = [
35
+ Appwrite::Enums::ProjectServiceId::ACCOUNT,
36
+ Appwrite::Enums::ProjectServiceId::AVATARS,
37
+ Appwrite::Enums::ProjectServiceId::DATABASES,
38
+ Appwrite::Enums::ProjectServiceId::TABLESDB,
39
+ Appwrite::Enums::ProjectServiceId::LOCALE,
40
+ Appwrite::Enums::ProjectServiceId::HEALTH,
41
+ Appwrite::Enums::ProjectServiceId::PROJECT,
42
+ Appwrite::Enums::ProjectServiceId::STORAGE,
43
+ Appwrite::Enums::ProjectServiceId::TEAMS,
44
+ Appwrite::Enums::ProjectServiceId::USERS,
45
+ Appwrite::Enums::ProjectServiceId::VCS,
46
+ Appwrite::Enums::ProjectServiceId::SITES,
47
+ Appwrite::Enums::ProjectServiceId::FUNCTIONS,
48
+ Appwrite::Enums::ProjectServiceId::PROXY,
49
+ Appwrite::Enums::ProjectServiceId::GRAPHQL,
50
+ Appwrite::Enums::ProjectServiceId::MIGRATIONS,
51
+ Appwrite::Enums::ProjectServiceId::MESSAGING,
52
+ Appwrite::Enums::ProjectServiceId::ADVISOR,
53
+ ]
54
+
55
+ unless valid_id.include?(id)
56
+ raise ArgumentError, "Invalid " + id + ". Must be one of: " + valid_id.join(', ')
57
+ end
58
+
59
+ id
60
+ end
61
+
62
+ end
63
+ end
64
+ end