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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +48 -2
- data/lib/appwrite/enums/backup_services.rb +3 -0
- data/lib/appwrite/enums/build_runtime.rb +2 -0
- data/lib/appwrite/enums/database_type.rb +2 -0
- data/lib/appwrite/enums/databases_index_type.rb +10 -0
- data/lib/appwrite/enums/o_auth_provider.rb +1 -0
- data/lib/appwrite/enums/platform_type.rb +11 -0
- data/lib/appwrite/enums/protocol_id.rb +9 -0
- data/lib/appwrite/enums/runtime.rb +2 -0
- data/lib/appwrite/enums/scopes.rb +8 -0
- data/lib/appwrite/enums/service_id.rb +23 -0
- data/lib/appwrite/enums/{index_type.rb → tables_db_index_type.rb} +1 -1
- data/lib/appwrite/enums/template_reference_type.rb +1 -1
- data/lib/appwrite/models/auth_provider.rb +47 -0
- data/lib/appwrite/models/billing_limits.rb +62 -0
- data/lib/appwrite/models/block.rb +47 -0
- data/lib/appwrite/models/database.rb +2 -0
- data/lib/appwrite/models/dev_key.rb +62 -0
- data/lib/appwrite/models/function.rb +15 -5
- data/lib/appwrite/models/key.rb +67 -0
- data/lib/appwrite/models/key_list.rb +32 -0
- data/lib/appwrite/models/log.rb +5 -0
- data/lib/appwrite/models/mock_number.rb +32 -0
- data/lib/appwrite/models/platform_android.rb +71 -0
- data/lib/appwrite/models/platform_apple.rb +71 -0
- data/lib/appwrite/models/platform_linux.rb +71 -0
- data/lib/appwrite/models/platform_list.rb +32 -0
- data/lib/appwrite/models/platform_web.rb +71 -0
- data/lib/appwrite/models/platform_windows.rb +71 -0
- data/lib/appwrite/models/project.rb +412 -0
- data/lib/appwrite/models/site.rb +20 -5
- data/lib/appwrite/models/user.rb +13 -3
- data/lib/appwrite/models/webhook.rb +87 -0
- data/lib/appwrite/models/webhook_list.rb +32 -0
- data/lib/appwrite/service.rb +1 -1
- data/lib/appwrite/services/account.rb +47 -2
- data/lib/appwrite/services/activities.rb +3 -1
- data/lib/appwrite/services/avatars.rb +9 -1
- data/lib/appwrite/services/backups.rb +13 -1
- data/lib/appwrite/services/databases.rb +133 -7
- data/lib/appwrite/services/functions.rb +41 -7
- data/lib/appwrite/services/graphql.rb +5 -3
- data/lib/appwrite/services/health.rb +22 -117
- data/lib/appwrite/services/locale.rb +9 -1
- data/lib/appwrite/services/messaging.rb +49 -1
- data/lib/appwrite/services/project.rb +1011 -0
- data/lib/appwrite/services/sites.rb +44 -7
- data/lib/appwrite/services/storage.rb +14 -1
- data/lib/appwrite/services/tables_db.rb +133 -7
- data/lib/appwrite/services/teams.rb +14 -1
- data/lib/appwrite/services/tokens.rb +6 -1
- data/lib/appwrite/services/users.rb +85 -2
- data/lib/appwrite/services/webhooks.rb +249 -0
- data/lib/appwrite.rb +23 -1
- metadata +25 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 71453fa364510c42ae244dc43108518fd45bcd5eba4409148f181d544f61907e
|
|
4
|
+
data.tar.gz: '018040e5e8aab6d7ebc649f0754ce43a32cf1a64bebb70c2b5b4c93781c70add'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bbd44f5cf20c90fe3f628a2badb9ed1766960d3605569475ca36b5bcb32931fbbd8a804e8036fbef454c7d73ff7b52c1c301111777eff84d7780661dbbd5a6c7
|
|
7
|
+
data.tar.gz: 68008c910bd8e7350dc6cc7b33c692b25ccdc4d8f45df13453ded2456c2b7cd62100838c157160c25d836a6fa5496cf75cb89bb2f5340e78dc5f14b244a11bee
|
data/lib/appwrite/client.rb
CHANGED
|
@@ -15,8 +15,8 @@ module Appwrite
|
|
|
15
15
|
'x-sdk-name'=> 'Ruby',
|
|
16
16
|
'x-sdk-platform'=> 'server',
|
|
17
17
|
'x-sdk-language'=> 'ruby',
|
|
18
|
-
'x-sdk-version'=> '
|
|
19
|
-
'X-Appwrite-Response-Format' => '1.
|
|
18
|
+
'x-sdk-version'=> '23.0.0',
|
|
19
|
+
'X-Appwrite-Response-Format' => '1.9.1'
|
|
20
20
|
}
|
|
21
21
|
@endpoint = 'https://cloud.appwrite.io/v1'
|
|
22
22
|
end
|
|
@@ -97,6 +97,45 @@ module Appwrite
|
|
|
97
97
|
self
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
+
# Set ImpersonateUserId
|
|
101
|
+
#
|
|
102
|
+
# Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.
|
|
103
|
+
#
|
|
104
|
+
# @param [String] value The value to set for the ImpersonateUserId header
|
|
105
|
+
#
|
|
106
|
+
# @return [self]
|
|
107
|
+
def set_impersonate_user_id(value)
|
|
108
|
+
add_header('x-appwrite-impersonate-user-id', value)
|
|
109
|
+
|
|
110
|
+
self
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Set ImpersonateUserEmail
|
|
114
|
+
#
|
|
115
|
+
# Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.
|
|
116
|
+
#
|
|
117
|
+
# @param [String] value The value to set for the ImpersonateUserEmail header
|
|
118
|
+
#
|
|
119
|
+
# @return [self]
|
|
120
|
+
def set_impersonate_user_email(value)
|
|
121
|
+
add_header('x-appwrite-impersonate-user-email', value)
|
|
122
|
+
|
|
123
|
+
self
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# Set ImpersonateUserPhone
|
|
127
|
+
#
|
|
128
|
+
# Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.
|
|
129
|
+
#
|
|
130
|
+
# @param [String] value The value to set for the ImpersonateUserPhone header
|
|
131
|
+
#
|
|
132
|
+
# @return [self]
|
|
133
|
+
def set_impersonate_user_phone(value)
|
|
134
|
+
add_header('x-appwrite-impersonate-user-phone', value)
|
|
135
|
+
|
|
136
|
+
self
|
|
137
|
+
end
|
|
138
|
+
|
|
100
139
|
# Set endpoint.
|
|
101
140
|
#
|
|
102
141
|
# @param [String] endpoint The endpoint to set
|
|
@@ -135,6 +174,13 @@ module Appwrite
|
|
|
135
174
|
self
|
|
136
175
|
end
|
|
137
176
|
|
|
177
|
+
# Get request headers
|
|
178
|
+
#
|
|
179
|
+
# @return [Hash]
|
|
180
|
+
def get_headers
|
|
181
|
+
@headers.dup
|
|
182
|
+
end
|
|
183
|
+
|
|
138
184
|
# Send the HTTP request.
|
|
139
185
|
#
|
|
140
186
|
# @param [String] method The HTTP method for the request
|
|
@@ -49,6 +49,7 @@ module Appwrite
|
|
|
49
49
|
DART_3_8 = 'dart-3.8'
|
|
50
50
|
DART_3_9 = 'dart-3.9'
|
|
51
51
|
DART_3_10 = 'dart-3.10'
|
|
52
|
+
DART_3_11 = 'dart-3.11'
|
|
52
53
|
DOTNET_6_0 = 'dotnet-6.0'
|
|
53
54
|
DOTNET_7_0 = 'dotnet-7.0'
|
|
54
55
|
DOTNET_8_0 = 'dotnet-8.0'
|
|
@@ -87,6 +88,7 @@ module Appwrite
|
|
|
87
88
|
FLUTTER_3_32 = 'flutter-3.32'
|
|
88
89
|
FLUTTER_3_35 = 'flutter-3.35'
|
|
89
90
|
FLUTTER_3_38 = 'flutter-3.38'
|
|
91
|
+
FLUTTER_3_41 = 'flutter-3.41'
|
|
90
92
|
end
|
|
91
93
|
end
|
|
92
94
|
end
|
|
@@ -49,6 +49,7 @@ module Appwrite
|
|
|
49
49
|
DART_3_8 = 'dart-3.8'
|
|
50
50
|
DART_3_9 = 'dart-3.9'
|
|
51
51
|
DART_3_10 = 'dart-3.10'
|
|
52
|
+
DART_3_11 = 'dart-3.11'
|
|
52
53
|
DOTNET_6_0 = 'dotnet-6.0'
|
|
53
54
|
DOTNET_7_0 = 'dotnet-7.0'
|
|
54
55
|
DOTNET_8_0 = 'dotnet-8.0'
|
|
@@ -87,6 +88,7 @@ module Appwrite
|
|
|
87
88
|
FLUTTER_3_32 = 'flutter-3.32'
|
|
88
89
|
FLUTTER_3_35 = 'flutter-3.35'
|
|
89
90
|
FLUTTER_3_38 = 'flutter-3.38'
|
|
91
|
+
FLUTTER_3_41 = 'flutter-3.41'
|
|
90
92
|
end
|
|
91
93
|
end
|
|
92
94
|
end
|
|
@@ -58,6 +58,14 @@ module Appwrite
|
|
|
58
58
|
ASSISTANT_READ = 'assistant.read'
|
|
59
59
|
TOKENS_READ = 'tokens.read'
|
|
60
60
|
TOKENS_WRITE = 'tokens.write'
|
|
61
|
+
WEBHOOKS_READ = 'webhooks.read'
|
|
62
|
+
WEBHOOKS_WRITE = 'webhooks.write'
|
|
63
|
+
PROJECT_READ = 'project.read'
|
|
64
|
+
PROJECT_WRITE = 'project.write'
|
|
65
|
+
KEYS_READ = 'keys.read'
|
|
66
|
+
KEYS_WRITE = 'keys.write'
|
|
67
|
+
PLATFORMS_READ = 'platforms.read'
|
|
68
|
+
PLATFORMS_WRITE = 'platforms.write'
|
|
61
69
|
POLICIES_WRITE = 'policies.write'
|
|
62
70
|
POLICIES_READ = 'policies.read'
|
|
63
71
|
ARCHIVES_READ = 'archives.read'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Appwrite
|
|
2
|
+
module Enums
|
|
3
|
+
module ServiceId
|
|
4
|
+
ACCOUNT = 'account'
|
|
5
|
+
AVATARS = 'avatars'
|
|
6
|
+
DATABASES = 'databases'
|
|
7
|
+
TABLESDB = 'tablesdb'
|
|
8
|
+
LOCALE = 'locale'
|
|
9
|
+
HEALTH = 'health'
|
|
10
|
+
PROJECT = 'project'
|
|
11
|
+
STORAGE = 'storage'
|
|
12
|
+
TEAMS = 'teams'
|
|
13
|
+
USERS = 'users'
|
|
14
|
+
VCS = 'vcs'
|
|
15
|
+
SITES = 'sites'
|
|
16
|
+
FUNCTIONS = 'functions'
|
|
17
|
+
PROXY = 'proxy'
|
|
18
|
+
GRAPHQL = 'graphql'
|
|
19
|
+
MIGRATIONS = 'migrations'
|
|
20
|
+
MESSAGING = 'messaging'
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class AuthProvider
|
|
6
|
+
attr_reader :key
|
|
7
|
+
attr_reader :name
|
|
8
|
+
attr_reader :app_id
|
|
9
|
+
attr_reader :secret
|
|
10
|
+
attr_reader :enabled
|
|
11
|
+
|
|
12
|
+
def initialize(
|
|
13
|
+
key:,
|
|
14
|
+
name:,
|
|
15
|
+
app_id:,
|
|
16
|
+
secret:,
|
|
17
|
+
enabled:
|
|
18
|
+
)
|
|
19
|
+
@key = key
|
|
20
|
+
@name = name
|
|
21
|
+
@app_id = app_id
|
|
22
|
+
@secret = secret
|
|
23
|
+
@enabled = enabled
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from(map:)
|
|
27
|
+
AuthProvider.new(
|
|
28
|
+
key: map["key"],
|
|
29
|
+
name: map["name"],
|
|
30
|
+
app_id: map["appId"],
|
|
31
|
+
secret: map["secret"],
|
|
32
|
+
enabled: map["enabled"]
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_map
|
|
37
|
+
{
|
|
38
|
+
"key": @key,
|
|
39
|
+
"name": @name,
|
|
40
|
+
"appId": @app_id,
|
|
41
|
+
"secret": @secret,
|
|
42
|
+
"enabled": @enabled
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class BillingLimits
|
|
6
|
+
attr_reader :bandwidth
|
|
7
|
+
attr_reader :storage
|
|
8
|
+
attr_reader :users
|
|
9
|
+
attr_reader :executions
|
|
10
|
+
attr_reader :gb_hours
|
|
11
|
+
attr_reader :image_transformations
|
|
12
|
+
attr_reader :auth_phone
|
|
13
|
+
attr_reader :budget_limit
|
|
14
|
+
|
|
15
|
+
def initialize(
|
|
16
|
+
bandwidth:,
|
|
17
|
+
storage:,
|
|
18
|
+
users:,
|
|
19
|
+
executions:,
|
|
20
|
+
gb_hours:,
|
|
21
|
+
image_transformations:,
|
|
22
|
+
auth_phone:,
|
|
23
|
+
budget_limit:
|
|
24
|
+
)
|
|
25
|
+
@bandwidth = bandwidth
|
|
26
|
+
@storage = storage
|
|
27
|
+
@users = users
|
|
28
|
+
@executions = executions
|
|
29
|
+
@gb_hours = gb_hours
|
|
30
|
+
@image_transformations = image_transformations
|
|
31
|
+
@auth_phone = auth_phone
|
|
32
|
+
@budget_limit = budget_limit
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.from(map:)
|
|
36
|
+
BillingLimits.new(
|
|
37
|
+
bandwidth: map["bandwidth"],
|
|
38
|
+
storage: map["storage"],
|
|
39
|
+
users: map["users"],
|
|
40
|
+
executions: map["executions"],
|
|
41
|
+
gb_hours: map["GBHours"],
|
|
42
|
+
image_transformations: map["imageTransformations"],
|
|
43
|
+
auth_phone: map["authPhone"],
|
|
44
|
+
budget_limit: map["budgetLimit"]
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def to_map
|
|
49
|
+
{
|
|
50
|
+
"bandwidth": @bandwidth,
|
|
51
|
+
"storage": @storage,
|
|
52
|
+
"users": @users,
|
|
53
|
+
"executions": @executions,
|
|
54
|
+
"GBHours": @gb_hours,
|
|
55
|
+
"imageTransformations": @image_transformations,
|
|
56
|
+
"authPhone": @auth_phone,
|
|
57
|
+
"budgetLimit": @budget_limit
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class Block
|
|
6
|
+
attr_reader :created_at
|
|
7
|
+
attr_reader :resource_type
|
|
8
|
+
attr_reader :resource_id
|
|
9
|
+
attr_reader :reason
|
|
10
|
+
attr_reader :expired_at
|
|
11
|
+
|
|
12
|
+
def initialize(
|
|
13
|
+
created_at:,
|
|
14
|
+
resource_type:,
|
|
15
|
+
resource_id:,
|
|
16
|
+
reason: ,
|
|
17
|
+
expired_at:
|
|
18
|
+
)
|
|
19
|
+
@created_at = created_at
|
|
20
|
+
@resource_type = resource_type
|
|
21
|
+
@resource_id = resource_id
|
|
22
|
+
@reason = reason
|
|
23
|
+
@expired_at = expired_at
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from(map:)
|
|
27
|
+
Block.new(
|
|
28
|
+
created_at: map["$createdAt"],
|
|
29
|
+
resource_type: map["resourceType"],
|
|
30
|
+
resource_id: map["resourceId"],
|
|
31
|
+
reason: map["reason"],
|
|
32
|
+
expired_at: map["expiredAt"]
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_map
|
|
37
|
+
{
|
|
38
|
+
"$createdAt": @created_at,
|
|
39
|
+
"resourceType": @resource_type,
|
|
40
|
+
"resourceId": @resource_id,
|
|
41
|
+
"reason": @reason,
|
|
42
|
+
"expiredAt": @expired_at
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DevKey
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :name
|
|
10
|
+
attr_reader :expire
|
|
11
|
+
attr_reader :secret
|
|
12
|
+
attr_reader :accessed_at
|
|
13
|
+
attr_reader :sdks
|
|
14
|
+
|
|
15
|
+
def initialize(
|
|
16
|
+
id:,
|
|
17
|
+
created_at:,
|
|
18
|
+
updated_at:,
|
|
19
|
+
name:,
|
|
20
|
+
expire:,
|
|
21
|
+
secret:,
|
|
22
|
+
accessed_at:,
|
|
23
|
+
sdks:
|
|
24
|
+
)
|
|
25
|
+
@id = id
|
|
26
|
+
@created_at = created_at
|
|
27
|
+
@updated_at = updated_at
|
|
28
|
+
@name = name
|
|
29
|
+
@expire = expire
|
|
30
|
+
@secret = secret
|
|
31
|
+
@accessed_at = accessed_at
|
|
32
|
+
@sdks = sdks
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.from(map:)
|
|
36
|
+
DevKey.new(
|
|
37
|
+
id: map["$id"],
|
|
38
|
+
created_at: map["$createdAt"],
|
|
39
|
+
updated_at: map["$updatedAt"],
|
|
40
|
+
name: map["name"],
|
|
41
|
+
expire: map["expire"],
|
|
42
|
+
secret: map["secret"],
|
|
43
|
+
accessed_at: map["accessedAt"],
|
|
44
|
+
sdks: map["sdks"]
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def to_map
|
|
49
|
+
{
|
|
50
|
+
"$id": @id,
|
|
51
|
+
"$createdAt": @created_at,
|
|
52
|
+
"$updatedAt": @updated_at,
|
|
53
|
+
"name": @name,
|
|
54
|
+
"expire": @expire,
|
|
55
|
+
"secret": @secret,
|
|
56
|
+
"accessedAt": @accessed_at,
|
|
57
|
+
"sdks": @sdks
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -12,6 +12,7 @@ module Appwrite
|
|
|
12
12
|
attr_reader :live
|
|
13
13
|
attr_reader :logging
|
|
14
14
|
attr_reader :runtime
|
|
15
|
+
attr_reader :deployment_retention
|
|
15
16
|
attr_reader :deployment_id
|
|
16
17
|
attr_reader :deployment_created_at
|
|
17
18
|
attr_reader :latest_deployment_id
|
|
@@ -30,7 +31,8 @@ module Appwrite
|
|
|
30
31
|
attr_reader :provider_branch
|
|
31
32
|
attr_reader :provider_root_directory
|
|
32
33
|
attr_reader :provider_silent_mode
|
|
33
|
-
attr_reader :
|
|
34
|
+
attr_reader :build_specification
|
|
35
|
+
attr_reader :runtime_specification
|
|
34
36
|
|
|
35
37
|
def initialize(
|
|
36
38
|
id:,
|
|
@@ -42,6 +44,7 @@ module Appwrite
|
|
|
42
44
|
live:,
|
|
43
45
|
logging:,
|
|
44
46
|
runtime:,
|
|
47
|
+
deployment_retention:,
|
|
45
48
|
deployment_id:,
|
|
46
49
|
deployment_created_at:,
|
|
47
50
|
latest_deployment_id:,
|
|
@@ -60,7 +63,8 @@ module Appwrite
|
|
|
60
63
|
provider_branch:,
|
|
61
64
|
provider_root_directory:,
|
|
62
65
|
provider_silent_mode:,
|
|
63
|
-
|
|
66
|
+
build_specification:,
|
|
67
|
+
runtime_specification:
|
|
64
68
|
)
|
|
65
69
|
@id = id
|
|
66
70
|
@created_at = created_at
|
|
@@ -71,6 +75,7 @@ module Appwrite
|
|
|
71
75
|
@live = live
|
|
72
76
|
@logging = logging
|
|
73
77
|
@runtime = runtime
|
|
78
|
+
@deployment_retention = deployment_retention
|
|
74
79
|
@deployment_id = deployment_id
|
|
75
80
|
@deployment_created_at = deployment_created_at
|
|
76
81
|
@latest_deployment_id = latest_deployment_id
|
|
@@ -89,7 +94,8 @@ module Appwrite
|
|
|
89
94
|
@provider_branch = provider_branch
|
|
90
95
|
@provider_root_directory = provider_root_directory
|
|
91
96
|
@provider_silent_mode = provider_silent_mode
|
|
92
|
-
@
|
|
97
|
+
@build_specification = build_specification
|
|
98
|
+
@runtime_specification = runtime_specification
|
|
93
99
|
end
|
|
94
100
|
|
|
95
101
|
def self.from(map:)
|
|
@@ -103,6 +109,7 @@ module Appwrite
|
|
|
103
109
|
live: map["live"],
|
|
104
110
|
logging: map["logging"],
|
|
105
111
|
runtime: map["runtime"],
|
|
112
|
+
deployment_retention: map["deploymentRetention"],
|
|
106
113
|
deployment_id: map["deploymentId"],
|
|
107
114
|
deployment_created_at: map["deploymentCreatedAt"],
|
|
108
115
|
latest_deployment_id: map["latestDeploymentId"],
|
|
@@ -121,7 +128,8 @@ module Appwrite
|
|
|
121
128
|
provider_branch: map["providerBranch"],
|
|
122
129
|
provider_root_directory: map["providerRootDirectory"],
|
|
123
130
|
provider_silent_mode: map["providerSilentMode"],
|
|
124
|
-
|
|
131
|
+
build_specification: map["buildSpecification"],
|
|
132
|
+
runtime_specification: map["runtimeSpecification"]
|
|
125
133
|
)
|
|
126
134
|
end
|
|
127
135
|
|
|
@@ -136,6 +144,7 @@ module Appwrite
|
|
|
136
144
|
"live": @live,
|
|
137
145
|
"logging": @logging,
|
|
138
146
|
"runtime": @runtime,
|
|
147
|
+
"deploymentRetention": @deployment_retention,
|
|
139
148
|
"deploymentId": @deployment_id,
|
|
140
149
|
"deploymentCreatedAt": @deployment_created_at,
|
|
141
150
|
"latestDeploymentId": @latest_deployment_id,
|
|
@@ -154,7 +163,8 @@ module Appwrite
|
|
|
154
163
|
"providerBranch": @provider_branch,
|
|
155
164
|
"providerRootDirectory": @provider_root_directory,
|
|
156
165
|
"providerSilentMode": @provider_silent_mode,
|
|
157
|
-
"
|
|
166
|
+
"buildSpecification": @build_specification,
|
|
167
|
+
"runtimeSpecification": @runtime_specification
|
|
158
168
|
}
|
|
159
169
|
end
|
|
160
170
|
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class Key
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :name
|
|
10
|
+
attr_reader :expire
|
|
11
|
+
attr_reader :scopes
|
|
12
|
+
attr_reader :secret
|
|
13
|
+
attr_reader :accessed_at
|
|
14
|
+
attr_reader :sdks
|
|
15
|
+
|
|
16
|
+
def initialize(
|
|
17
|
+
id:,
|
|
18
|
+
created_at:,
|
|
19
|
+
updated_at:,
|
|
20
|
+
name:,
|
|
21
|
+
expire:,
|
|
22
|
+
scopes:,
|
|
23
|
+
secret:,
|
|
24
|
+
accessed_at:,
|
|
25
|
+
sdks:
|
|
26
|
+
)
|
|
27
|
+
@id = id
|
|
28
|
+
@created_at = created_at
|
|
29
|
+
@updated_at = updated_at
|
|
30
|
+
@name = name
|
|
31
|
+
@expire = expire
|
|
32
|
+
@scopes = scopes
|
|
33
|
+
@secret = secret
|
|
34
|
+
@accessed_at = accessed_at
|
|
35
|
+
@sdks = sdks
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from(map:)
|
|
39
|
+
Key.new(
|
|
40
|
+
id: map["$id"],
|
|
41
|
+
created_at: map["$createdAt"],
|
|
42
|
+
updated_at: map["$updatedAt"],
|
|
43
|
+
name: map["name"],
|
|
44
|
+
expire: map["expire"],
|
|
45
|
+
scopes: map["scopes"],
|
|
46
|
+
secret: map["secret"],
|
|
47
|
+
accessed_at: map["accessedAt"],
|
|
48
|
+
sdks: map["sdks"]
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def to_map
|
|
53
|
+
{
|
|
54
|
+
"$id": @id,
|
|
55
|
+
"$createdAt": @created_at,
|
|
56
|
+
"$updatedAt": @updated_at,
|
|
57
|
+
"name": @name,
|
|
58
|
+
"expire": @expire,
|
|
59
|
+
"scopes": @scopes,
|
|
60
|
+
"secret": @secret,
|
|
61
|
+
"accessedAt": @accessed_at,
|
|
62
|
+
"sdks": @sdks
|
|
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 KeyList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :keys
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
keys:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@keys = keys
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
KeyList.new(
|
|
19
|
+
total: map["total"],
|
|
20
|
+
keys: map["keys"].map { |it| Key.from(map: it) }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_map
|
|
25
|
+
{
|
|
26
|
+
"total": @total,
|
|
27
|
+
"keys": @keys.map { |it| it.to_map }
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|