appwrite 22.0.0 → 23.1.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +35 -2
  3. data/lib/appwrite/enums/auth_method.rb +13 -0
  4. data/lib/appwrite/enums/build_runtime.rb +3 -0
  5. data/lib/appwrite/enums/email_template_locale.rb +137 -0
  6. data/lib/appwrite/enums/email_template_type.rb +13 -0
  7. data/lib/appwrite/enums/o_auth_provider.rb +6 -0
  8. data/lib/appwrite/enums/platform_type.rb +11 -0
  9. data/lib/appwrite/enums/project_policy.rb +15 -0
  10. data/lib/appwrite/enums/protocol_id.rb +9 -0
  11. data/lib/appwrite/enums/proxy_resource_type.rb +8 -0
  12. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +8 -0
  13. data/lib/appwrite/enums/proxy_rule_status.rb +9 -0
  14. data/lib/appwrite/enums/runtime.rb +3 -0
  15. data/lib/appwrite/enums/scopes.rb +44 -27
  16. data/lib/appwrite/enums/secure.rb +8 -0
  17. data/lib/appwrite/enums/service_id.rb +23 -0
  18. data/lib/appwrite/enums/status_code.rb +10 -0
  19. data/lib/appwrite/models/attribute_bigint.rb +96 -0
  20. data/lib/appwrite/models/auth_provider.rb +47 -0
  21. data/lib/appwrite/models/billing_limits.rb +62 -0
  22. data/lib/appwrite/models/block.rb +72 -0
  23. data/lib/appwrite/models/column_bigint.rb +96 -0
  24. data/lib/appwrite/models/dev_key.rb +62 -0
  25. data/lib/appwrite/models/email_template.rb +62 -0
  26. data/lib/appwrite/models/email_template_list.rb +32 -0
  27. data/lib/appwrite/models/ephemeral_key.rb +67 -0
  28. data/lib/appwrite/models/key.rb +67 -0
  29. data/lib/appwrite/models/key_list.rb +32 -0
  30. data/lib/appwrite/models/log.rb +5 -0
  31. data/lib/appwrite/models/membership.rb +5 -0
  32. data/lib/appwrite/models/mock_number.rb +42 -0
  33. data/lib/appwrite/models/mock_number_list.rb +32 -0
  34. data/lib/appwrite/models/o_auth2_amazon.rb +42 -0
  35. data/lib/appwrite/models/o_auth2_apple.rb +52 -0
  36. data/lib/appwrite/models/o_auth2_auth0.rb +47 -0
  37. data/lib/appwrite/models/o_auth2_authentik.rb +47 -0
  38. data/lib/appwrite/models/o_auth2_autodesk.rb +42 -0
  39. data/lib/appwrite/models/o_auth2_bitbucket.rb +42 -0
  40. data/lib/appwrite/models/o_auth2_bitly.rb +42 -0
  41. data/lib/appwrite/models/o_auth2_box.rb +42 -0
  42. data/lib/appwrite/models/o_auth2_dailymotion.rb +42 -0
  43. data/lib/appwrite/models/o_auth2_discord.rb +42 -0
  44. data/lib/appwrite/models/o_auth2_disqus.rb +42 -0
  45. data/lib/appwrite/models/o_auth2_dropbox.rb +42 -0
  46. data/lib/appwrite/models/o_auth2_etsy.rb +42 -0
  47. data/lib/appwrite/models/o_auth2_facebook.rb +42 -0
  48. data/lib/appwrite/models/o_auth2_figma.rb +42 -0
  49. data/lib/appwrite/models/o_auth2_fusion_auth.rb +47 -0
  50. data/lib/appwrite/models/o_auth2_github.rb +42 -0
  51. data/lib/appwrite/models/o_auth2_gitlab.rb +47 -0
  52. data/lib/appwrite/models/o_auth2_google.rb +42 -0
  53. data/lib/appwrite/models/o_auth2_keycloak.rb +52 -0
  54. data/lib/appwrite/models/o_auth2_kick.rb +42 -0
  55. data/lib/appwrite/models/o_auth2_linkedin.rb +42 -0
  56. data/lib/appwrite/models/o_auth2_microsoft.rb +47 -0
  57. data/lib/appwrite/models/o_auth2_notion.rb +42 -0
  58. data/lib/appwrite/models/o_auth2_oidc.rb +62 -0
  59. data/lib/appwrite/models/o_auth2_okta.rb +52 -0
  60. data/lib/appwrite/models/o_auth2_paypal.rb +42 -0
  61. data/lib/appwrite/models/o_auth2_podio.rb +42 -0
  62. data/lib/appwrite/models/o_auth2_provider_list.rb +32 -0
  63. data/lib/appwrite/models/o_auth2_salesforce.rb +42 -0
  64. data/lib/appwrite/models/o_auth2_slack.rb +42 -0
  65. data/lib/appwrite/models/o_auth2_spotify.rb +42 -0
  66. data/lib/appwrite/models/o_auth2_stripe.rb +42 -0
  67. data/lib/appwrite/models/o_auth2_tradeshift.rb +42 -0
  68. data/lib/appwrite/models/o_auth2_twitch.rb +42 -0
  69. data/lib/appwrite/models/o_auth2_word_press.rb +42 -0
  70. data/lib/appwrite/models/o_auth2_x.rb +42 -0
  71. data/lib/appwrite/models/o_auth2_yahoo.rb +42 -0
  72. data/lib/appwrite/models/o_auth2_yandex.rb +42 -0
  73. data/lib/appwrite/models/o_auth2_zoho.rb +42 -0
  74. data/lib/appwrite/models/o_auth2_zoom.rb +42 -0
  75. data/lib/appwrite/models/platform_android.rb +71 -0
  76. data/lib/appwrite/models/platform_apple.rb +71 -0
  77. data/lib/appwrite/models/platform_linux.rb +71 -0
  78. data/lib/appwrite/models/platform_list.rb +32 -0
  79. data/lib/appwrite/models/platform_web.rb +71 -0
  80. data/lib/appwrite/models/platform_windows.rb +71 -0
  81. data/lib/appwrite/models/policy_list.rb +32 -0
  82. data/lib/appwrite/models/policy_membership_privacy.rb +52 -0
  83. data/lib/appwrite/models/policy_password_dictionary.rb +32 -0
  84. data/lib/appwrite/models/policy_password_history.rb +32 -0
  85. data/lib/appwrite/models/policy_password_personal_data.rb +32 -0
  86. data/lib/appwrite/models/policy_session_alert.rb +32 -0
  87. data/lib/appwrite/models/policy_session_duration.rb +32 -0
  88. data/lib/appwrite/models/policy_session_invalidation.rb +32 -0
  89. data/lib/appwrite/models/policy_session_limit.rb +32 -0
  90. data/lib/appwrite/models/policy_user_limit.rb +32 -0
  91. data/lib/appwrite/models/project.rb +427 -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/webhook.rb +20 -20
  95. data/lib/appwrite/service.rb +1 -1
  96. data/lib/appwrite/services/account.rb +47 -2
  97. data/lib/appwrite/services/activities.rb +3 -1
  98. data/lib/appwrite/services/avatars.rb +9 -1
  99. data/lib/appwrite/services/backups.rb +13 -1
  100. data/lib/appwrite/services/databases.rb +258 -6
  101. data/lib/appwrite/services/functions.rb +40 -8
  102. data/lib/appwrite/services/graphql.rb +5 -3
  103. data/lib/appwrite/services/health.rb +26 -1
  104. data/lib/appwrite/services/locale.rb +9 -1
  105. data/lib/appwrite/services/messaging.rb +49 -1
  106. data/lib/appwrite/services/project.rb +3251 -5
  107. data/lib/appwrite/services/proxy.rb +303 -0
  108. data/lib/appwrite/services/sites.rb +39 -8
  109. data/lib/appwrite/services/storage.rb +14 -1
  110. data/lib/appwrite/services/tables_db.rb +252 -6
  111. data/lib/appwrite/services/teams.rb +14 -1
  112. data/lib/appwrite/services/tokens.rb +6 -1
  113. data/lib/appwrite/services/users.rb +44 -1
  114. data/lib/appwrite/services/webhooks.rb +31 -21
  115. data/lib/appwrite.rb +86 -0
  116. metadata +88 -2
@@ -0,0 +1,427 @@
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_memberships_user_id
35
+ attr_reader :auth_memberships_user_phone
36
+ attr_reader :auth_invalidate_sessions
37
+ attr_reader :o_auth_providers
38
+ attr_reader :platforms
39
+ attr_reader :webhooks
40
+ attr_reader :keys
41
+ attr_reader :dev_keys
42
+ attr_reader :smtp_enabled
43
+ attr_reader :smtp_sender_name
44
+ attr_reader :smtp_sender_email
45
+ attr_reader :smtp_reply_to_name
46
+ attr_reader :smtp_reply_to_email
47
+ attr_reader :smtp_host
48
+ attr_reader :smtp_port
49
+ attr_reader :smtp_username
50
+ attr_reader :smtp_password
51
+ attr_reader :smtp_secure
52
+ attr_reader :ping_count
53
+ attr_reader :pinged_at
54
+ attr_reader :labels
55
+ attr_reader :status
56
+ attr_reader :auth_email_password
57
+ attr_reader :auth_users_auth_magic_url
58
+ attr_reader :auth_email_otp
59
+ attr_reader :auth_anonymous
60
+ attr_reader :auth_invites
61
+ attr_reader :auth_jwt
62
+ attr_reader :auth_phone
63
+ attr_reader :service_status_for_account
64
+ attr_reader :service_status_for_avatars
65
+ attr_reader :service_status_for_databases
66
+ attr_reader :service_status_for_tablesdb
67
+ attr_reader :service_status_for_locale
68
+ attr_reader :service_status_for_health
69
+ attr_reader :service_status_for_project
70
+ attr_reader :service_status_for_storage
71
+ attr_reader :service_status_for_teams
72
+ attr_reader :service_status_for_users
73
+ attr_reader :service_status_for_vcs
74
+ attr_reader :service_status_for_sites
75
+ attr_reader :service_status_for_functions
76
+ attr_reader :service_status_for_proxy
77
+ attr_reader :service_status_for_graphql
78
+ attr_reader :service_status_for_migrations
79
+ attr_reader :service_status_for_messaging
80
+ attr_reader :protocol_status_for_rest
81
+ attr_reader :protocol_status_for_graphql
82
+ attr_reader :protocol_status_for_websocket
83
+ attr_reader :region
84
+ attr_reader :billing_limits
85
+ attr_reader :blocks
86
+ attr_reader :console_accessed_at
87
+
88
+ def initialize(
89
+ id:,
90
+ created_at:,
91
+ updated_at:,
92
+ name:,
93
+ description:,
94
+ team_id:,
95
+ logo:,
96
+ url:,
97
+ legal_name:,
98
+ legal_country:,
99
+ legal_state:,
100
+ legal_city:,
101
+ legal_address:,
102
+ legal_tax_id:,
103
+ auth_duration:,
104
+ auth_limit:,
105
+ auth_sessions_limit:,
106
+ auth_password_history:,
107
+ auth_password_dictionary:,
108
+ auth_personal_data_check:,
109
+ auth_disposable_emails:,
110
+ auth_canonical_emails:,
111
+ auth_free_emails:,
112
+ auth_mock_numbers:,
113
+ auth_session_alerts:,
114
+ auth_memberships_user_name:,
115
+ auth_memberships_user_email:,
116
+ auth_memberships_mfa:,
117
+ auth_memberships_user_id:,
118
+ auth_memberships_user_phone:,
119
+ auth_invalidate_sessions:,
120
+ o_auth_providers:,
121
+ platforms:,
122
+ webhooks:,
123
+ keys:,
124
+ dev_keys:,
125
+ smtp_enabled:,
126
+ smtp_sender_name:,
127
+ smtp_sender_email:,
128
+ smtp_reply_to_name:,
129
+ smtp_reply_to_email:,
130
+ smtp_host:,
131
+ smtp_port:,
132
+ smtp_username:,
133
+ smtp_password:,
134
+ smtp_secure:,
135
+ ping_count:,
136
+ pinged_at:,
137
+ labels:,
138
+ status:,
139
+ auth_email_password:,
140
+ auth_users_auth_magic_url:,
141
+ auth_email_otp:,
142
+ auth_anonymous:,
143
+ auth_invites:,
144
+ auth_jwt:,
145
+ auth_phone:,
146
+ service_status_for_account:,
147
+ service_status_for_avatars:,
148
+ service_status_for_databases:,
149
+ service_status_for_tablesdb:,
150
+ service_status_for_locale:,
151
+ service_status_for_health:,
152
+ service_status_for_project:,
153
+ service_status_for_storage:,
154
+ service_status_for_teams:,
155
+ service_status_for_users:,
156
+ service_status_for_vcs:,
157
+ service_status_for_sites:,
158
+ service_status_for_functions:,
159
+ service_status_for_proxy:,
160
+ service_status_for_graphql:,
161
+ service_status_for_migrations:,
162
+ service_status_for_messaging:,
163
+ protocol_status_for_rest:,
164
+ protocol_status_for_graphql:,
165
+ protocol_status_for_websocket:,
166
+ region:,
167
+ billing_limits:,
168
+ blocks:,
169
+ console_accessed_at:
170
+ )
171
+ @id = id
172
+ @created_at = created_at
173
+ @updated_at = updated_at
174
+ @name = name
175
+ @description = description
176
+ @team_id = team_id
177
+ @logo = logo
178
+ @url = url
179
+ @legal_name = legal_name
180
+ @legal_country = legal_country
181
+ @legal_state = legal_state
182
+ @legal_city = legal_city
183
+ @legal_address = legal_address
184
+ @legal_tax_id = legal_tax_id
185
+ @auth_duration = auth_duration
186
+ @auth_limit = auth_limit
187
+ @auth_sessions_limit = auth_sessions_limit
188
+ @auth_password_history = auth_password_history
189
+ @auth_password_dictionary = auth_password_dictionary
190
+ @auth_personal_data_check = auth_personal_data_check
191
+ @auth_disposable_emails = auth_disposable_emails
192
+ @auth_canonical_emails = auth_canonical_emails
193
+ @auth_free_emails = auth_free_emails
194
+ @auth_mock_numbers = auth_mock_numbers
195
+ @auth_session_alerts = auth_session_alerts
196
+ @auth_memberships_user_name = auth_memberships_user_name
197
+ @auth_memberships_user_email = auth_memberships_user_email
198
+ @auth_memberships_mfa = auth_memberships_mfa
199
+ @auth_memberships_user_id = auth_memberships_user_id
200
+ @auth_memberships_user_phone = auth_memberships_user_phone
201
+ @auth_invalidate_sessions = auth_invalidate_sessions
202
+ @o_auth_providers = o_auth_providers
203
+ @platforms = platforms
204
+ @webhooks = webhooks
205
+ @keys = keys
206
+ @dev_keys = dev_keys
207
+ @smtp_enabled = smtp_enabled
208
+ @smtp_sender_name = smtp_sender_name
209
+ @smtp_sender_email = smtp_sender_email
210
+ @smtp_reply_to_name = smtp_reply_to_name
211
+ @smtp_reply_to_email = smtp_reply_to_email
212
+ @smtp_host = smtp_host
213
+ @smtp_port = smtp_port
214
+ @smtp_username = smtp_username
215
+ @smtp_password = smtp_password
216
+ @smtp_secure = smtp_secure
217
+ @ping_count = ping_count
218
+ @pinged_at = pinged_at
219
+ @labels = labels
220
+ @status = status
221
+ @auth_email_password = auth_email_password
222
+ @auth_users_auth_magic_url = auth_users_auth_magic_url
223
+ @auth_email_otp = auth_email_otp
224
+ @auth_anonymous = auth_anonymous
225
+ @auth_invites = auth_invites
226
+ @auth_jwt = auth_jwt
227
+ @auth_phone = auth_phone
228
+ @service_status_for_account = service_status_for_account
229
+ @service_status_for_avatars = service_status_for_avatars
230
+ @service_status_for_databases = service_status_for_databases
231
+ @service_status_for_tablesdb = service_status_for_tablesdb
232
+ @service_status_for_locale = service_status_for_locale
233
+ @service_status_for_health = service_status_for_health
234
+ @service_status_for_project = service_status_for_project
235
+ @service_status_for_storage = service_status_for_storage
236
+ @service_status_for_teams = service_status_for_teams
237
+ @service_status_for_users = service_status_for_users
238
+ @service_status_for_vcs = service_status_for_vcs
239
+ @service_status_for_sites = service_status_for_sites
240
+ @service_status_for_functions = service_status_for_functions
241
+ @service_status_for_proxy = service_status_for_proxy
242
+ @service_status_for_graphql = service_status_for_graphql
243
+ @service_status_for_migrations = service_status_for_migrations
244
+ @service_status_for_messaging = service_status_for_messaging
245
+ @protocol_status_for_rest = protocol_status_for_rest
246
+ @protocol_status_for_graphql = protocol_status_for_graphql
247
+ @protocol_status_for_websocket = protocol_status_for_websocket
248
+ @region = region
249
+ @billing_limits = billing_limits
250
+ @blocks = blocks
251
+ @console_accessed_at = console_accessed_at
252
+ end
253
+
254
+ def self.from(map:)
255
+ Project.new(
256
+ id: map["$id"],
257
+ created_at: map["$createdAt"],
258
+ updated_at: map["$updatedAt"],
259
+ name: map["name"],
260
+ description: map["description"],
261
+ team_id: map["teamId"],
262
+ logo: map["logo"],
263
+ url: map["url"],
264
+ legal_name: map["legalName"],
265
+ legal_country: map["legalCountry"],
266
+ legal_state: map["legalState"],
267
+ legal_city: map["legalCity"],
268
+ legal_address: map["legalAddress"],
269
+ legal_tax_id: map["legalTaxId"],
270
+ auth_duration: map["authDuration"],
271
+ auth_limit: map["authLimit"],
272
+ auth_sessions_limit: map["authSessionsLimit"],
273
+ auth_password_history: map["authPasswordHistory"],
274
+ auth_password_dictionary: map["authPasswordDictionary"],
275
+ auth_personal_data_check: map["authPersonalDataCheck"],
276
+ auth_disposable_emails: map["authDisposableEmails"],
277
+ auth_canonical_emails: map["authCanonicalEmails"],
278
+ auth_free_emails: map["authFreeEmails"],
279
+ auth_mock_numbers: map["authMockNumbers"].map { |it| MockNumber.from(map: it) },
280
+ auth_session_alerts: map["authSessionAlerts"],
281
+ auth_memberships_user_name: map["authMembershipsUserName"],
282
+ auth_memberships_user_email: map["authMembershipsUserEmail"],
283
+ auth_memberships_mfa: map["authMembershipsMfa"],
284
+ auth_memberships_user_id: map["authMembershipsUserId"],
285
+ auth_memberships_user_phone: map["authMembershipsUserPhone"],
286
+ auth_invalidate_sessions: map["authInvalidateSessions"],
287
+ o_auth_providers: map["oAuthProviders"].map { |it| AuthProvider.from(map: it) },
288
+ platforms: map["platforms"],
289
+ webhooks: map["webhooks"].map { |it| Webhook.from(map: it) },
290
+ keys: map["keys"].map { |it| Key.from(map: it) },
291
+ dev_keys: map["devKeys"].map { |it| DevKey.from(map: it) },
292
+ smtp_enabled: map["smtpEnabled"],
293
+ smtp_sender_name: map["smtpSenderName"],
294
+ smtp_sender_email: map["smtpSenderEmail"],
295
+ smtp_reply_to_name: map["smtpReplyToName"],
296
+ smtp_reply_to_email: map["smtpReplyToEmail"],
297
+ smtp_host: map["smtpHost"],
298
+ smtp_port: map["smtpPort"],
299
+ smtp_username: map["smtpUsername"],
300
+ smtp_password: map["smtpPassword"],
301
+ smtp_secure: map["smtpSecure"],
302
+ ping_count: map["pingCount"],
303
+ pinged_at: map["pingedAt"],
304
+ labels: map["labels"],
305
+ status: map["status"],
306
+ auth_email_password: map["authEmailPassword"],
307
+ auth_users_auth_magic_url: map["authUsersAuthMagicURL"],
308
+ auth_email_otp: map["authEmailOtp"],
309
+ auth_anonymous: map["authAnonymous"],
310
+ auth_invites: map["authInvites"],
311
+ auth_jwt: map["authJWT"],
312
+ auth_phone: map["authPhone"],
313
+ service_status_for_account: map["serviceStatusForAccount"],
314
+ service_status_for_avatars: map["serviceStatusForAvatars"],
315
+ service_status_for_databases: map["serviceStatusForDatabases"],
316
+ service_status_for_tablesdb: map["serviceStatusForTablesdb"],
317
+ service_status_for_locale: map["serviceStatusForLocale"],
318
+ service_status_for_health: map["serviceStatusForHealth"],
319
+ service_status_for_project: map["serviceStatusForProject"],
320
+ service_status_for_storage: map["serviceStatusForStorage"],
321
+ service_status_for_teams: map["serviceStatusForTeams"],
322
+ service_status_for_users: map["serviceStatusForUsers"],
323
+ service_status_for_vcs: map["serviceStatusForVcs"],
324
+ service_status_for_sites: map["serviceStatusForSites"],
325
+ service_status_for_functions: map["serviceStatusForFunctions"],
326
+ service_status_for_proxy: map["serviceStatusForProxy"],
327
+ service_status_for_graphql: map["serviceStatusForGraphql"],
328
+ service_status_for_migrations: map["serviceStatusForMigrations"],
329
+ service_status_for_messaging: map["serviceStatusForMessaging"],
330
+ protocol_status_for_rest: map["protocolStatusForRest"],
331
+ protocol_status_for_graphql: map["protocolStatusForGraphql"],
332
+ protocol_status_for_websocket: map["protocolStatusForWebsocket"],
333
+ region: map["region"],
334
+ billing_limits: BillingLimits.from(map: map["billingLimits"]),
335
+ blocks: map["blocks"].map { |it| Block.from(map: it) },
336
+ console_accessed_at: map["consoleAccessedAt"]
337
+ )
338
+ end
339
+
340
+ def to_map
341
+ {
342
+ "$id": @id,
343
+ "$createdAt": @created_at,
344
+ "$updatedAt": @updated_at,
345
+ "name": @name,
346
+ "description": @description,
347
+ "teamId": @team_id,
348
+ "logo": @logo,
349
+ "url": @url,
350
+ "legalName": @legal_name,
351
+ "legalCountry": @legal_country,
352
+ "legalState": @legal_state,
353
+ "legalCity": @legal_city,
354
+ "legalAddress": @legal_address,
355
+ "legalTaxId": @legal_tax_id,
356
+ "authDuration": @auth_duration,
357
+ "authLimit": @auth_limit,
358
+ "authSessionsLimit": @auth_sessions_limit,
359
+ "authPasswordHistory": @auth_password_history,
360
+ "authPasswordDictionary": @auth_password_dictionary,
361
+ "authPersonalDataCheck": @auth_personal_data_check,
362
+ "authDisposableEmails": @auth_disposable_emails,
363
+ "authCanonicalEmails": @auth_canonical_emails,
364
+ "authFreeEmails": @auth_free_emails,
365
+ "authMockNumbers": @auth_mock_numbers.map { |it| it.to_map },
366
+ "authSessionAlerts": @auth_session_alerts,
367
+ "authMembershipsUserName": @auth_memberships_user_name,
368
+ "authMembershipsUserEmail": @auth_memberships_user_email,
369
+ "authMembershipsMfa": @auth_memberships_mfa,
370
+ "authMembershipsUserId": @auth_memberships_user_id,
371
+ "authMembershipsUserPhone": @auth_memberships_user_phone,
372
+ "authInvalidateSessions": @auth_invalidate_sessions,
373
+ "oAuthProviders": @o_auth_providers.map { |it| it.to_map },
374
+ "platforms": @platforms,
375
+ "webhooks": @webhooks.map { |it| it.to_map },
376
+ "keys": @keys.map { |it| it.to_map },
377
+ "devKeys": @dev_keys.map { |it| it.to_map },
378
+ "smtpEnabled": @smtp_enabled,
379
+ "smtpSenderName": @smtp_sender_name,
380
+ "smtpSenderEmail": @smtp_sender_email,
381
+ "smtpReplyToName": @smtp_reply_to_name,
382
+ "smtpReplyToEmail": @smtp_reply_to_email,
383
+ "smtpHost": @smtp_host,
384
+ "smtpPort": @smtp_port,
385
+ "smtpUsername": @smtp_username,
386
+ "smtpPassword": @smtp_password,
387
+ "smtpSecure": @smtp_secure,
388
+ "pingCount": @ping_count,
389
+ "pingedAt": @pinged_at,
390
+ "labels": @labels,
391
+ "status": @status,
392
+ "authEmailPassword": @auth_email_password,
393
+ "authUsersAuthMagicURL": @auth_users_auth_magic_url,
394
+ "authEmailOtp": @auth_email_otp,
395
+ "authAnonymous": @auth_anonymous,
396
+ "authInvites": @auth_invites,
397
+ "authJWT": @auth_jwt,
398
+ "authPhone": @auth_phone,
399
+ "serviceStatusForAccount": @service_status_for_account,
400
+ "serviceStatusForAvatars": @service_status_for_avatars,
401
+ "serviceStatusForDatabases": @service_status_for_databases,
402
+ "serviceStatusForTablesdb": @service_status_for_tablesdb,
403
+ "serviceStatusForLocale": @service_status_for_locale,
404
+ "serviceStatusForHealth": @service_status_for_health,
405
+ "serviceStatusForProject": @service_status_for_project,
406
+ "serviceStatusForStorage": @service_status_for_storage,
407
+ "serviceStatusForTeams": @service_status_for_teams,
408
+ "serviceStatusForUsers": @service_status_for_users,
409
+ "serviceStatusForVcs": @service_status_for_vcs,
410
+ "serviceStatusForSites": @service_status_for_sites,
411
+ "serviceStatusForFunctions": @service_status_for_functions,
412
+ "serviceStatusForProxy": @service_status_for_proxy,
413
+ "serviceStatusForGraphql": @service_status_for_graphql,
414
+ "serviceStatusForMigrations": @service_status_for_migrations,
415
+ "serviceStatusForMessaging": @service_status_for_messaging,
416
+ "protocolStatusForRest": @protocol_status_for_rest,
417
+ "protocolStatusForGraphql": @protocol_status_for_graphql,
418
+ "protocolStatusForWebsocket": @protocol_status_for_websocket,
419
+ "region": @region,
420
+ "billingLimits": @billing_limits.to_map,
421
+ "blocks": @blocks.map { |it| it.to_map },
422
+ "consoleAccessedAt": @console_accessed_at
423
+ }
424
+ end
425
+ end
426
+ end
427
+ end
@@ -0,0 +1,127 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProxyRule
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :domain
10
+ attr_reader :type
11
+ attr_reader :trigger
12
+ attr_reader :redirect_url
13
+ attr_reader :redirect_status_code
14
+ attr_reader :deployment_id
15
+ attr_reader :deployment_resource_type
16
+ attr_reader :deployment_resource_id
17
+ attr_reader :deployment_vcs_provider_branch
18
+ attr_reader :status
19
+ attr_reader :logs
20
+ attr_reader :renew_at
21
+
22
+ def initialize(
23
+ id:,
24
+ created_at:,
25
+ updated_at:,
26
+ domain:,
27
+ type:,
28
+ trigger:,
29
+ redirect_url:,
30
+ redirect_status_code:,
31
+ deployment_id:,
32
+ deployment_resource_type: ,
33
+ deployment_resource_id:,
34
+ deployment_vcs_provider_branch:,
35
+ status:,
36
+ logs:,
37
+ renew_at:
38
+ )
39
+ @id = id
40
+ @created_at = created_at
41
+ @updated_at = updated_at
42
+ @domain = domain
43
+ @type = type
44
+ @trigger = trigger
45
+ @redirect_url = redirect_url
46
+ @redirect_status_code = redirect_status_code
47
+ @deployment_id = deployment_id
48
+ @deployment_resource_type = deployment_resource_type.nil? ? deployment_resource_type : validate_deployment_resource_type(deployment_resource_type)
49
+ @deployment_resource_id = deployment_resource_id
50
+ @deployment_vcs_provider_branch = deployment_vcs_provider_branch
51
+ @status = validate_status(status)
52
+ @logs = logs
53
+ @renew_at = renew_at
54
+ end
55
+
56
+ def self.from(map:)
57
+ ProxyRule.new(
58
+ id: map["$id"],
59
+ created_at: map["$createdAt"],
60
+ updated_at: map["$updatedAt"],
61
+ domain: map["domain"],
62
+ type: map["type"],
63
+ trigger: map["trigger"],
64
+ redirect_url: map["redirectUrl"],
65
+ redirect_status_code: map["redirectStatusCode"],
66
+ deployment_id: map["deploymentId"],
67
+ deployment_resource_type: map["deploymentResourceType"],
68
+ deployment_resource_id: map["deploymentResourceId"],
69
+ deployment_vcs_provider_branch: map["deploymentVcsProviderBranch"],
70
+ status: map["status"],
71
+ logs: map["logs"],
72
+ renew_at: map["renewAt"]
73
+ )
74
+ end
75
+
76
+ def to_map
77
+ {
78
+ "$id": @id,
79
+ "$createdAt": @created_at,
80
+ "$updatedAt": @updated_at,
81
+ "domain": @domain,
82
+ "type": @type,
83
+ "trigger": @trigger,
84
+ "redirectUrl": @redirect_url,
85
+ "redirectStatusCode": @redirect_status_code,
86
+ "deploymentId": @deployment_id,
87
+ "deploymentResourceType": @deployment_resource_type,
88
+ "deploymentResourceId": @deployment_resource_id,
89
+ "deploymentVcsProviderBranch": @deployment_vcs_provider_branch,
90
+ "status": @status,
91
+ "logs": @logs,
92
+ "renewAt": @renew_at
93
+ }
94
+ end
95
+
96
+ private
97
+
98
+ def validate_deployment_resource_type(deployment_resource_type)
99
+ valid_deployment_resource_type = [
100
+ Appwrite::Enums::ProxyRuleDeploymentResourceType::FUNCTION,
101
+ Appwrite::Enums::ProxyRuleDeploymentResourceType::SITE,
102
+ ]
103
+
104
+ unless valid_deployment_resource_type.include?(deployment_resource_type)
105
+ raise ArgumentError, "Invalid " + deployment_resource_type + ". Must be one of: " + valid_deployment_resource_type.join(', ')
106
+ end
107
+
108
+ deployment_resource_type
109
+ end
110
+
111
+ def validate_status(status)
112
+ valid_status = [
113
+ Appwrite::Enums::ProxyRuleStatus::UNVERIFIED,
114
+ Appwrite::Enums::ProxyRuleStatus::VERIFYING,
115
+ Appwrite::Enums::ProxyRuleStatus::VERIFIED,
116
+ ]
117
+
118
+ unless valid_status.include?(status)
119
+ raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ')
120
+ end
121
+
122
+ status
123
+ end
124
+
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProxyRuleList
6
+ attr_reader :total
7
+ attr_reader :rules
8
+
9
+ def initialize(
10
+ total:,
11
+ rules:
12
+ )
13
+ @total = total
14
+ @rules = rules
15
+ end
16
+
17
+ def self.from(map:)
18
+ ProxyRuleList.new(
19
+ total: map["total"],
20
+ rules: map["rules"].map { |it| ProxyRule.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "rules": @rules.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -9,10 +9,10 @@ module Appwrite
9
9
  attr_reader :name
10
10
  attr_reader :url
11
11
  attr_reader :events
12
- attr_reader :security
13
- attr_reader :http_user
14
- attr_reader :http_pass
15
- attr_reader :signature_key
12
+ attr_reader :tls
13
+ attr_reader :auth_username
14
+ attr_reader :auth_password
15
+ attr_reader :secret
16
16
  attr_reader :enabled
17
17
  attr_reader :logs
18
18
  attr_reader :attempts
@@ -24,10 +24,10 @@ module Appwrite
24
24
  name:,
25
25
  url:,
26
26
  events:,
27
- security:,
28
- http_user:,
29
- http_pass:,
30
- signature_key:,
27
+ tls:,
28
+ auth_username:,
29
+ auth_password:,
30
+ secret:,
31
31
  enabled:,
32
32
  logs:,
33
33
  attempts:
@@ -38,10 +38,10 @@ module Appwrite
38
38
  @name = name
39
39
  @url = url
40
40
  @events = events
41
- @security = security
42
- @http_user = http_user
43
- @http_pass = http_pass
44
- @signature_key = signature_key
41
+ @tls = tls
42
+ @auth_username = auth_username
43
+ @auth_password = auth_password
44
+ @secret = secret
45
45
  @enabled = enabled
46
46
  @logs = logs
47
47
  @attempts = attempts
@@ -55,10 +55,10 @@ module Appwrite
55
55
  name: map["name"],
56
56
  url: map["url"],
57
57
  events: map["events"],
58
- security: map["security"],
59
- http_user: map["httpUser"],
60
- http_pass: map["httpPass"],
61
- signature_key: map["signatureKey"],
58
+ tls: map["tls"],
59
+ auth_username: map["authUsername"],
60
+ auth_password: map["authPassword"],
61
+ secret: map["secret"],
62
62
  enabled: map["enabled"],
63
63
  logs: map["logs"],
64
64
  attempts: map["attempts"]
@@ -73,10 +73,10 @@ module Appwrite
73
73
  "name": @name,
74
74
  "url": @url,
75
75
  "events": @events,
76
- "security": @security,
77
- "httpUser": @http_user,
78
- "httpPass": @http_pass,
79
- "signatureKey": @signature_key,
76
+ "tls": @tls,
77
+ "authUsername": @auth_username,
78
+ "authPassword": @auth_password,
79
+ "secret": @secret,
80
80
  "enabled": @enabled,
81
81
  "logs": @logs,
82
82
  "attempts": @attempts
@@ -4,4 +4,4 @@ module Appwrite
4
4
  @client = client
5
5
  end
6
6
  end
7
- end
7
+ end