appwrite 2.4.0 → 4.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 +197 -56
- data/lib/appwrite/exception.rb +7 -7
- data/lib/appwrite/file.rb +9 -15
- data/lib/appwrite/models/attribute_boolean.rb +52 -0
- data/lib/appwrite/models/attribute_email.rb +57 -0
- data/lib/appwrite/models/attribute_enum.rb +62 -0
- data/lib/appwrite/models/attribute_float.rb +62 -0
- data/lib/appwrite/models/attribute_integer.rb +62 -0
- data/lib/appwrite/models/attribute_ip.rb +57 -0
- data/lib/appwrite/models/attribute_list.rb +32 -0
- data/lib/appwrite/models/attribute_string.rb +57 -0
- data/lib/appwrite/models/attribute_url.rb +57 -0
- data/lib/appwrite/models/bucket.rb +82 -0
- data/lib/appwrite/models/bucket_list.rb +32 -0
- data/lib/appwrite/models/collection.rb +62 -0
- data/lib/appwrite/models/collection_list.rb +32 -0
- data/lib/appwrite/models/continent.rb +32 -0
- data/lib/appwrite/models/continent_list.rb +32 -0
- data/lib/appwrite/models/country.rb +32 -0
- data/lib/appwrite/models/country_list.rb +32 -0
- data/lib/appwrite/models/currency.rb +57 -0
- data/lib/appwrite/models/currency_list.rb +32 -0
- data/lib/appwrite/models/deployment.rb +77 -0
- data/lib/appwrite/models/deployment_list.rb +32 -0
- data/lib/appwrite/models/document.rb +50 -0
- data/lib/appwrite/models/document_list.rb +36 -0
- data/lib/appwrite/models/execution.rb +72 -0
- data/lib/appwrite/models/execution_list.rb +32 -0
- data/lib/appwrite/models/file.rb +77 -0
- data/lib/appwrite/models/file_list.rb +32 -0
- data/lib/appwrite/models/function.rb +92 -0
- data/lib/appwrite/models/function_list.rb +32 -0
- data/lib/appwrite/models/health_antivirus.rb +32 -0
- data/lib/appwrite/models/health_queue.rb +27 -0
- data/lib/appwrite/models/health_status.rb +32 -0
- data/lib/appwrite/models/health_time.rb +37 -0
- data/lib/appwrite/models/index.rb +47 -0
- data/lib/appwrite/models/index_list.rb +32 -0
- data/lib/appwrite/models/language.rb +37 -0
- data/lib/appwrite/models/language_list.rb +32 -0
- data/lib/appwrite/models/locale.rb +57 -0
- data/lib/appwrite/models/log.rb +127 -0
- data/lib/appwrite/models/log_list.rb +32 -0
- data/lib/appwrite/models/membership.rb +67 -0
- data/lib/appwrite/models/membership_list.rb +32 -0
- data/lib/appwrite/models/phone.rb +37 -0
- data/lib/appwrite/models/phone_list.rb +32 -0
- data/lib/appwrite/models/preferences.rb +30 -0
- data/lib/appwrite/models/runtime.rb +57 -0
- data/lib/appwrite/models/runtime_list.rb +32 -0
- data/lib/appwrite/models/session.rb +142 -0
- data/lib/appwrite/models/session_list.rb +32 -0
- data/lib/appwrite/models/team.rb +42 -0
- data/lib/appwrite/models/team_list.rb +32 -0
- data/lib/appwrite/models/token.rb +42 -0
- data/lib/appwrite/models/user.rb +62 -0
- data/lib/appwrite/models/user_list.rb +32 -0
- data/lib/appwrite/query.rb +42 -0
- data/lib/appwrite/service.rb +0 -5
- data/lib/appwrite/services/account.rb +400 -138
- data/lib/appwrite/services/avatars.rb +188 -125
- data/lib/appwrite/services/database.rb +875 -130
- data/lib/appwrite/services/functions.rb +439 -207
- data/lib/appwrite/services/health.rb +201 -58
- data/lib/appwrite/services/locale.rb +133 -32
- data/lib/appwrite/services/storage.rb +469 -118
- data/lib/appwrite/services/teams.rb +302 -118
- data/lib/appwrite/services/users.rb +322 -127
- data/lib/appwrite.rb +57 -0
- metadata +74 -108
- data/.travis.yml +0 -16
- data/CHANGELOG.md +0 -1
- data/Gemfile +0 -4
- data/LICENSE +0 -12
- data/README.md +0 -96
- data/appwrite.gemspec +0 -11
- data/docs/examples/account/create-recovery.md +0 -15
- data/docs/examples/account/create-verification.md +0 -15
- data/docs/examples/account/delete-session.md +0 -15
- data/docs/examples/account/delete-sessions.md +0 -15
- data/docs/examples/account/delete.md +0 -15
- data/docs/examples/account/get-logs.md +0 -15
- data/docs/examples/account/get-prefs.md +0 -15
- data/docs/examples/account/get-session.md +0 -15
- data/docs/examples/account/get-sessions.md +0 -15
- data/docs/examples/account/get.md +0 -15
- data/docs/examples/account/update-email.md +0 -15
- data/docs/examples/account/update-name.md +0 -15
- data/docs/examples/account/update-password.md +0 -15
- data/docs/examples/account/update-prefs.md +0 -15
- data/docs/examples/account/update-recovery.md +0 -15
- data/docs/examples/account/update-verification.md +0 -15
- data/docs/examples/avatars/get-browser.md +0 -15
- data/docs/examples/avatars/get-credit-card.md +0 -15
- data/docs/examples/avatars/get-favicon.md +0 -15
- data/docs/examples/avatars/get-flag.md +0 -15
- data/docs/examples/avatars/get-image.md +0 -15
- data/docs/examples/avatars/get-initials.md +0 -15
- data/docs/examples/avatars/get-q-r.md +0 -15
- data/docs/examples/database/create-collection.md +0 -15
- data/docs/examples/database/create-document.md +0 -15
- data/docs/examples/database/delete-collection.md +0 -15
- data/docs/examples/database/delete-document.md +0 -15
- data/docs/examples/database/get-collection.md +0 -15
- data/docs/examples/database/get-document.md +0 -15
- data/docs/examples/database/list-collections.md +0 -15
- data/docs/examples/database/list-documents.md +0 -15
- data/docs/examples/database/update-collection.md +0 -15
- data/docs/examples/database/update-document.md +0 -15
- data/docs/examples/functions/create-execution.md +0 -15
- data/docs/examples/functions/create-tag.md +0 -15
- data/docs/examples/functions/create.md +0 -15
- data/docs/examples/functions/delete-tag.md +0 -15
- data/docs/examples/functions/delete.md +0 -15
- data/docs/examples/functions/get-execution.md +0 -15
- data/docs/examples/functions/get-tag.md +0 -15
- data/docs/examples/functions/get.md +0 -15
- data/docs/examples/functions/list-executions.md +0 -15
- data/docs/examples/functions/list-tags.md +0 -15
- data/docs/examples/functions/list.md +0 -15
- data/docs/examples/functions/update-tag.md +0 -15
- data/docs/examples/functions/update.md +0 -15
- data/docs/examples/health/get-anti-virus.md +0 -15
- data/docs/examples/health/get-cache.md +0 -15
- data/docs/examples/health/get-d-b.md +0 -15
- data/docs/examples/health/get-queue-certificates.md +0 -15
- data/docs/examples/health/get-queue-functions.md +0 -15
- data/docs/examples/health/get-queue-logs.md +0 -15
- data/docs/examples/health/get-queue-tasks.md +0 -15
- data/docs/examples/health/get-queue-usage.md +0 -15
- data/docs/examples/health/get-queue-webhooks.md +0 -15
- data/docs/examples/health/get-storage-local.md +0 -15
- data/docs/examples/health/get-time.md +0 -15
- data/docs/examples/health/get.md +0 -15
- data/docs/examples/locale/get-continents.md +0 -15
- data/docs/examples/locale/get-countries-e-u.md +0 -15
- data/docs/examples/locale/get-countries-phones.md +0 -15
- data/docs/examples/locale/get-countries.md +0 -15
- data/docs/examples/locale/get-currencies.md +0 -15
- data/docs/examples/locale/get-languages.md +0 -15
- data/docs/examples/locale/get.md +0 -15
- data/docs/examples/storage/create-file.md +0 -15
- data/docs/examples/storage/delete-file.md +0 -15
- data/docs/examples/storage/get-file-download.md +0 -15
- data/docs/examples/storage/get-file-preview.md +0 -15
- data/docs/examples/storage/get-file-view.md +0 -15
- data/docs/examples/storage/get-file.md +0 -15
- data/docs/examples/storage/list-files.md +0 -15
- data/docs/examples/storage/update-file.md +0 -15
- data/docs/examples/teams/create-membership.md +0 -15
- data/docs/examples/teams/create.md +0 -15
- data/docs/examples/teams/delete-membership.md +0 -15
- data/docs/examples/teams/delete.md +0 -15
- data/docs/examples/teams/get-memberships.md +0 -15
- data/docs/examples/teams/get.md +0 -15
- data/docs/examples/teams/list.md +0 -15
- data/docs/examples/teams/update-membership-roles.md +0 -15
- data/docs/examples/teams/update-membership-status.md +0 -15
- data/docs/examples/teams/update.md +0 -15
- data/docs/examples/users/create.md +0 -15
- data/docs/examples/users/delete-session.md +0 -15
- data/docs/examples/users/delete-sessions.md +0 -15
- data/docs/examples/users/delete.md +0 -15
- data/docs/examples/users/get-logs.md +0 -15
- data/docs/examples/users/get-prefs.md +0 -15
- data/docs/examples/users/get-sessions.md +0 -15
- data/docs/examples/users/get.md +0 -15
- data/docs/examples/users/list.md +0 -15
- data/docs/examples/users/update-email.md +0 -15
- data/docs/examples/users/update-name.md +0 -15
- data/docs/examples/users/update-password.md +0 -15
- data/docs/examples/users/update-prefs.md +0 -15
- data/docs/examples/users/update-status.md +0 -15
- data/docs/examples/users/update-verification.md +0 -15
|
@@ -1,33 +1,63 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Appwrite
|
|
2
4
|
class Functions < Service
|
|
3
5
|
|
|
4
|
-
|
|
6
|
+
# Get a list of all the project's functions. You can use the query params to
|
|
7
|
+
# filter your results.
|
|
8
|
+
#
|
|
9
|
+
# @param [string] search Search term to filter your list results. Max length: 256 chars.
|
|
10
|
+
# @param [number] limit Maximum number of functions to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.
|
|
11
|
+
# @param [number] offset Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
12
|
+
# @param [string] cursor ID of the function used as the starting point for the query, excluding the function itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
13
|
+
# @param [string] cursor_direction Direction of the cursor.
|
|
14
|
+
# @param [string] order_type Order result by ASC or DESC order.
|
|
15
|
+
#
|
|
16
|
+
# @return [FunctionList]
|
|
17
|
+
def list(search: nil, limit: nil, offset: nil, cursor: nil, cursor_direction: nil, order_type: nil)
|
|
5
18
|
path = '/functions'
|
|
6
19
|
|
|
7
|
-
params = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
params = {
|
|
21
|
+
search: search,
|
|
22
|
+
limit: limit,
|
|
23
|
+
offset: offset,
|
|
24
|
+
cursor: cursor,
|
|
25
|
+
cursorDirection: cursor_direction,
|
|
26
|
+
orderType: order_type,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
headers = {
|
|
30
|
+
"content-type": 'application/json',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@client.call(
|
|
34
|
+
method: 'GET',
|
|
35
|
+
path: path,
|
|
36
|
+
headers: headers,
|
|
37
|
+
params: params,
|
|
38
|
+
response_type: Models::FunctionList
|
|
39
|
+
)
|
|
40
|
+
end
|
|
20
41
|
|
|
21
|
-
|
|
22
|
-
|
|
42
|
+
# Create a new function. You can pass a list of
|
|
43
|
+
# [permissions](/docs/permissions) to allow different project users or team
|
|
44
|
+
# with access to execute the function using the client API.
|
|
45
|
+
#
|
|
46
|
+
# @param [string] function_id Function ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
47
|
+
# @param [string] name Function name. Max length: 128 chars.
|
|
48
|
+
# @param [array] execute An array of strings with execution permissions. By default no user is granted with any execute permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions.
|
|
49
|
+
# @param [string] runtime Execution runtime.
|
|
50
|
+
# @param [object] vars Key-value JSON object that will be passed to the function as environment variables.
|
|
51
|
+
# @param [array] events Events list.
|
|
52
|
+
# @param [string] schedule Schedule CRON syntax.
|
|
53
|
+
# @param [number] timeout Function maximum execution time in seconds.
|
|
54
|
+
#
|
|
55
|
+
# @return [Function]
|
|
56
|
+
def create(function_id:, name:, execute:, runtime:, vars: nil, events: nil, schedule: nil, timeout: nil)
|
|
57
|
+
if function_id.nil?
|
|
58
|
+
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
23
59
|
end
|
|
24
60
|
|
|
25
|
-
return @client.call('get', path, {
|
|
26
|
-
'content-type' => 'application/json',
|
|
27
|
-
}, params);
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def create(name:, execute:, runtime:, vars: nil, events: nil, schedule: nil, timeout: nil)
|
|
31
61
|
if name.nil?
|
|
32
62
|
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
33
63
|
end
|
|
@@ -42,41 +72,58 @@ module Appwrite
|
|
|
42
72
|
|
|
43
73
|
path = '/functions'
|
|
44
74
|
|
|
45
|
-
params = {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
params
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
params[:schedule] = schedule
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
if !timeout.nil?
|
|
72
|
-
params[:timeout] = timeout
|
|
73
|
-
end
|
|
75
|
+
params = {
|
|
76
|
+
functionId: function_id,
|
|
77
|
+
name: name,
|
|
78
|
+
execute: execute,
|
|
79
|
+
runtime: runtime,
|
|
80
|
+
vars: vars,
|
|
81
|
+
events: events,
|
|
82
|
+
schedule: schedule,
|
|
83
|
+
timeout: timeout,
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
headers = {
|
|
87
|
+
"content-type": 'application/json',
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@client.call(
|
|
91
|
+
method: 'POST',
|
|
92
|
+
path: path,
|
|
93
|
+
headers: headers,
|
|
94
|
+
params: params,
|
|
95
|
+
response_type: Models::Function
|
|
96
|
+
)
|
|
97
|
+
end
|
|
74
98
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
99
|
+
# Get a list of all runtimes that are currently active in your project.
|
|
100
|
+
#
|
|
101
|
+
#
|
|
102
|
+
# @return [RuntimeList]
|
|
103
|
+
def list_runtimes()
|
|
104
|
+
path = '/functions/runtimes'
|
|
105
|
+
|
|
106
|
+
params = {
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
headers = {
|
|
110
|
+
"content-type": 'application/json',
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@client.call(
|
|
114
|
+
method: 'GET',
|
|
115
|
+
path: path,
|
|
116
|
+
headers: headers,
|
|
117
|
+
params: params,
|
|
118
|
+
response_type: Models::RuntimeList
|
|
119
|
+
)
|
|
78
120
|
end
|
|
79
121
|
|
|
122
|
+
# Get a function by its unique ID.
|
|
123
|
+
#
|
|
124
|
+
# @param [string] function_id Function ID.
|
|
125
|
+
#
|
|
126
|
+
# @return [Function]
|
|
80
127
|
def get(function_id:)
|
|
81
128
|
if function_id.nil?
|
|
82
129
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
@@ -85,13 +132,33 @@ module Appwrite
|
|
|
85
132
|
path = '/functions/{functionId}'
|
|
86
133
|
.gsub('{functionId}', function_id)
|
|
87
134
|
|
|
88
|
-
params = {
|
|
135
|
+
params = {
|
|
136
|
+
}
|
|
89
137
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
138
|
+
headers = {
|
|
139
|
+
"content-type": 'application/json',
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@client.call(
|
|
143
|
+
method: 'GET',
|
|
144
|
+
path: path,
|
|
145
|
+
headers: headers,
|
|
146
|
+
params: params,
|
|
147
|
+
response_type: Models::Function
|
|
148
|
+
)
|
|
93
149
|
end
|
|
94
150
|
|
|
151
|
+
# Update function by its unique ID.
|
|
152
|
+
#
|
|
153
|
+
# @param [string] function_id Function ID.
|
|
154
|
+
# @param [string] name Function name. Max length: 128 chars.
|
|
155
|
+
# @param [array] execute An array of strings with execution permissions. By default no user is granted with any execute permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions.
|
|
156
|
+
# @param [object] vars Key-value JSON object that will be passed to the function as environment variables.
|
|
157
|
+
# @param [array] events Events list.
|
|
158
|
+
# @param [string] schedule Schedule CRON syntax.
|
|
159
|
+
# @param [number] timeout Maximum execution time in seconds.
|
|
160
|
+
#
|
|
161
|
+
# @return [Function]
|
|
95
162
|
def update(function_id:, name:, execute:, vars: nil, events: nil, schedule: nil, timeout: nil)
|
|
96
163
|
if function_id.nil?
|
|
97
164
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
@@ -108,37 +175,33 @@ module Appwrite
|
|
|
108
175
|
path = '/functions/{functionId}'
|
|
109
176
|
.gsub('{functionId}', function_id)
|
|
110
177
|
|
|
111
|
-
params = {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
if !timeout.nil?
|
|
134
|
-
params[:timeout] = timeout
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
return @client.call('put', path, {
|
|
138
|
-
'content-type' => 'application/json',
|
|
139
|
-
}, params);
|
|
178
|
+
params = {
|
|
179
|
+
name: name,
|
|
180
|
+
execute: execute,
|
|
181
|
+
vars: vars,
|
|
182
|
+
events: events,
|
|
183
|
+
schedule: schedule,
|
|
184
|
+
timeout: timeout,
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
headers = {
|
|
188
|
+
"content-type": 'application/json',
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
@client.call(
|
|
192
|
+
method: 'PUT',
|
|
193
|
+
path: path,
|
|
194
|
+
headers: headers,
|
|
195
|
+
params: params,
|
|
196
|
+
response_type: Models::Function
|
|
197
|
+
)
|
|
140
198
|
end
|
|
141
199
|
|
|
200
|
+
# Delete a function by its unique ID.
|
|
201
|
+
#
|
|
202
|
+
# @param [string] function_id Function ID.
|
|
203
|
+
#
|
|
204
|
+
# @return []
|
|
142
205
|
def delete(function_id:)
|
|
143
206
|
if function_id.nil?
|
|
144
207
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
@@ -147,211 +210,380 @@ module Appwrite
|
|
|
147
210
|
path = '/functions/{functionId}'
|
|
148
211
|
.gsub('{functionId}', function_id)
|
|
149
212
|
|
|
150
|
-
params = {
|
|
213
|
+
params = {
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
headers = {
|
|
217
|
+
"content-type": 'application/json',
|
|
218
|
+
}
|
|
151
219
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
220
|
+
@client.call(
|
|
221
|
+
method: 'DELETE',
|
|
222
|
+
path: path,
|
|
223
|
+
headers: headers,
|
|
224
|
+
params: params,
|
|
225
|
+
)
|
|
155
226
|
end
|
|
156
227
|
|
|
157
|
-
|
|
228
|
+
# Get a list of all the project's code deployments. You can use the query
|
|
229
|
+
# params to filter your results.
|
|
230
|
+
#
|
|
231
|
+
# @param [string] function_id Function ID.
|
|
232
|
+
# @param [string] search Search term to filter your list results. Max length: 256 chars.
|
|
233
|
+
# @param [number] limit Maximum number of deployments to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.
|
|
234
|
+
# @param [number] offset Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
235
|
+
# @param [string] cursor ID of the deployment used as the starting point for the query, excluding the deployment itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
236
|
+
# @param [string] cursor_direction Direction of the cursor.
|
|
237
|
+
# @param [string] order_type Order result by ASC or DESC order.
|
|
238
|
+
#
|
|
239
|
+
# @return [DeploymentList]
|
|
240
|
+
def list_deployments(function_id:, search: nil, limit: nil, offset: nil, cursor: nil, cursor_direction: nil, order_type: nil)
|
|
158
241
|
if function_id.nil?
|
|
159
242
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
160
243
|
end
|
|
161
244
|
|
|
162
|
-
path = '/functions/{functionId}/
|
|
245
|
+
path = '/functions/{functionId}/deployments'
|
|
163
246
|
.gsub('{functionId}', function_id)
|
|
164
247
|
|
|
165
|
-
params = {
|
|
248
|
+
params = {
|
|
249
|
+
search: search,
|
|
250
|
+
limit: limit,
|
|
251
|
+
offset: offset,
|
|
252
|
+
cursor: cursor,
|
|
253
|
+
cursorDirection: cursor_direction,
|
|
254
|
+
orderType: order_type,
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
headers = {
|
|
258
|
+
"content-type": 'application/json',
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
@client.call(
|
|
262
|
+
method: 'GET',
|
|
263
|
+
path: path,
|
|
264
|
+
headers: headers,
|
|
265
|
+
params: params,
|
|
266
|
+
response_type: Models::DeploymentList
|
|
267
|
+
)
|
|
268
|
+
end
|
|
166
269
|
|
|
167
|
-
|
|
168
|
-
|
|
270
|
+
# Create a new function code deployment. Use this endpoint to upload a new
|
|
271
|
+
# version of your code function. To execute your newly uploaded code, you'll
|
|
272
|
+
# need to update the function's deployment to use your new deployment UID.
|
|
273
|
+
#
|
|
274
|
+
# This endpoint accepts a tar.gz file compressed with your code. Make sure to
|
|
275
|
+
# include any dependencies your code has within the compressed file. You can
|
|
276
|
+
# learn more about code packaging in the [Appwrite Cloud Functions
|
|
277
|
+
# tutorial](/docs/functions).
|
|
278
|
+
#
|
|
279
|
+
# Use the "command" param to set the entry point used to execute your code.
|
|
280
|
+
#
|
|
281
|
+
# @param [string] function_id Function ID.
|
|
282
|
+
# @param [string] entrypoint Entrypoint File.
|
|
283
|
+
# @param [file] code Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.
|
|
284
|
+
# @param [boolean] activate Automatically activate the deployment when it is finished building.
|
|
285
|
+
#
|
|
286
|
+
# @return [Deployment]
|
|
287
|
+
def create_deployment(function_id:, entrypoint:, code:, activate:, on_progress: nil)
|
|
288
|
+
if function_id.nil?
|
|
289
|
+
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
169
290
|
end
|
|
170
291
|
|
|
171
|
-
if
|
|
172
|
-
|
|
292
|
+
if entrypoint.nil?
|
|
293
|
+
raise Appwrite::Exception.new('Missing required parameter: "entrypoint"')
|
|
173
294
|
end
|
|
174
295
|
|
|
175
|
-
if
|
|
176
|
-
|
|
296
|
+
if code.nil?
|
|
297
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
|
177
298
|
end
|
|
178
299
|
|
|
179
|
-
if
|
|
180
|
-
|
|
300
|
+
if activate.nil?
|
|
301
|
+
raise Appwrite::Exception.new('Missing required parameter: "activate"')
|
|
181
302
|
end
|
|
182
303
|
|
|
183
|
-
|
|
184
|
-
'
|
|
185
|
-
|
|
304
|
+
path = '/functions/{functionId}/deployments'
|
|
305
|
+
.gsub('{functionId}', function_id)
|
|
306
|
+
|
|
307
|
+
params = {
|
|
308
|
+
entrypoint: entrypoint,
|
|
309
|
+
code: code,
|
|
310
|
+
activate: activate,
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
headers = {
|
|
314
|
+
"content-type": 'multipart/form-data',
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
param_name = 'code'
|
|
318
|
+
|
|
319
|
+
@client.chunked_upload(
|
|
320
|
+
path: path,
|
|
321
|
+
headers: headers,
|
|
322
|
+
params: params,
|
|
323
|
+
param_name: param_name,
|
|
324
|
+
on_progress: on_progress,
|
|
325
|
+
response_type: Models::Deployment
|
|
326
|
+
)
|
|
186
327
|
end
|
|
187
328
|
|
|
188
|
-
|
|
329
|
+
# Get a code deployment by its unique ID.
|
|
330
|
+
#
|
|
331
|
+
# @param [string] function_id Function ID.
|
|
332
|
+
# @param [string] deployment_id Deployment ID.
|
|
333
|
+
#
|
|
334
|
+
# @return [DeploymentList]
|
|
335
|
+
def get_deployment(function_id:, deployment_id:)
|
|
189
336
|
if function_id.nil?
|
|
190
337
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
191
338
|
end
|
|
192
339
|
|
|
193
|
-
|
|
194
|
-
.
|
|
195
|
-
|
|
196
|
-
params = {}
|
|
197
|
-
|
|
198
|
-
if !data.nil?
|
|
199
|
-
params[:data] = data
|
|
340
|
+
if deployment_id.nil?
|
|
341
|
+
raise Appwrite::Exception.new('Missing required parameter: "deploymentId"')
|
|
200
342
|
end
|
|
201
343
|
|
|
202
|
-
|
|
203
|
-
'
|
|
204
|
-
|
|
344
|
+
path = '/functions/{functionId}/deployments/{deploymentId}'
|
|
345
|
+
.gsub('{functionId}', function_id)
|
|
346
|
+
.gsub('{deploymentId}', deployment_id)
|
|
347
|
+
|
|
348
|
+
params = {
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
headers = {
|
|
352
|
+
"content-type": 'application/json',
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
@client.call(
|
|
356
|
+
method: 'GET',
|
|
357
|
+
path: path,
|
|
358
|
+
headers: headers,
|
|
359
|
+
params: params,
|
|
360
|
+
response_type: Models::DeploymentList
|
|
361
|
+
)
|
|
205
362
|
end
|
|
206
363
|
|
|
207
|
-
|
|
364
|
+
# Update the function code deployment ID using the unique function ID. Use
|
|
365
|
+
# this endpoint to switch the code deployment that should be executed by the
|
|
366
|
+
# execution endpoint.
|
|
367
|
+
#
|
|
368
|
+
# @param [string] function_id Function ID.
|
|
369
|
+
# @param [string] deployment_id Deployment ID.
|
|
370
|
+
#
|
|
371
|
+
# @return [Function]
|
|
372
|
+
def update_deployment(function_id:, deployment_id:)
|
|
208
373
|
if function_id.nil?
|
|
209
374
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
210
375
|
end
|
|
211
376
|
|
|
212
|
-
if
|
|
213
|
-
raise Appwrite::Exception.new('Missing required parameter: "
|
|
377
|
+
if deployment_id.nil?
|
|
378
|
+
raise Appwrite::Exception.new('Missing required parameter: "deploymentId"')
|
|
214
379
|
end
|
|
215
380
|
|
|
216
|
-
path = '/functions/{functionId}/
|
|
381
|
+
path = '/functions/{functionId}/deployments/{deploymentId}'
|
|
217
382
|
.gsub('{functionId}', function_id)
|
|
218
|
-
.gsub('{
|
|
219
|
-
|
|
220
|
-
params = {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
383
|
+
.gsub('{deploymentId}', deployment_id)
|
|
384
|
+
|
|
385
|
+
params = {
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
headers = {
|
|
389
|
+
"content-type": 'application/json',
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
@client.call(
|
|
393
|
+
method: 'PATCH',
|
|
394
|
+
path: path,
|
|
395
|
+
headers: headers,
|
|
396
|
+
params: params,
|
|
397
|
+
response_type: Models::Function
|
|
398
|
+
)
|
|
225
399
|
end
|
|
226
400
|
|
|
227
|
-
|
|
401
|
+
# Delete a code deployment by its unique ID.
|
|
402
|
+
#
|
|
403
|
+
# @param [string] function_id Function ID.
|
|
404
|
+
# @param [string] deployment_id Deployment ID.
|
|
405
|
+
#
|
|
406
|
+
# @return []
|
|
407
|
+
def delete_deployment(function_id:, deployment_id:)
|
|
228
408
|
if function_id.nil?
|
|
229
409
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
230
410
|
end
|
|
231
411
|
|
|
232
|
-
if
|
|
233
|
-
raise Appwrite::Exception.new('Missing required parameter: "
|
|
412
|
+
if deployment_id.nil?
|
|
413
|
+
raise Appwrite::Exception.new('Missing required parameter: "deploymentId"')
|
|
234
414
|
end
|
|
235
415
|
|
|
236
|
-
path = '/functions/{functionId}/
|
|
416
|
+
path = '/functions/{functionId}/deployments/{deploymentId}'
|
|
237
417
|
.gsub('{functionId}', function_id)
|
|
418
|
+
.gsub('{deploymentId}', deployment_id)
|
|
238
419
|
|
|
239
|
-
params = {
|
|
420
|
+
params = {
|
|
421
|
+
}
|
|
240
422
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
423
|
+
headers = {
|
|
424
|
+
"content-type": 'application/json',
|
|
425
|
+
}
|
|
244
426
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
427
|
+
@client.call(
|
|
428
|
+
method: 'DELETE',
|
|
429
|
+
path: path,
|
|
430
|
+
headers: headers,
|
|
431
|
+
params: params,
|
|
432
|
+
)
|
|
248
433
|
end
|
|
249
434
|
|
|
250
|
-
|
|
435
|
+
#
|
|
436
|
+
#
|
|
437
|
+
# @param [string] function_id Function ID.
|
|
438
|
+
# @param [string] deployment_id Deployment ID.
|
|
439
|
+
# @param [string] build_id Build unique ID.
|
|
440
|
+
#
|
|
441
|
+
# @return []
|
|
442
|
+
def retry_build(function_id:, deployment_id:, build_id:)
|
|
251
443
|
if function_id.nil?
|
|
252
444
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
253
445
|
end
|
|
254
446
|
|
|
255
|
-
|
|
256
|
-
.
|
|
257
|
-
|
|
258
|
-
params = {}
|
|
259
|
-
|
|
260
|
-
if !search.nil?
|
|
261
|
-
params[:search] = search
|
|
262
|
-
end
|
|
263
|
-
|
|
264
|
-
if !limit.nil?
|
|
265
|
-
params[:limit] = limit
|
|
266
|
-
end
|
|
267
|
-
|
|
268
|
-
if !offset.nil?
|
|
269
|
-
params[:offset] = offset
|
|
447
|
+
if deployment_id.nil?
|
|
448
|
+
raise Appwrite::Exception.new('Missing required parameter: "deploymentId"')
|
|
270
449
|
end
|
|
271
450
|
|
|
272
|
-
if
|
|
273
|
-
|
|
451
|
+
if build_id.nil?
|
|
452
|
+
raise Appwrite::Exception.new('Missing required parameter: "buildId"')
|
|
274
453
|
end
|
|
275
454
|
|
|
276
|
-
|
|
277
|
-
'
|
|
278
|
-
|
|
455
|
+
path = '/functions/{functionId}/deployments/{deploymentId}/builds/{buildId}'
|
|
456
|
+
.gsub('{functionId}', function_id)
|
|
457
|
+
.gsub('{deploymentId}', deployment_id)
|
|
458
|
+
.gsub('{buildId}', build_id)
|
|
459
|
+
|
|
460
|
+
params = {
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
headers = {
|
|
464
|
+
"content-type": 'application/json',
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
@client.call(
|
|
468
|
+
method: 'POST',
|
|
469
|
+
path: path,
|
|
470
|
+
headers: headers,
|
|
471
|
+
params: params,
|
|
472
|
+
)
|
|
279
473
|
end
|
|
280
474
|
|
|
281
|
-
|
|
475
|
+
# Get a list of all the current user function execution logs. You can use the
|
|
476
|
+
# query params to filter your results. On admin mode, this endpoint will
|
|
477
|
+
# return a list of all of the project's executions. [Learn more about
|
|
478
|
+
# different API modes](/docs/admin).
|
|
479
|
+
#
|
|
480
|
+
# @param [string] function_id Function ID.
|
|
481
|
+
# @param [number] limit Maximum number of executions to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.
|
|
482
|
+
# @param [number] offset Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
483
|
+
# @param [string] search Search term to filter your list results. Max length: 256 chars.
|
|
484
|
+
# @param [string] cursor ID of the execution used as the starting point for the query, excluding the execution itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)
|
|
485
|
+
# @param [string] cursor_direction Direction of the cursor.
|
|
486
|
+
#
|
|
487
|
+
# @return [ExecutionList]
|
|
488
|
+
def list_executions(function_id:, limit: nil, offset: nil, search: nil, cursor: nil, cursor_direction: nil)
|
|
282
489
|
if function_id.nil?
|
|
283
490
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
284
491
|
end
|
|
285
492
|
|
|
286
|
-
|
|
287
|
-
raise Appwrite::Exception.new('Missing required parameter: "command"')
|
|
288
|
-
end
|
|
289
|
-
|
|
290
|
-
if code.nil?
|
|
291
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
path = '/functions/{functionId}/tags'
|
|
493
|
+
path = '/functions/{functionId}/executions'
|
|
295
494
|
.gsub('{functionId}', function_id)
|
|
296
495
|
|
|
297
|
-
params = {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
496
|
+
params = {
|
|
497
|
+
limit: limit,
|
|
498
|
+
offset: offset,
|
|
499
|
+
search: search,
|
|
500
|
+
cursor: cursor,
|
|
501
|
+
cursorDirection: cursor_direction,
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
headers = {
|
|
505
|
+
"content-type": 'application/json',
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
@client.call(
|
|
509
|
+
method: 'GET',
|
|
510
|
+
path: path,
|
|
511
|
+
headers: headers,
|
|
512
|
+
params: params,
|
|
513
|
+
response_type: Models::ExecutionList
|
|
514
|
+
)
|
|
310
515
|
end
|
|
311
516
|
|
|
312
|
-
|
|
517
|
+
# Trigger a function execution. The returned object will return you the
|
|
518
|
+
# current execution status. You can ping the `Get Execution` endpoint to get
|
|
519
|
+
# updates on the current execution status. Once this endpoint is called, your
|
|
520
|
+
# function execution process will start asynchronously.
|
|
521
|
+
#
|
|
522
|
+
# @param [string] function_id Function ID.
|
|
523
|
+
# @param [string] data String of custom data to send to function.
|
|
524
|
+
# @param [boolean] async Execute code asynchronously. Default value is true.
|
|
525
|
+
#
|
|
526
|
+
# @return [Execution]
|
|
527
|
+
def create_execution(function_id:, data: nil, async: nil)
|
|
313
528
|
if function_id.nil?
|
|
314
529
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
315
530
|
end
|
|
316
531
|
|
|
317
|
-
|
|
318
|
-
raise Appwrite::Exception.new('Missing required parameter: "tagId"')
|
|
319
|
-
end
|
|
320
|
-
|
|
321
|
-
path = '/functions/{functionId}/tags/{tagId}'
|
|
532
|
+
path = '/functions/{functionId}/executions'
|
|
322
533
|
.gsub('{functionId}', function_id)
|
|
323
|
-
.gsub('{tagId}', tag_id)
|
|
324
|
-
|
|
325
|
-
params = {}
|
|
326
534
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
535
|
+
params = {
|
|
536
|
+
data: data,
|
|
537
|
+
async: async,
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
headers = {
|
|
541
|
+
"content-type": 'application/json',
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
@client.call(
|
|
545
|
+
method: 'POST',
|
|
546
|
+
path: path,
|
|
547
|
+
headers: headers,
|
|
548
|
+
params: params,
|
|
549
|
+
response_type: Models::Execution
|
|
550
|
+
)
|
|
330
551
|
end
|
|
331
552
|
|
|
332
|
-
|
|
553
|
+
# Get a function execution log by its unique ID.
|
|
554
|
+
#
|
|
555
|
+
# @param [string] function_id Function ID.
|
|
556
|
+
# @param [string] execution_id Execution ID.
|
|
557
|
+
#
|
|
558
|
+
# @return [Execution]
|
|
559
|
+
def get_execution(function_id:, execution_id:)
|
|
333
560
|
if function_id.nil?
|
|
334
561
|
raise Appwrite::Exception.new('Missing required parameter: "functionId"')
|
|
335
562
|
end
|
|
336
563
|
|
|
337
|
-
if
|
|
338
|
-
raise Appwrite::Exception.new('Missing required parameter: "
|
|
564
|
+
if execution_id.nil?
|
|
565
|
+
raise Appwrite::Exception.new('Missing required parameter: "executionId"')
|
|
339
566
|
end
|
|
340
567
|
|
|
341
|
-
path = '/functions/{functionId}/
|
|
568
|
+
path = '/functions/{functionId}/executions/{executionId}'
|
|
342
569
|
.gsub('{functionId}', function_id)
|
|
343
|
-
.gsub('{
|
|
570
|
+
.gsub('{executionId}', execution_id)
|
|
344
571
|
|
|
345
|
-
params = {
|
|
572
|
+
params = {
|
|
573
|
+
}
|
|
346
574
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
end
|
|
575
|
+
headers = {
|
|
576
|
+
"content-type": 'application/json',
|
|
577
|
+
}
|
|
351
578
|
|
|
579
|
+
@client.call(
|
|
580
|
+
method: 'GET',
|
|
581
|
+
path: path,
|
|
582
|
+
headers: headers,
|
|
583
|
+
params: params,
|
|
584
|
+
response_type: Models::Execution
|
|
585
|
+
)
|
|
586
|
+
end
|
|
352
587
|
|
|
353
|
-
protected
|
|
354
|
-
|
|
355
|
-
private
|
|
356
588
|
end
|
|
357
589
|
end
|