appwrite 26.0.0 → 27.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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +16 -2
- data/lib/appwrite/enums/authentication_factor.rb +1 -0
- data/lib/appwrite/enums/build_runtime.rb +1 -0
- data/lib/appwrite/enums/database_status.rb +11 -0
- data/lib/appwrite/enums/database_type.rb +3 -0
- data/lib/appwrite/enums/embedding_model.rb +10 -0
- data/lib/appwrite/enums/invalidation_type.rb +9 -0
- data/lib/appwrite/enums/organization_key_scopes.rb +2 -0
- data/lib/appwrite/enums/project_key_scopes.rb +5 -0
- data/lib/appwrite/enums/project_policy_id.rb +1 -0
- data/lib/appwrite/enums/runtime.rb +1 -0
- data/lib/appwrite/models/activity_event.rb +58 -3
- data/lib/appwrite/models/app.rb +152 -0
- data/lib/appwrite/models/app_installation.rb +72 -0
- data/lib/appwrite/models/app_installation_list.rb +32 -0
- data/lib/appwrite/models/app_key.rb +67 -0
- data/lib/appwrite/models/app_key_list.rb +32 -0
- data/lib/appwrite/models/app_scope.rb +47 -0
- data/lib/appwrite/models/app_scope_list.rb +32 -0
- data/lib/appwrite/models/app_secret.rb +67 -0
- data/lib/appwrite/models/app_secret_list.rb +32 -0
- data/lib/appwrite/models/app_secret_plaintext.rb +67 -0
- data/lib/appwrite/models/apps_list.rb +32 -0
- data/lib/appwrite/models/billing_plan.rb +9 -4
- data/lib/appwrite/models/billing_plan_addon.rb +6 -6
- data/lib/appwrite/models/billing_plan_addon_details.rb +1 -1
- data/lib/appwrite/models/database.rb +35 -6
- data/lib/appwrite/models/database_migration.rb +102 -0
- data/lib/appwrite/models/database_migration_list.rb +32 -0
- data/lib/appwrite/models/database_status.rb +92 -0
- data/lib/appwrite/models/database_status_connections.rb +32 -0
- data/lib/appwrite/models/database_status_replica.rb +42 -0
- data/lib/appwrite/models/database_status_volume.rb +42 -0
- data/lib/appwrite/models/dedicated_database.rb +262 -0
- data/lib/appwrite/models/dedicated_database_member.rb +42 -0
- data/lib/appwrite/models/dedicated_database_operation.rb +77 -0
- data/lib/appwrite/models/dedicated_database_operation_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_replicas.rb +62 -0
- data/lib/appwrite/models/dedicated_database_specification.rb +67 -0
- data/lib/appwrite/models/dedicated_database_specification_list.rb +37 -0
- data/lib/appwrite/models/dedicated_database_specification_pricing.rb +42 -0
- data/lib/appwrite/models/embedding.rb +42 -0
- data/lib/appwrite/models/embedding_list.rb +32 -0
- data/lib/appwrite/models/file.rb +10 -0
- data/lib/appwrite/models/mfa_challenge_secret.rb +47 -0
- data/lib/appwrite/models/mfa_factors.rb +8 -3
- data/lib/appwrite/models/oauth2_approve.rb +27 -0
- data/lib/appwrite/models/oauth2_authorize.rb +32 -0
- data/lib/appwrite/models/oauth2_consent.rb +72 -0
- data/lib/appwrite/models/oauth2_consent_list.rb +32 -0
- data/lib/appwrite/models/oauth2_consent_token.rb +77 -0
- data/lib/appwrite/models/oauth2_consent_token_list.rb +32 -0
- data/lib/appwrite/models/oauth2_device_authorization.rb +52 -0
- data/lib/appwrite/models/oauth2_grant.rb +82 -0
- data/lib/appwrite/models/oauth2_organization.rb +27 -0
- data/lib/appwrite/models/oauth2_organization_list.rb +32 -0
- data/lib/appwrite/models/oauth2_par.rb +32 -0
- data/lib/appwrite/models/oauth2_project.rb +37 -0
- data/lib/appwrite/models/oauth2_project_list.rb +32 -0
- data/lib/appwrite/models/oauth2_reject.rb +27 -0
- data/lib/appwrite/models/oauth2_token.rb +57 -0
- data/lib/appwrite/models/organization.rb +12 -12
- data/lib/appwrite/models/policy_mfa_factors.rb +47 -0
- data/lib/appwrite/models/project.rb +15 -0
- data/lib/appwrite/models/project_auth_method.rb +3 -3
- data/lib/appwrite/models/proxy_invalidation.rb +42 -0
- data/lib/appwrite/models/usage_billing_plan.rb +9 -9
- data/lib/appwrite/services/account.rb +210 -33
- data/lib/appwrite/services/activities.rb +1 -1
- data/lib/appwrite/services/apps.rb +855 -0
- data/lib/appwrite/services/backups.rb +31 -12
- data/lib/appwrite/services/databases.rb +4 -4
- data/lib/appwrite/services/embeddings.rb +48 -0
- data/lib/appwrite/services/functions.rb +1 -1
- data/lib/appwrite/services/oauth2.rb +525 -0
- data/lib/appwrite/services/organization.rb +168 -0
- data/lib/appwrite/services/project.rb +54 -57
- data/lib/appwrite/services/proxy.rb +44 -0
- data/lib/appwrite/services/sites.rb +4 -2
- data/lib/appwrite/services/storage.rb +4 -2
- data/lib/appwrite/services/tables_db.rb +378 -6
- data/lib/appwrite/services/teams.rb +198 -0
- data/lib/appwrite/services/users.rb +38 -0
- data/lib/appwrite.rb +50 -0
- metadata +52 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppScope
|
|
6
|
+
attr_reader :value
|
|
7
|
+
attr_reader :description
|
|
8
|
+
attr_reader :type
|
|
9
|
+
attr_reader :category
|
|
10
|
+
attr_reader :deprecated
|
|
11
|
+
|
|
12
|
+
def initialize(
|
|
13
|
+
value:,
|
|
14
|
+
description:,
|
|
15
|
+
type:,
|
|
16
|
+
category:,
|
|
17
|
+
deprecated:
|
|
18
|
+
)
|
|
19
|
+
@value = value
|
|
20
|
+
@description = description
|
|
21
|
+
@type = type
|
|
22
|
+
@category = category
|
|
23
|
+
@deprecated = deprecated
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from(map:)
|
|
27
|
+
AppScope.new(
|
|
28
|
+
value: map["value"],
|
|
29
|
+
description: map["description"],
|
|
30
|
+
type: map["type"],
|
|
31
|
+
category: map["category"],
|
|
32
|
+
deprecated: map["deprecated"]
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_map
|
|
37
|
+
{
|
|
38
|
+
"value": @value,
|
|
39
|
+
"description": @description,
|
|
40
|
+
"type": @type,
|
|
41
|
+
"category": @category,
|
|
42
|
+
"deprecated": @deprecated
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppScopeList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :scopes
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
scopes:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@scopes = scopes
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
AppScopeList.new(
|
|
19
|
+
total: map["total"],
|
|
20
|
+
scopes: map["scopes"].map { |it| AppScope.from(map: it) }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_map
|
|
25
|
+
{
|
|
26
|
+
"total": @total,
|
|
27
|
+
"scopes": @scopes.map { |it| it.to_map }
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppSecret
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :app_id
|
|
10
|
+
attr_reader :secret
|
|
11
|
+
attr_reader :hint
|
|
12
|
+
attr_reader :created_by_id
|
|
13
|
+
attr_reader :created_by_name
|
|
14
|
+
attr_reader :last_accessed_at
|
|
15
|
+
|
|
16
|
+
def initialize(
|
|
17
|
+
id:,
|
|
18
|
+
created_at:,
|
|
19
|
+
updated_at:,
|
|
20
|
+
app_id:,
|
|
21
|
+
secret:,
|
|
22
|
+
hint:,
|
|
23
|
+
created_by_id:,
|
|
24
|
+
created_by_name:,
|
|
25
|
+
last_accessed_at:
|
|
26
|
+
)
|
|
27
|
+
@id = id
|
|
28
|
+
@created_at = created_at
|
|
29
|
+
@updated_at = updated_at
|
|
30
|
+
@app_id = app_id
|
|
31
|
+
@secret = secret
|
|
32
|
+
@hint = hint
|
|
33
|
+
@created_by_id = created_by_id
|
|
34
|
+
@created_by_name = created_by_name
|
|
35
|
+
@last_accessed_at = last_accessed_at
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from(map:)
|
|
39
|
+
AppSecret.new(
|
|
40
|
+
id: map["$id"],
|
|
41
|
+
created_at: map["$createdAt"],
|
|
42
|
+
updated_at: map["$updatedAt"],
|
|
43
|
+
app_id: map["appId"],
|
|
44
|
+
secret: map["secret"],
|
|
45
|
+
hint: map["hint"],
|
|
46
|
+
created_by_id: map["createdById"],
|
|
47
|
+
created_by_name: map["createdByName"],
|
|
48
|
+
last_accessed_at: map["lastAccessedAt"]
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def to_map
|
|
53
|
+
{
|
|
54
|
+
"$id": @id,
|
|
55
|
+
"$createdAt": @created_at,
|
|
56
|
+
"$updatedAt": @updated_at,
|
|
57
|
+
"appId": @app_id,
|
|
58
|
+
"secret": @secret,
|
|
59
|
+
"hint": @hint,
|
|
60
|
+
"createdById": @created_by_id,
|
|
61
|
+
"createdByName": @created_by_name,
|
|
62
|
+
"lastAccessedAt": @last_accessed_at
|
|
63
|
+
}
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppSecretList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :secrets
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
secrets:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@secrets = secrets
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
AppSecretList.new(
|
|
19
|
+
total: map["total"],
|
|
20
|
+
secrets: map["secrets"].map { |it| AppSecret.from(map: it) }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_map
|
|
25
|
+
{
|
|
26
|
+
"total": @total,
|
|
27
|
+
"secrets": @secrets.map { |it| it.to_map }
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppSecretPlaintext
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :app_id
|
|
10
|
+
attr_reader :secret
|
|
11
|
+
attr_reader :hint
|
|
12
|
+
attr_reader :created_by_id
|
|
13
|
+
attr_reader :created_by_name
|
|
14
|
+
attr_reader :last_accessed_at
|
|
15
|
+
|
|
16
|
+
def initialize(
|
|
17
|
+
id:,
|
|
18
|
+
created_at:,
|
|
19
|
+
updated_at:,
|
|
20
|
+
app_id:,
|
|
21
|
+
secret:,
|
|
22
|
+
hint:,
|
|
23
|
+
created_by_id:,
|
|
24
|
+
created_by_name:,
|
|
25
|
+
last_accessed_at:
|
|
26
|
+
)
|
|
27
|
+
@id = id
|
|
28
|
+
@created_at = created_at
|
|
29
|
+
@updated_at = updated_at
|
|
30
|
+
@app_id = app_id
|
|
31
|
+
@secret = secret
|
|
32
|
+
@hint = hint
|
|
33
|
+
@created_by_id = created_by_id
|
|
34
|
+
@created_by_name = created_by_name
|
|
35
|
+
@last_accessed_at = last_accessed_at
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from(map:)
|
|
39
|
+
AppSecretPlaintext.new(
|
|
40
|
+
id: map["$id"],
|
|
41
|
+
created_at: map["$createdAt"],
|
|
42
|
+
updated_at: map["$updatedAt"],
|
|
43
|
+
app_id: map["appId"],
|
|
44
|
+
secret: map["secret"],
|
|
45
|
+
hint: map["hint"],
|
|
46
|
+
created_by_id: map["createdById"],
|
|
47
|
+
created_by_name: map["createdByName"],
|
|
48
|
+
last_accessed_at: map["lastAccessedAt"]
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def to_map
|
|
53
|
+
{
|
|
54
|
+
"$id": @id,
|
|
55
|
+
"$createdAt": @created_at,
|
|
56
|
+
"$updatedAt": @updated_at,
|
|
57
|
+
"appId": @app_id,
|
|
58
|
+
"secret": @secret,
|
|
59
|
+
"hint": @hint,
|
|
60
|
+
"createdById": @created_by_id,
|
|
61
|
+
"createdByName": @created_by_name,
|
|
62
|
+
"lastAccessedAt": @last_accessed_at
|
|
63
|
+
}
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AppsList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :apps
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
apps:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@apps = apps
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
AppsList.new(
|
|
19
|
+
total: map["total"],
|
|
20
|
+
apps: map["apps"].map { |it| App.from(map: it) }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_map
|
|
25
|
+
{
|
|
26
|
+
"total": @total,
|
|
27
|
+
"apps": @apps.map { |it| it.to_map }
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -15,6 +15,7 @@ module Appwrite
|
|
|
15
15
|
attr_reader :screenshots_generated
|
|
16
16
|
attr_reader :members
|
|
17
17
|
attr_reader :webhooks
|
|
18
|
+
attr_reader :waf_rules
|
|
18
19
|
attr_reader :projects
|
|
19
20
|
attr_reader :platforms
|
|
20
21
|
attr_reader :users
|
|
@@ -83,8 +84,9 @@ module Appwrite
|
|
|
83
84
|
storage:,
|
|
84
85
|
image_transformations:,
|
|
85
86
|
screenshots_generated:,
|
|
86
|
-
members
|
|
87
|
+
members: ,
|
|
87
88
|
webhooks:,
|
|
89
|
+
waf_rules:,
|
|
88
90
|
projects:,
|
|
89
91
|
platforms:,
|
|
90
92
|
users:,
|
|
@@ -106,7 +108,7 @@ module Appwrite
|
|
|
106
108
|
topics:,
|
|
107
109
|
auth_phone:,
|
|
108
110
|
domains:,
|
|
109
|
-
activity_logs
|
|
111
|
+
activity_logs: ,
|
|
110
112
|
usage_logs:,
|
|
111
113
|
usage_logs_intervals: ,
|
|
112
114
|
project_inactivity_days:,
|
|
@@ -130,10 +132,10 @@ module Appwrite
|
|
|
130
132
|
supports_free_email_validation:,
|
|
131
133
|
supports_corporate_email_validation:,
|
|
132
134
|
supports_project_specific_roles:,
|
|
133
|
-
backups_enabled
|
|
135
|
+
backups_enabled: ,
|
|
134
136
|
usage_per_project:,
|
|
135
137
|
supported_addons:,
|
|
136
|
-
backup_policies
|
|
138
|
+
backup_policies: ,
|
|
137
139
|
deployment_size:,
|
|
138
140
|
build_size:,
|
|
139
141
|
databases_allow_encrypt:,
|
|
@@ -154,6 +156,7 @@ module Appwrite
|
|
|
154
156
|
@screenshots_generated = screenshots_generated
|
|
155
157
|
@members = members
|
|
156
158
|
@webhooks = webhooks
|
|
159
|
+
@waf_rules = waf_rules
|
|
157
160
|
@projects = projects
|
|
158
161
|
@platforms = platforms
|
|
159
162
|
@users = users
|
|
@@ -226,6 +229,7 @@ module Appwrite
|
|
|
226
229
|
screenshots_generated: map["screenshotsGenerated"],
|
|
227
230
|
members: map["members"],
|
|
228
231
|
webhooks: map["webhooks"],
|
|
232
|
+
waf_rules: map["wafRules"],
|
|
229
233
|
projects: map["projects"],
|
|
230
234
|
platforms: map["platforms"],
|
|
231
235
|
users: map["users"],
|
|
@@ -299,6 +303,7 @@ module Appwrite
|
|
|
299
303
|
"screenshotsGenerated": @screenshots_generated,
|
|
300
304
|
"members": @members,
|
|
301
305
|
"webhooks": @webhooks,
|
|
306
|
+
"wafRules": @waf_rules,
|
|
302
307
|
"projects": @projects,
|
|
303
308
|
"platforms": @platforms,
|
|
304
309
|
"users": @users,
|
|
@@ -7,8 +7,8 @@ module Appwrite
|
|
|
7
7
|
attr_reader :projects
|
|
8
8
|
|
|
9
9
|
def initialize(
|
|
10
|
-
seats
|
|
11
|
-
projects:
|
|
10
|
+
seats: ,
|
|
11
|
+
projects:
|
|
12
12
|
)
|
|
13
13
|
@seats = seats
|
|
14
14
|
@projects = projects
|
|
@@ -16,15 +16,15 @@ module Appwrite
|
|
|
16
16
|
|
|
17
17
|
def self.from(map:)
|
|
18
18
|
BillingPlanAddon.new(
|
|
19
|
-
seats: BillingPlanAddonDetails.from(map: map["seats"]),
|
|
20
|
-
projects: BillingPlanAddonDetails.from(map: map["projects"])
|
|
19
|
+
seats: map["seats"].nil? ? nil : BillingPlanAddonDetails.from(map: map["seats"]),
|
|
20
|
+
projects: map["projects"].nil? ? nil : BillingPlanAddonDetails.from(map: map["projects"])
|
|
21
21
|
)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def to_map
|
|
25
25
|
{
|
|
26
|
-
"seats": @seats
|
|
27
|
-
"projects": @projects
|
|
26
|
+
"seats": @seats&.to_map,
|
|
27
|
+
"projects": @projects&.to_map
|
|
28
28
|
}
|
|
29
29
|
end
|
|
30
30
|
end
|
|
@@ -10,6 +10,9 @@ module Appwrite
|
|
|
10
10
|
attr_reader :enabled
|
|
11
11
|
attr_reader :type
|
|
12
12
|
attr_reader :status
|
|
13
|
+
attr_reader :engine
|
|
14
|
+
attr_reader :specification
|
|
15
|
+
attr_reader :replicas
|
|
13
16
|
attr_reader :policies
|
|
14
17
|
attr_reader :archives
|
|
15
18
|
|
|
@@ -21,8 +24,11 @@ module Appwrite
|
|
|
21
24
|
enabled:,
|
|
22
25
|
type:,
|
|
23
26
|
status: ,
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
engine: ,
|
|
28
|
+
specification: ,
|
|
29
|
+
replicas: ,
|
|
30
|
+
policies: ,
|
|
31
|
+
archives:
|
|
26
32
|
)
|
|
27
33
|
@id = id
|
|
28
34
|
@name = name
|
|
@@ -31,6 +37,9 @@ module Appwrite
|
|
|
31
37
|
@enabled = enabled
|
|
32
38
|
@type = validate_type(type)
|
|
33
39
|
@status = status.nil? ? status : validate_status(status)
|
|
40
|
+
@engine = engine
|
|
41
|
+
@specification = specification
|
|
42
|
+
@replicas = replicas
|
|
34
43
|
@policies = policies
|
|
35
44
|
@archives = archives
|
|
36
45
|
end
|
|
@@ -44,8 +53,11 @@ module Appwrite
|
|
|
44
53
|
enabled: map["enabled"],
|
|
45
54
|
type: map["type"],
|
|
46
55
|
status: map["status"],
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
engine: map["engine"],
|
|
57
|
+
specification: map["specification"],
|
|
58
|
+
replicas: map["replicas"],
|
|
59
|
+
policies: map["policies"]&.map { |it| BackupPolicy.from(map: it) },
|
|
60
|
+
archives: map["archives"]&.map { |it| BackupArchive.from(map: it) }
|
|
49
61
|
)
|
|
50
62
|
end
|
|
51
63
|
|
|
@@ -58,8 +70,11 @@ module Appwrite
|
|
|
58
70
|
"enabled": @enabled,
|
|
59
71
|
"type": @type,
|
|
60
72
|
"status": @status,
|
|
61
|
-
"
|
|
62
|
-
"
|
|
73
|
+
"engine": @engine,
|
|
74
|
+
"specification": @specification,
|
|
75
|
+
"replicas": @replicas,
|
|
76
|
+
"policies": @policies&.map { |it| it.to_map },
|
|
77
|
+
"archives": @archives&.map { |it| it.to_map }
|
|
63
78
|
}
|
|
64
79
|
end
|
|
65
80
|
|
|
@@ -71,6 +86,9 @@ module Appwrite
|
|
|
71
86
|
Appwrite::Enums::DatabaseType::TABLESDB,
|
|
72
87
|
Appwrite::Enums::DatabaseType::DOCUMENTSDB,
|
|
73
88
|
Appwrite::Enums::DatabaseType::VECTORSDB,
|
|
89
|
+
Appwrite::Enums::DatabaseType::MYSQL,
|
|
90
|
+
Appwrite::Enums::DatabaseType::POSTGRESQL,
|
|
91
|
+
Appwrite::Enums::DatabaseType::MONGODB,
|
|
74
92
|
]
|
|
75
93
|
|
|
76
94
|
unless valid_type.include?(type)
|
|
@@ -84,7 +102,18 @@ module Appwrite
|
|
|
84
102
|
valid_status = [
|
|
85
103
|
Appwrite::Enums::DatabaseStatus::PROVISIONING,
|
|
86
104
|
Appwrite::Enums::DatabaseStatus::READY,
|
|
105
|
+
Appwrite::Enums::DatabaseStatus::INACTIVE,
|
|
106
|
+
Appwrite::Enums::DatabaseStatus::PAUSED,
|
|
87
107
|
Appwrite::Enums::DatabaseStatus::FAILED,
|
|
108
|
+
Appwrite::Enums::DatabaseStatus::DELETING,
|
|
109
|
+
Appwrite::Enums::DatabaseStatus::DELETED,
|
|
110
|
+
Appwrite::Enums::DatabaseStatus::RESTORING,
|
|
111
|
+
Appwrite::Enums::DatabaseStatus::SCALING,
|
|
112
|
+
Appwrite::Enums::DatabaseStatus::UPGRADING,
|
|
113
|
+
Appwrite::Enums::DatabaseStatus::MIGRATING,
|
|
114
|
+
Appwrite::Enums::DatabaseStatus::PAUSING,
|
|
115
|
+
Appwrite::Enums::DatabaseStatus::RESUMING,
|
|
116
|
+
Appwrite::Enums::DatabaseStatus::FAILING_OVER,
|
|
88
117
|
]
|
|
89
118
|
|
|
90
119
|
unless valid_status.include?(status)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DatabaseMigration
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :project_id
|
|
10
|
+
attr_reader :database_id
|
|
11
|
+
attr_reader :specification
|
|
12
|
+
attr_reader :phase
|
|
13
|
+
attr_reader :attempt
|
|
14
|
+
attr_reader :last_error
|
|
15
|
+
attr_reader :lag_documents
|
|
16
|
+
attr_reader :verified_at
|
|
17
|
+
attr_reader :cutover_at
|
|
18
|
+
attr_reader :soak_until
|
|
19
|
+
attr_reader :auto_cutover
|
|
20
|
+
attr_reader :cutover_requested
|
|
21
|
+
attr_reader :paused
|
|
22
|
+
|
|
23
|
+
def initialize(
|
|
24
|
+
id:,
|
|
25
|
+
created_at:,
|
|
26
|
+
updated_at:,
|
|
27
|
+
project_id:,
|
|
28
|
+
database_id:,
|
|
29
|
+
specification:,
|
|
30
|
+
phase:,
|
|
31
|
+
attempt:,
|
|
32
|
+
last_error:,
|
|
33
|
+
lag_documents:,
|
|
34
|
+
verified_at:,
|
|
35
|
+
cutover_at:,
|
|
36
|
+
soak_until:,
|
|
37
|
+
auto_cutover:,
|
|
38
|
+
cutover_requested:,
|
|
39
|
+
paused:
|
|
40
|
+
)
|
|
41
|
+
@id = id
|
|
42
|
+
@created_at = created_at
|
|
43
|
+
@updated_at = updated_at
|
|
44
|
+
@project_id = project_id
|
|
45
|
+
@database_id = database_id
|
|
46
|
+
@specification = specification
|
|
47
|
+
@phase = phase
|
|
48
|
+
@attempt = attempt
|
|
49
|
+
@last_error = last_error
|
|
50
|
+
@lag_documents = lag_documents
|
|
51
|
+
@verified_at = verified_at
|
|
52
|
+
@cutover_at = cutover_at
|
|
53
|
+
@soak_until = soak_until
|
|
54
|
+
@auto_cutover = auto_cutover
|
|
55
|
+
@cutover_requested = cutover_requested
|
|
56
|
+
@paused = paused
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def self.from(map:)
|
|
60
|
+
DatabaseMigration.new(
|
|
61
|
+
id: map["$id"],
|
|
62
|
+
created_at: map["$createdAt"],
|
|
63
|
+
updated_at: map["$updatedAt"],
|
|
64
|
+
project_id: map["projectId"],
|
|
65
|
+
database_id: map["databaseId"],
|
|
66
|
+
specification: map["specification"],
|
|
67
|
+
phase: map["phase"],
|
|
68
|
+
attempt: map["attempt"],
|
|
69
|
+
last_error: map["lastError"],
|
|
70
|
+
lag_documents: map["lagDocuments"],
|
|
71
|
+
verified_at: map["verifiedAt"],
|
|
72
|
+
cutover_at: map["cutoverAt"],
|
|
73
|
+
soak_until: map["soakUntil"],
|
|
74
|
+
auto_cutover: map["autoCutover"],
|
|
75
|
+
cutover_requested: map["cutoverRequested"],
|
|
76
|
+
paused: map["paused"]
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def to_map
|
|
81
|
+
{
|
|
82
|
+
"$id": @id,
|
|
83
|
+
"$createdAt": @created_at,
|
|
84
|
+
"$updatedAt": @updated_at,
|
|
85
|
+
"projectId": @project_id,
|
|
86
|
+
"databaseId": @database_id,
|
|
87
|
+
"specification": @specification,
|
|
88
|
+
"phase": @phase,
|
|
89
|
+
"attempt": @attempt,
|
|
90
|
+
"lastError": @last_error,
|
|
91
|
+
"lagDocuments": @lag_documents,
|
|
92
|
+
"verifiedAt": @verified_at,
|
|
93
|
+
"cutoverAt": @cutover_at,
|
|
94
|
+
"soakUntil": @soak_until,
|
|
95
|
+
"autoCutover": @auto_cutover,
|
|
96
|
+
"cutoverRequested": @cutover_requested,
|
|
97
|
+
"paused": @paused
|
|
98
|
+
}
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DatabaseMigrationList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :migrations
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
migrations:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@migrations = migrations
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
DatabaseMigrationList.new(
|
|
19
|
+
total: map["total"],
|
|
20
|
+
migrations: map["migrations"].map { |it| DatabaseMigration.from(map: it) }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_map
|
|
25
|
+
{
|
|
26
|
+
"total": @total,
|
|
27
|
+
"migrations": @migrations.map { |it| it.to_map }
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|