appwrite 26.0.0 → 26.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +1 -1
  3. data/lib/appwrite/enums/database_status.rb +11 -0
  4. data/lib/appwrite/enums/database_type.rb +3 -0
  5. data/lib/appwrite/enums/organization_key_scopes.rb +2 -0
  6. data/lib/appwrite/enums/project_key_scopes.rb +3 -0
  7. data/lib/appwrite/models/activity_event.rb +58 -3
  8. data/lib/appwrite/models/app.rb +152 -0
  9. data/lib/appwrite/models/app_installation.rb +72 -0
  10. data/lib/appwrite/models/app_installation_list.rb +32 -0
  11. data/lib/appwrite/models/app_key.rb +67 -0
  12. data/lib/appwrite/models/app_key_list.rb +32 -0
  13. data/lib/appwrite/models/app_scope.rb +47 -0
  14. data/lib/appwrite/models/app_scope_list.rb +32 -0
  15. data/lib/appwrite/models/app_secret.rb +67 -0
  16. data/lib/appwrite/models/app_secret_list.rb +32 -0
  17. data/lib/appwrite/models/app_secret_plaintext.rb +67 -0
  18. data/lib/appwrite/models/apps_list.rb +32 -0
  19. data/lib/appwrite/models/billing_plan.rb +5 -0
  20. data/lib/appwrite/models/database.rb +35 -6
  21. data/lib/appwrite/models/database_status.rb +62 -0
  22. data/lib/appwrite/models/database_status_connections.rb +32 -0
  23. data/lib/appwrite/models/database_status_replica.rb +42 -0
  24. data/lib/appwrite/models/database_status_volume.rb +42 -0
  25. data/lib/appwrite/models/dedicated_database.rb +267 -0
  26. data/lib/appwrite/models/dedicated_database_member.rb +42 -0
  27. data/lib/appwrite/models/dedicated_database_replicas.rb +37 -0
  28. data/lib/appwrite/models/dedicated_database_specification.rb +67 -0
  29. data/lib/appwrite/models/dedicated_database_specification_list.rb +37 -0
  30. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +47 -0
  31. data/lib/appwrite/models/oauth2_approve.rb +27 -0
  32. data/lib/appwrite/models/oauth2_authorize.rb +32 -0
  33. data/lib/appwrite/models/oauth2_consent.rb +72 -0
  34. data/lib/appwrite/models/oauth2_consent_list.rb +32 -0
  35. data/lib/appwrite/models/oauth2_consent_token.rb +77 -0
  36. data/lib/appwrite/models/oauth2_consent_token_list.rb +32 -0
  37. data/lib/appwrite/models/oauth2_device_authorization.rb +52 -0
  38. data/lib/appwrite/models/oauth2_grant.rb +82 -0
  39. data/lib/appwrite/models/oauth2_organization.rb +27 -0
  40. data/lib/appwrite/models/oauth2_organization_list.rb +32 -0
  41. data/lib/appwrite/models/oauth2_par.rb +32 -0
  42. data/lib/appwrite/models/oauth2_project.rb +37 -0
  43. data/lib/appwrite/models/oauth2_project_list.rb +32 -0
  44. data/lib/appwrite/models/oauth2_reject.rb +27 -0
  45. data/lib/appwrite/models/oauth2_token.rb +57 -0
  46. data/lib/appwrite/models/project.rb +10 -0
  47. data/lib/appwrite/models/project_auth_method.rb +3 -3
  48. data/lib/appwrite/services/account.rb +209 -0
  49. data/lib/appwrite/services/apps.rb +813 -0
  50. data/lib/appwrite/services/backups.rb +25 -12
  51. data/lib/appwrite/services/oauth2.rb +525 -0
  52. data/lib/appwrite/services/organization.rb +168 -0
  53. data/lib/appwrite/services/project.rb +3 -1
  54. data/lib/appwrite/services/sites.rb +3 -1
  55. data/lib/appwrite/services/tables_db.rb +134 -2
  56. data/lib/appwrite/services/teams.rb +198 -0
  57. data/lib/appwrite.rb +38 -0
  58. metadata +40 -2
@@ -0,0 +1,77 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2ConsentToken
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :consent_id
10
+ attr_reader :user_id
11
+ attr_reader :app_id
12
+ attr_reader :cimd_url
13
+ attr_reader :scopes
14
+ attr_reader :resources
15
+ attr_reader :authorization_details
16
+ attr_reader :expire
17
+
18
+ def initialize(
19
+ id:,
20
+ created_at:,
21
+ updated_at:,
22
+ consent_id:,
23
+ user_id:,
24
+ app_id:,
25
+ cimd_url:,
26
+ scopes:,
27
+ resources:,
28
+ authorization_details:,
29
+ expire:
30
+ )
31
+ @id = id
32
+ @created_at = created_at
33
+ @updated_at = updated_at
34
+ @consent_id = consent_id
35
+ @user_id = user_id
36
+ @app_id = app_id
37
+ @cimd_url = cimd_url
38
+ @scopes = scopes
39
+ @resources = resources
40
+ @authorization_details = authorization_details
41
+ @expire = expire
42
+ end
43
+
44
+ def self.from(map:)
45
+ Oauth2ConsentToken.new(
46
+ id: map["$id"],
47
+ created_at: map["$createdAt"],
48
+ updated_at: map["$updatedAt"],
49
+ consent_id: map["consentId"],
50
+ user_id: map["userId"],
51
+ app_id: map["appId"],
52
+ cimd_url: map["cimdUrl"],
53
+ scopes: map["scopes"],
54
+ resources: map["resources"],
55
+ authorization_details: map["authorizationDetails"],
56
+ expire: map["expire"]
57
+ )
58
+ end
59
+
60
+ def to_map
61
+ {
62
+ "$id": @id,
63
+ "$createdAt": @created_at,
64
+ "$updatedAt": @updated_at,
65
+ "consentId": @consent_id,
66
+ "userId": @user_id,
67
+ "appId": @app_id,
68
+ "cimdUrl": @cimd_url,
69
+ "scopes": @scopes,
70
+ "resources": @resources,
71
+ "authorizationDetails": @authorization_details,
72
+ "expire": @expire
73
+ }
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2ConsentTokenList
6
+ attr_reader :total
7
+ attr_reader :tokens
8
+
9
+ def initialize(
10
+ total:,
11
+ tokens:
12
+ )
13
+ @total = total
14
+ @tokens = tokens
15
+ end
16
+
17
+ def self.from(map:)
18
+ Oauth2ConsentTokenList.new(
19
+ total: map["total"],
20
+ tokens: map["tokens"].map { |it| Oauth2ConsentToken.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "tokens": @tokens.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2DeviceAuthorization
6
+ attr_reader :device_code
7
+ attr_reader :user_code
8
+ attr_reader :verification_uri
9
+ attr_reader :verification_uri_complete
10
+ attr_reader :expires_in
11
+ attr_reader :interval
12
+
13
+ def initialize(
14
+ device_code:,
15
+ user_code:,
16
+ verification_uri:,
17
+ verification_uri_complete:,
18
+ expires_in:,
19
+ interval:
20
+ )
21
+ @device_code = device_code
22
+ @user_code = user_code
23
+ @verification_uri = verification_uri
24
+ @verification_uri_complete = verification_uri_complete
25
+ @expires_in = expires_in
26
+ @interval = interval
27
+ end
28
+
29
+ def self.from(map:)
30
+ Oauth2DeviceAuthorization.new(
31
+ device_code: map["device_code"],
32
+ user_code: map["user_code"],
33
+ verification_uri: map["verification_uri"],
34
+ verification_uri_complete: map["verification_uri_complete"],
35
+ expires_in: map["expires_in"],
36
+ interval: map["interval"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "device_code": @device_code,
43
+ "user_code": @user_code,
44
+ "verification_uri": @verification_uri,
45
+ "verification_uri_complete": @verification_uri_complete,
46
+ "expires_in": @expires_in,
47
+ "interval": @interval
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,82 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Grant
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :user_id
10
+ attr_reader :app_id
11
+ attr_reader :scopes
12
+ attr_reader :resources
13
+ attr_reader :authorization_details
14
+ attr_reader :prompt
15
+ attr_reader :redirect_uri
16
+ attr_reader :auth_time
17
+ attr_reader :expire
18
+
19
+ def initialize(
20
+ id:,
21
+ created_at:,
22
+ updated_at:,
23
+ user_id:,
24
+ app_id:,
25
+ scopes:,
26
+ resources:,
27
+ authorization_details:,
28
+ prompt:,
29
+ redirect_uri:,
30
+ auth_time:,
31
+ expire:
32
+ )
33
+ @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
36
+ @user_id = user_id
37
+ @app_id = app_id
38
+ @scopes = scopes
39
+ @resources = resources
40
+ @authorization_details = authorization_details
41
+ @prompt = prompt
42
+ @redirect_uri = redirect_uri
43
+ @auth_time = auth_time
44
+ @expire = expire
45
+ end
46
+
47
+ def self.from(map:)
48
+ Oauth2Grant.new(
49
+ id: map["$id"],
50
+ created_at: map["$createdAt"],
51
+ updated_at: map["$updatedAt"],
52
+ user_id: map["userId"],
53
+ app_id: map["appId"],
54
+ scopes: map["scopes"],
55
+ resources: map["resources"],
56
+ authorization_details: map["authorizationDetails"],
57
+ prompt: map["prompt"],
58
+ redirect_uri: map["redirectUri"],
59
+ auth_time: map["authTime"],
60
+ expire: map["expire"]
61
+ )
62
+ end
63
+
64
+ def to_map
65
+ {
66
+ "$id": @id,
67
+ "$createdAt": @created_at,
68
+ "$updatedAt": @updated_at,
69
+ "userId": @user_id,
70
+ "appId": @app_id,
71
+ "scopes": @scopes,
72
+ "resources": @resources,
73
+ "authorizationDetails": @authorization_details,
74
+ "prompt": @prompt,
75
+ "redirectUri": @redirect_uri,
76
+ "authTime": @auth_time,
77
+ "expire": @expire
78
+ }
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,27 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Organization
6
+ attr_reader :id
7
+
8
+ def initialize(
9
+ id:
10
+ )
11
+ @id = id
12
+ end
13
+
14
+ def self.from(map:)
15
+ Oauth2Organization.new(
16
+ id: map["$id"]
17
+ )
18
+ end
19
+
20
+ def to_map
21
+ {
22
+ "$id": @id
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2OrganizationList
6
+ attr_reader :total
7
+ attr_reader :organizations
8
+
9
+ def initialize(
10
+ total:,
11
+ organizations:
12
+ )
13
+ @total = total
14
+ @organizations = organizations
15
+ end
16
+
17
+ def self.from(map:)
18
+ Oauth2OrganizationList.new(
19
+ total: map["total"],
20
+ organizations: map["organizations"].map { |it| Oauth2Organization.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "organizations": @organizations.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2PAR
6
+ attr_reader :request_uri
7
+ attr_reader :expires_in
8
+
9
+ def initialize(
10
+ request_uri:,
11
+ expires_in:
12
+ )
13
+ @request_uri = request_uri
14
+ @expires_in = expires_in
15
+ end
16
+
17
+ def self.from(map:)
18
+ Oauth2PAR.new(
19
+ request_uri: map["request_uri"],
20
+ expires_in: map["expires_in"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "request_uri": @request_uri,
27
+ "expires_in": @expires_in
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Project
6
+ attr_reader :id
7
+ attr_reader :region
8
+ attr_reader :endpoint
9
+
10
+ def initialize(
11
+ id:,
12
+ region:,
13
+ endpoint:
14
+ )
15
+ @id = id
16
+ @region = region
17
+ @endpoint = endpoint
18
+ end
19
+
20
+ def self.from(map:)
21
+ Oauth2Project.new(
22
+ id: map["$id"],
23
+ region: map["region"],
24
+ endpoint: map["endpoint"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "$id": @id,
31
+ "region": @region,
32
+ "endpoint": @endpoint
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2ProjectList
6
+ attr_reader :total
7
+ attr_reader :projects
8
+
9
+ def initialize(
10
+ total:,
11
+ projects:
12
+ )
13
+ @total = total
14
+ @projects = projects
15
+ end
16
+
17
+ def self.from(map:)
18
+ Oauth2ProjectList.new(
19
+ total: map["total"],
20
+ projects: map["projects"].map { |it| Oauth2Project.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "projects": @projects.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,27 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Reject
6
+ attr_reader :redirect_url
7
+
8
+ def initialize(
9
+ redirect_url:
10
+ )
11
+ @redirect_url = redirect_url
12
+ end
13
+
14
+ def self.from(map:)
15
+ Oauth2Reject.new(
16
+ redirect_url: map["redirectUrl"]
17
+ )
18
+ end
19
+
20
+ def to_map
21
+ {
22
+ "redirectUrl": @redirect_url
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,57 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Oauth2Token
6
+ attr_reader :access_token
7
+ attr_reader :token_type
8
+ attr_reader :expires_in
9
+ attr_reader :refresh_token
10
+ attr_reader :scope
11
+ attr_reader :authorization_details
12
+ attr_reader :id_token
13
+
14
+ def initialize(
15
+ access_token:,
16
+ token_type:,
17
+ expires_in:,
18
+ refresh_token:,
19
+ scope:,
20
+ authorization_details: ,
21
+ id_token:
22
+ )
23
+ @access_token = access_token
24
+ @token_type = token_type
25
+ @expires_in = expires_in
26
+ @refresh_token = refresh_token
27
+ @scope = scope
28
+ @authorization_details = authorization_details
29
+ @id_token = id_token
30
+ end
31
+
32
+ def self.from(map:)
33
+ Oauth2Token.new(
34
+ access_token: map["access_token"],
35
+ token_type: map["token_type"],
36
+ expires_in: map["expires_in"],
37
+ refresh_token: map["refresh_token"],
38
+ scope: map["scope"],
39
+ authorization_details: map["authorization_details"],
40
+ id_token: map["id_token"]
41
+ )
42
+ end
43
+
44
+ def to_map
45
+ {
46
+ "access_token": @access_token,
47
+ "token_type": @token_type,
48
+ "expires_in": @expires_in,
49
+ "refresh_token": @refresh_token,
50
+ "scope": @scope,
51
+ "authorization_details": @authorization_details,
52
+ "id_token": @id_token
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
@@ -30,6 +30,7 @@ module Appwrite
30
30
  attr_reader :protocols
31
31
  attr_reader :blocks
32
32
  attr_reader :console_accessed_at
33
+ attr_reader :waf_enabled
33
34
  attr_reader :billing_limits
34
35
  attr_reader :o_auth2_server_enabled
35
36
  attr_reader :o_auth2_server_authorization_url
@@ -40,6 +41,7 @@ module Appwrite
40
41
  attr_reader :o_auth2_server_refresh_token_duration
41
42
  attr_reader :o_auth2_server_public_access_token_duration
42
43
  attr_reader :o_auth2_server_public_refresh_token_duration
44
+ attr_reader :o_auth2_server_installation_access_token_duration
43
45
  attr_reader :o_auth2_server_confidential_pkce
44
46
  attr_reader :o_auth2_server_verification_url
45
47
  attr_reader :o_auth2_server_user_code_length
@@ -75,6 +77,7 @@ module Appwrite
75
77
  protocols:,
76
78
  blocks:,
77
79
  console_accessed_at:,
80
+ waf_enabled:,
78
81
  billing_limits: ,
79
82
  o_auth2_server_enabled: ,
80
83
  o_auth2_server_authorization_url: ,
@@ -85,6 +88,7 @@ module Appwrite
85
88
  o_auth2_server_refresh_token_duration: ,
86
89
  o_auth2_server_public_access_token_duration: ,
87
90
  o_auth2_server_public_refresh_token_duration: ,
91
+ o_auth2_server_installation_access_token_duration: ,
88
92
  o_auth2_server_confidential_pkce: ,
89
93
  o_auth2_server_verification_url: ,
90
94
  o_auth2_server_user_code_length: ,
@@ -119,6 +123,7 @@ module Appwrite
119
123
  @protocols = protocols
120
124
  @blocks = blocks
121
125
  @console_accessed_at = console_accessed_at
126
+ @waf_enabled = waf_enabled
122
127
  @billing_limits = billing_limits
123
128
  @o_auth2_server_enabled = o_auth2_server_enabled
124
129
  @o_auth2_server_authorization_url = o_auth2_server_authorization_url
@@ -129,6 +134,7 @@ module Appwrite
129
134
  @o_auth2_server_refresh_token_duration = o_auth2_server_refresh_token_duration
130
135
  @o_auth2_server_public_access_token_duration = o_auth2_server_public_access_token_duration
131
136
  @o_auth2_server_public_refresh_token_duration = o_auth2_server_public_refresh_token_duration
137
+ @o_auth2_server_installation_access_token_duration = o_auth2_server_installation_access_token_duration
132
138
  @o_auth2_server_confidential_pkce = o_auth2_server_confidential_pkce
133
139
  @o_auth2_server_verification_url = o_auth2_server_verification_url
134
140
  @o_auth2_server_user_code_length = o_auth2_server_user_code_length
@@ -166,6 +172,7 @@ module Appwrite
166
172
  protocols: map["protocols"].map { |it| ProjectProtocol.from(map: it) },
167
173
  blocks: map["blocks"].map { |it| Block.from(map: it) },
168
174
  console_accessed_at: map["consoleAccessedAt"],
175
+ waf_enabled: map["wafEnabled"],
169
176
  billing_limits: map["billingLimits"].nil? ? nil : BillingLimits.from(map: map["billingLimits"]),
170
177
  o_auth2_server_enabled: map["oAuth2ServerEnabled"],
171
178
  o_auth2_server_authorization_url: map["oAuth2ServerAuthorizationUrl"],
@@ -176,6 +183,7 @@ module Appwrite
176
183
  o_auth2_server_refresh_token_duration: map["oAuth2ServerRefreshTokenDuration"],
177
184
  o_auth2_server_public_access_token_duration: map["oAuth2ServerPublicAccessTokenDuration"],
178
185
  o_auth2_server_public_refresh_token_duration: map["oAuth2ServerPublicRefreshTokenDuration"],
186
+ o_auth2_server_installation_access_token_duration: map["oAuth2ServerInstallationAccessTokenDuration"],
179
187
  o_auth2_server_confidential_pkce: map["oAuth2ServerConfidentialPkce"],
180
188
  o_auth2_server_verification_url: map["oAuth2ServerVerificationUrl"],
181
189
  o_auth2_server_user_code_length: map["oAuth2ServerUserCodeLength"],
@@ -214,6 +222,7 @@ module Appwrite
214
222
  "protocols": @protocols.map { |it| it.to_map },
215
223
  "blocks": @blocks.map { |it| it.to_map },
216
224
  "consoleAccessedAt": @console_accessed_at,
225
+ "wafEnabled": @waf_enabled,
217
226
  "billingLimits": @billing_limits&.to_map,
218
227
  "oAuth2ServerEnabled": @o_auth2_server_enabled,
219
228
  "oAuth2ServerAuthorizationUrl": @o_auth2_server_authorization_url,
@@ -224,6 +233,7 @@ module Appwrite
224
233
  "oAuth2ServerRefreshTokenDuration": @o_auth2_server_refresh_token_duration,
225
234
  "oAuth2ServerPublicAccessTokenDuration": @o_auth2_server_public_access_token_duration,
226
235
  "oAuth2ServerPublicRefreshTokenDuration": @o_auth2_server_public_refresh_token_duration,
236
+ "oAuth2ServerInstallationAccessTokenDuration": @o_auth2_server_installation_access_token_duration,
227
237
  "oAuth2ServerConfidentialPkce": @o_auth2_server_confidential_pkce,
228
238
  "oAuth2ServerVerificationUrl": @o_auth2_server_verification_url,
229
239
  "oAuth2ServerUserCodeLength": @o_auth2_server_user_code_length,
@@ -32,9 +32,9 @@ module Appwrite
32
32
 
33
33
  def validate_id(id)
34
34
  valid_id = [
35
- Appwrite::Enums::ProjectAuthMethodId::EMAIL-PASSWORD,
36
- Appwrite::Enums::ProjectAuthMethodId::MAGIC-URL,
37
- Appwrite::Enums::ProjectAuthMethodId::EMAIL-OTP,
35
+ Appwrite::Enums::ProjectAuthMethodId::EMAIL_PASSWORD,
36
+ Appwrite::Enums::ProjectAuthMethodId::MAGIC_URL,
37
+ Appwrite::Enums::ProjectAuthMethodId::EMAIL_OTP,
38
38
  Appwrite::Enums::ProjectAuthMethodId::ANONYMOUS,
39
39
  Appwrite::Enums::ProjectAuthMethodId::INVITES,
40
40
  Appwrite::Enums::ProjectAuthMethodId::JWT,