appwrite 21.1.0 → 23.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +48 -2
  3. data/lib/appwrite/enums/backup_services.rb +3 -0
  4. data/lib/appwrite/enums/build_runtime.rb +2 -0
  5. data/lib/appwrite/enums/database_type.rb +2 -0
  6. data/lib/appwrite/enums/databases_index_type.rb +10 -0
  7. data/lib/appwrite/enums/o_auth_provider.rb +1 -0
  8. data/lib/appwrite/enums/platform_type.rb +11 -0
  9. data/lib/appwrite/enums/protocol_id.rb +9 -0
  10. data/lib/appwrite/enums/runtime.rb +2 -0
  11. data/lib/appwrite/enums/scopes.rb +8 -0
  12. data/lib/appwrite/enums/service_id.rb +23 -0
  13. data/lib/appwrite/enums/{index_type.rb → tables_db_index_type.rb} +1 -1
  14. data/lib/appwrite/enums/template_reference_type.rb +1 -1
  15. data/lib/appwrite/models/auth_provider.rb +47 -0
  16. data/lib/appwrite/models/billing_limits.rb +62 -0
  17. data/lib/appwrite/models/block.rb +47 -0
  18. data/lib/appwrite/models/database.rb +2 -0
  19. data/lib/appwrite/models/dev_key.rb +62 -0
  20. data/lib/appwrite/models/function.rb +15 -5
  21. data/lib/appwrite/models/key.rb +67 -0
  22. data/lib/appwrite/models/key_list.rb +32 -0
  23. data/lib/appwrite/models/log.rb +5 -0
  24. data/lib/appwrite/models/mock_number.rb +32 -0
  25. data/lib/appwrite/models/platform_android.rb +71 -0
  26. data/lib/appwrite/models/platform_apple.rb +71 -0
  27. data/lib/appwrite/models/platform_linux.rb +71 -0
  28. data/lib/appwrite/models/platform_list.rb +32 -0
  29. data/lib/appwrite/models/platform_web.rb +71 -0
  30. data/lib/appwrite/models/platform_windows.rb +71 -0
  31. data/lib/appwrite/models/project.rb +412 -0
  32. data/lib/appwrite/models/site.rb +20 -5
  33. data/lib/appwrite/models/user.rb +13 -3
  34. data/lib/appwrite/models/webhook.rb +87 -0
  35. data/lib/appwrite/models/webhook_list.rb +32 -0
  36. data/lib/appwrite/service.rb +1 -1
  37. data/lib/appwrite/services/account.rb +47 -2
  38. data/lib/appwrite/services/activities.rb +3 -1
  39. data/lib/appwrite/services/avatars.rb +9 -1
  40. data/lib/appwrite/services/backups.rb +13 -1
  41. data/lib/appwrite/services/databases.rb +133 -7
  42. data/lib/appwrite/services/functions.rb +41 -7
  43. data/lib/appwrite/services/graphql.rb +5 -3
  44. data/lib/appwrite/services/health.rb +22 -117
  45. data/lib/appwrite/services/locale.rb +9 -1
  46. data/lib/appwrite/services/messaging.rb +49 -1
  47. data/lib/appwrite/services/project.rb +1011 -0
  48. data/lib/appwrite/services/sites.rb +44 -7
  49. data/lib/appwrite/services/storage.rb +14 -1
  50. data/lib/appwrite/services/tables_db.rb +133 -7
  51. data/lib/appwrite/services/teams.rb +14 -1
  52. data/lib/appwrite/services/tokens.rb +6 -1
  53. data/lib/appwrite/services/users.rb +85 -2
  54. data/lib/appwrite/services/webhooks.rb +249 -0
  55. data/lib/appwrite.rb +23 -1
  56. metadata +25 -3
@@ -0,0 +1,412 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Project
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :description
11
+ 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
+ attr_reader :dev_keys
40
+ attr_reader :smtp_enabled
41
+ attr_reader :smtp_sender_name
42
+ attr_reader :smtp_sender_email
43
+ attr_reader :smtp_reply_to
44
+ attr_reader :smtp_host
45
+ attr_reader :smtp_port
46
+ attr_reader :smtp_username
47
+ attr_reader :smtp_password
48
+ attr_reader :smtp_secure
49
+ attr_reader :ping_count
50
+ attr_reader :pinged_at
51
+ attr_reader :labels
52
+ 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
80
+ attr_reader :region
81
+ attr_reader :billing_limits
82
+ attr_reader :blocks
83
+ attr_reader :console_accessed_at
84
+
85
+ def initialize(
86
+ id:,
87
+ created_at:,
88
+ updated_at:,
89
+ name:,
90
+ description:,
91
+ 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
+ dev_keys:,
120
+ smtp_enabled:,
121
+ smtp_sender_name:,
122
+ smtp_sender_email:,
123
+ smtp_reply_to:,
124
+ smtp_host:,
125
+ smtp_port:,
126
+ smtp_username:,
127
+ smtp_password:,
128
+ smtp_secure:,
129
+ ping_count:,
130
+ pinged_at:,
131
+ labels:,
132
+ 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:,
160
+ region:,
161
+ billing_limits:,
162
+ blocks:,
163
+ console_accessed_at:
164
+ )
165
+ @id = id
166
+ @created_at = created_at
167
+ @updated_at = updated_at
168
+ @name = name
169
+ @description = description
170
+ @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
+ @dev_keys = dev_keys
199
+ @smtp_enabled = smtp_enabled
200
+ @smtp_sender_name = smtp_sender_name
201
+ @smtp_sender_email = smtp_sender_email
202
+ @smtp_reply_to = smtp_reply_to
203
+ @smtp_host = smtp_host
204
+ @smtp_port = smtp_port
205
+ @smtp_username = smtp_username
206
+ @smtp_password = smtp_password
207
+ @smtp_secure = smtp_secure
208
+ @ping_count = ping_count
209
+ @pinged_at = pinged_at
210
+ @labels = labels
211
+ @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
239
+ @region = region
240
+ @billing_limits = billing_limits
241
+ @blocks = blocks
242
+ @console_accessed_at = console_accessed_at
243
+ end
244
+
245
+ def self.from(map:)
246
+ Project.new(
247
+ id: map["$id"],
248
+ created_at: map["$createdAt"],
249
+ updated_at: map["$updatedAt"],
250
+ name: map["name"],
251
+ description: map["description"],
252
+ 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
+ dev_keys: map["devKeys"].map { |it| DevKey.from(map: it) },
281
+ smtp_enabled: map["smtpEnabled"],
282
+ smtp_sender_name: map["smtpSenderName"],
283
+ smtp_sender_email: map["smtpSenderEmail"],
284
+ smtp_reply_to: map["smtpReplyTo"],
285
+ smtp_host: map["smtpHost"],
286
+ smtp_port: map["smtpPort"],
287
+ smtp_username: map["smtpUsername"],
288
+ smtp_password: map["smtpPassword"],
289
+ smtp_secure: map["smtpSecure"],
290
+ ping_count: map["pingCount"],
291
+ pinged_at: map["pingedAt"],
292
+ labels: map["labels"],
293
+ 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"],
321
+ region: map["region"],
322
+ billing_limits: BillingLimits.from(map: map["billingLimits"]),
323
+ blocks: map["blocks"].map { |it| Block.from(map: it) },
324
+ console_accessed_at: map["consoleAccessedAt"]
325
+ )
326
+ end
327
+
328
+ def to_map
329
+ {
330
+ "$id": @id,
331
+ "$createdAt": @created_at,
332
+ "$updatedAt": @updated_at,
333
+ "name": @name,
334
+ "description": @description,
335
+ "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
+ "devKeys": @dev_keys.map { |it| it.to_map },
364
+ "smtpEnabled": @smtp_enabled,
365
+ "smtpSenderName": @smtp_sender_name,
366
+ "smtpSenderEmail": @smtp_sender_email,
367
+ "smtpReplyTo": @smtp_reply_to,
368
+ "smtpHost": @smtp_host,
369
+ "smtpPort": @smtp_port,
370
+ "smtpUsername": @smtp_username,
371
+ "smtpPassword": @smtp_password,
372
+ "smtpSecure": @smtp_secure,
373
+ "pingCount": @ping_count,
374
+ "pingedAt": @pinged_at,
375
+ "labels": @labels,
376
+ "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,
404
+ "region": @region,
405
+ "billingLimits": @billing_limits.to_map,
406
+ "blocks": @blocks.map { |it| it.to_map },
407
+ "consoleAccessedAt": @console_accessed_at
408
+ }
409
+ end
410
+ end
411
+ end
412
+ end
@@ -11,6 +11,7 @@ module Appwrite
11
11
  attr_reader :live
12
12
  attr_reader :logging
13
13
  attr_reader :framework
14
+ attr_reader :deployment_retention
14
15
  attr_reader :deployment_id
15
16
  attr_reader :deployment_created_at
16
17
  attr_reader :deployment_screenshot_light
@@ -22,13 +23,15 @@ module Appwrite
22
23
  attr_reader :timeout
23
24
  attr_reader :install_command
24
25
  attr_reader :build_command
26
+ attr_reader :start_command
25
27
  attr_reader :output_directory
26
28
  attr_reader :installation_id
27
29
  attr_reader :provider_repository_id
28
30
  attr_reader :provider_branch
29
31
  attr_reader :provider_root_directory
30
32
  attr_reader :provider_silent_mode
31
- attr_reader :specification
33
+ attr_reader :build_specification
34
+ attr_reader :runtime_specification
32
35
  attr_reader :build_runtime
33
36
  attr_reader :adapter
34
37
  attr_reader :fallback_file
@@ -42,6 +45,7 @@ module Appwrite
42
45
  live:,
43
46
  logging:,
44
47
  framework:,
48
+ deployment_retention:,
45
49
  deployment_id:,
46
50
  deployment_created_at:,
47
51
  deployment_screenshot_light:,
@@ -53,13 +57,15 @@ module Appwrite
53
57
  timeout:,
54
58
  install_command:,
55
59
  build_command:,
60
+ start_command:,
56
61
  output_directory:,
57
62
  installation_id:,
58
63
  provider_repository_id:,
59
64
  provider_branch:,
60
65
  provider_root_directory:,
61
66
  provider_silent_mode:,
62
- specification:,
67
+ build_specification:,
68
+ runtime_specification:,
63
69
  build_runtime:,
64
70
  adapter:,
65
71
  fallback_file:
@@ -72,6 +78,7 @@ module Appwrite
72
78
  @live = live
73
79
  @logging = logging
74
80
  @framework = framework
81
+ @deployment_retention = deployment_retention
75
82
  @deployment_id = deployment_id
76
83
  @deployment_created_at = deployment_created_at
77
84
  @deployment_screenshot_light = deployment_screenshot_light
@@ -83,13 +90,15 @@ module Appwrite
83
90
  @timeout = timeout
84
91
  @install_command = install_command
85
92
  @build_command = build_command
93
+ @start_command = start_command
86
94
  @output_directory = output_directory
87
95
  @installation_id = installation_id
88
96
  @provider_repository_id = provider_repository_id
89
97
  @provider_branch = provider_branch
90
98
  @provider_root_directory = provider_root_directory
91
99
  @provider_silent_mode = provider_silent_mode
92
- @specification = specification
100
+ @build_specification = build_specification
101
+ @runtime_specification = runtime_specification
93
102
  @build_runtime = build_runtime
94
103
  @adapter = adapter
95
104
  @fallback_file = fallback_file
@@ -105,6 +114,7 @@ module Appwrite
105
114
  live: map["live"],
106
115
  logging: map["logging"],
107
116
  framework: map["framework"],
117
+ deployment_retention: map["deploymentRetention"],
108
118
  deployment_id: map["deploymentId"],
109
119
  deployment_created_at: map["deploymentCreatedAt"],
110
120
  deployment_screenshot_light: map["deploymentScreenshotLight"],
@@ -116,13 +126,15 @@ module Appwrite
116
126
  timeout: map["timeout"],
117
127
  install_command: map["installCommand"],
118
128
  build_command: map["buildCommand"],
129
+ start_command: map["startCommand"],
119
130
  output_directory: map["outputDirectory"],
120
131
  installation_id: map["installationId"],
121
132
  provider_repository_id: map["providerRepositoryId"],
122
133
  provider_branch: map["providerBranch"],
123
134
  provider_root_directory: map["providerRootDirectory"],
124
135
  provider_silent_mode: map["providerSilentMode"],
125
- specification: map["specification"],
136
+ build_specification: map["buildSpecification"],
137
+ runtime_specification: map["runtimeSpecification"],
126
138
  build_runtime: map["buildRuntime"],
127
139
  adapter: map["adapter"],
128
140
  fallback_file: map["fallbackFile"]
@@ -139,6 +151,7 @@ module Appwrite
139
151
  "live": @live,
140
152
  "logging": @logging,
141
153
  "framework": @framework,
154
+ "deploymentRetention": @deployment_retention,
142
155
  "deploymentId": @deployment_id,
143
156
  "deploymentCreatedAt": @deployment_created_at,
144
157
  "deploymentScreenshotLight": @deployment_screenshot_light,
@@ -150,13 +163,15 @@ module Appwrite
150
163
  "timeout": @timeout,
151
164
  "installCommand": @install_command,
152
165
  "buildCommand": @build_command,
166
+ "startCommand": @start_command,
153
167
  "outputDirectory": @output_directory,
154
168
  "installationId": @installation_id,
155
169
  "providerRepositoryId": @provider_repository_id,
156
170
  "providerBranch": @provider_branch,
157
171
  "providerRootDirectory": @provider_root_directory,
158
172
  "providerSilentMode": @provider_silent_mode,
159
- "specification": @specification,
173
+ "buildSpecification": @build_specification,
174
+ "runtimeSpecification": @runtime_specification,
160
175
  "buildRuntime": @build_runtime,
161
176
  "adapter": @adapter,
162
177
  "fallbackFile": @fallback_file
@@ -22,6 +22,8 @@ module Appwrite
22
22
  attr_reader :prefs
23
23
  attr_reader :targets
24
24
  attr_reader :accessed_at
25
+ attr_reader :impersonator
26
+ attr_reader :impersonator_user_id
25
27
 
26
28
  def initialize(
27
29
  id:,
@@ -42,7 +44,9 @@ module Appwrite
42
44
  mfa:,
43
45
  prefs:,
44
46
  targets:,
45
- accessed_at:
47
+ accessed_at:,
48
+ impersonator: ,
49
+ impersonator_user_id:
46
50
  )
47
51
  @id = id
48
52
  @created_at = created_at
@@ -63,6 +67,8 @@ module Appwrite
63
67
  @prefs = prefs
64
68
  @targets = targets
65
69
  @accessed_at = accessed_at
70
+ @impersonator = impersonator
71
+ @impersonator_user_id = impersonator_user_id
66
72
  end
67
73
 
68
74
  def self.from(map:)
@@ -85,7 +91,9 @@ module Appwrite
85
91
  mfa: map["mfa"],
86
92
  prefs: Preferences.from(map: map["prefs"]),
87
93
  targets: map["targets"].map { |it| Target.from(map: it) },
88
- accessed_at: map["accessedAt"]
94
+ accessed_at: map["accessedAt"],
95
+ impersonator: map["impersonator"],
96
+ impersonator_user_id: map["impersonatorUserId"]
89
97
  )
90
98
  end
91
99
 
@@ -109,7 +117,9 @@ module Appwrite
109
117
  "mfa": @mfa,
110
118
  "prefs": @prefs.to_map,
111
119
  "targets": @targets.map { |it| it.to_map },
112
- "accessedAt": @accessed_at
120
+ "accessedAt": @accessed_at,
121
+ "impersonator": @impersonator,
122
+ "impersonatorUserId": @impersonator_user_id
113
123
  }
114
124
  end
115
125
  end
@@ -0,0 +1,87 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Webhook
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :url
11
+ attr_reader :events
12
+ attr_reader :tls
13
+ attr_reader :auth_username
14
+ attr_reader :auth_password
15
+ attr_reader :secret
16
+ attr_reader :enabled
17
+ attr_reader :logs
18
+ attr_reader :attempts
19
+
20
+ def initialize(
21
+ id:,
22
+ created_at:,
23
+ updated_at:,
24
+ name:,
25
+ url:,
26
+ events:,
27
+ tls:,
28
+ auth_username:,
29
+ auth_password:,
30
+ secret:,
31
+ enabled:,
32
+ logs:,
33
+ attempts:
34
+ )
35
+ @id = id
36
+ @created_at = created_at
37
+ @updated_at = updated_at
38
+ @name = name
39
+ @url = url
40
+ @events = events
41
+ @tls = tls
42
+ @auth_username = auth_username
43
+ @auth_password = auth_password
44
+ @secret = secret
45
+ @enabled = enabled
46
+ @logs = logs
47
+ @attempts = attempts
48
+ end
49
+
50
+ def self.from(map:)
51
+ Webhook.new(
52
+ id: map["$id"],
53
+ created_at: map["$createdAt"],
54
+ updated_at: map["$updatedAt"],
55
+ name: map["name"],
56
+ url: map["url"],
57
+ events: map["events"],
58
+ tls: map["tls"],
59
+ auth_username: map["authUsername"],
60
+ auth_password: map["authPassword"],
61
+ secret: map["secret"],
62
+ enabled: map["enabled"],
63
+ logs: map["logs"],
64
+ attempts: map["attempts"]
65
+ )
66
+ end
67
+
68
+ def to_map
69
+ {
70
+ "$id": @id,
71
+ "$createdAt": @created_at,
72
+ "$updatedAt": @updated_at,
73
+ "name": @name,
74
+ "url": @url,
75
+ "events": @events,
76
+ "tls": @tls,
77
+ "authUsername": @auth_username,
78
+ "authPassword": @auth_password,
79
+ "secret": @secret,
80
+ "enabled": @enabled,
81
+ "logs": @logs,
82
+ "attempts": @attempts
83
+ }
84
+ end
85
+ end
86
+ end
87
+ end