appwrite 21.1.0 → 22.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 +41 -2
- data/lib/appwrite/enums/backup_services.rb +3 -0
- data/lib/appwrite/enums/database_type.rb +2 -0
- data/lib/appwrite/enums/databases_index_type.rb +10 -0
- data/lib/appwrite/enums/scopes.rb +4 -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/database.rb +2 -0
- data/lib/appwrite/models/function.rb +15 -5
- 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/services/databases.rb +1 -1
- data/lib/appwrite/services/functions.rb +14 -6
- data/lib/appwrite/services/health.rb +0 -120
- data/lib/appwrite/services/project.rb +172 -0
- data/lib/appwrite/services/sites.rb +18 -6
- data/lib/appwrite/services/tables_db.rb +1 -1
- data/lib/appwrite/services/users.rb +41 -1
- data/lib/appwrite/services/webhooks.rb +239 -0
- data/lib/appwrite.rb +6 -1
- metadata +8 -3
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
#frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
class Webhooks < Service
|
|
5
|
+
|
|
6
|
+
def initialize(client)
|
|
7
|
+
@client = client
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Get a list of all webhooks belonging to the project. You can use the query
|
|
11
|
+
# params to filter your results.
|
|
12
|
+
#
|
|
13
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, httpUser, security, events, enabled, logs, attempts
|
|
14
|
+
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
15
|
+
#
|
|
16
|
+
# @return [WebhookList]
|
|
17
|
+
def list(queries: nil, total: nil)
|
|
18
|
+
api_path = '/webhooks'
|
|
19
|
+
|
|
20
|
+
api_params = {
|
|
21
|
+
queries: queries,
|
|
22
|
+
total: total,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
api_headers = {
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@client.call(
|
|
29
|
+
method: 'GET',
|
|
30
|
+
path: api_path,
|
|
31
|
+
headers: api_headers,
|
|
32
|
+
params: api_params,
|
|
33
|
+
response_type: Models::WebhookList
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Create a new webhook. Use this endpoint to configure a URL that will
|
|
38
|
+
# receive events from Appwrite when specific events occur.
|
|
39
|
+
#
|
|
40
|
+
# @param [String] webhook_id Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. 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.
|
|
41
|
+
# @param [String] url Webhook URL.
|
|
42
|
+
# @param [String] name Webhook name. Max length: 128 chars.
|
|
43
|
+
# @param [Array] events Events list. Maximum of 100 events are allowed.
|
|
44
|
+
# @param [] enabled Enable or disable a webhook.
|
|
45
|
+
# @param [] security Certificate verification, false for disabled or true for enabled.
|
|
46
|
+
# @param [String] http_user Webhook HTTP user. Max length: 256 chars.
|
|
47
|
+
# @param [String] http_pass Webhook HTTP password. Max length: 256 chars.
|
|
48
|
+
#
|
|
49
|
+
# @return [Webhook]
|
|
50
|
+
def create(webhook_id:, url:, name:, events:, enabled: nil, security: nil, http_user: nil, http_pass: nil)
|
|
51
|
+
api_path = '/webhooks'
|
|
52
|
+
|
|
53
|
+
if webhook_id.nil?
|
|
54
|
+
raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
if url.nil?
|
|
58
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
if name.nil?
|
|
62
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
if events.nil?
|
|
66
|
+
raise Appwrite::Exception.new('Missing required parameter: "events"')
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
api_params = {
|
|
70
|
+
webhookId: webhook_id,
|
|
71
|
+
url: url,
|
|
72
|
+
name: name,
|
|
73
|
+
events: events,
|
|
74
|
+
enabled: enabled,
|
|
75
|
+
security: security,
|
|
76
|
+
httpUser: http_user,
|
|
77
|
+
httpPass: http_pass,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
api_headers = {
|
|
81
|
+
"content-type": 'application/json',
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@client.call(
|
|
85
|
+
method: 'POST',
|
|
86
|
+
path: api_path,
|
|
87
|
+
headers: api_headers,
|
|
88
|
+
params: api_params,
|
|
89
|
+
response_type: Models::Webhook
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Get a webhook by its unique ID. This endpoint returns details about a
|
|
94
|
+
# specific webhook configured for a project.
|
|
95
|
+
#
|
|
96
|
+
# @param [String] webhook_id Webhook ID.
|
|
97
|
+
#
|
|
98
|
+
# @return [Webhook]
|
|
99
|
+
def get(webhook_id:)
|
|
100
|
+
api_path = '/webhooks/{webhookId}'
|
|
101
|
+
.gsub('{webhookId}', webhook_id)
|
|
102
|
+
|
|
103
|
+
if webhook_id.nil?
|
|
104
|
+
raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
api_params = {
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
api_headers = {
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@client.call(
|
|
114
|
+
method: 'GET',
|
|
115
|
+
path: api_path,
|
|
116
|
+
headers: api_headers,
|
|
117
|
+
params: api_params,
|
|
118
|
+
response_type: Models::Webhook
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Update a webhook by its unique ID. Use this endpoint to update the URL,
|
|
123
|
+
# events, or status of an existing webhook.
|
|
124
|
+
#
|
|
125
|
+
# @param [String] webhook_id Webhook ID.
|
|
126
|
+
# @param [String] name Webhook name. Max length: 128 chars.
|
|
127
|
+
# @param [String] url Webhook URL.
|
|
128
|
+
# @param [Array] events Events list. Maximum of 100 events are allowed.
|
|
129
|
+
# @param [] enabled Enable or disable a webhook.
|
|
130
|
+
# @param [] security Certificate verification, false for disabled or true for enabled.
|
|
131
|
+
# @param [String] http_user Webhook HTTP user. Max length: 256 chars.
|
|
132
|
+
# @param [String] http_pass Webhook HTTP password. Max length: 256 chars.
|
|
133
|
+
#
|
|
134
|
+
# @return [Webhook]
|
|
135
|
+
def update(webhook_id:, name:, url:, events:, enabled: nil, security: nil, http_user: nil, http_pass: nil)
|
|
136
|
+
api_path = '/webhooks/{webhookId}'
|
|
137
|
+
.gsub('{webhookId}', webhook_id)
|
|
138
|
+
|
|
139
|
+
if webhook_id.nil?
|
|
140
|
+
raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
if name.nil?
|
|
144
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
if url.nil?
|
|
148
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
if events.nil?
|
|
152
|
+
raise Appwrite::Exception.new('Missing required parameter: "events"')
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
api_params = {
|
|
156
|
+
name: name,
|
|
157
|
+
url: url,
|
|
158
|
+
events: events,
|
|
159
|
+
enabled: enabled,
|
|
160
|
+
security: security,
|
|
161
|
+
httpUser: http_user,
|
|
162
|
+
httpPass: http_pass,
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
api_headers = {
|
|
166
|
+
"content-type": 'application/json',
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@client.call(
|
|
170
|
+
method: 'PUT',
|
|
171
|
+
path: api_path,
|
|
172
|
+
headers: api_headers,
|
|
173
|
+
params: api_params,
|
|
174
|
+
response_type: Models::Webhook
|
|
175
|
+
)
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Delete a webhook by its unique ID. Once deleted, the webhook will no longer
|
|
179
|
+
# receive project events.
|
|
180
|
+
#
|
|
181
|
+
# @param [String] webhook_id Webhook ID.
|
|
182
|
+
#
|
|
183
|
+
# @return []
|
|
184
|
+
def delete(webhook_id:)
|
|
185
|
+
api_path = '/webhooks/{webhookId}'
|
|
186
|
+
.gsub('{webhookId}', webhook_id)
|
|
187
|
+
|
|
188
|
+
if webhook_id.nil?
|
|
189
|
+
raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
api_params = {
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
api_headers = {
|
|
196
|
+
"content-type": 'application/json',
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
@client.call(
|
|
200
|
+
method: 'DELETE',
|
|
201
|
+
path: api_path,
|
|
202
|
+
headers: api_headers,
|
|
203
|
+
params: api_params,
|
|
204
|
+
)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# Update the webhook signature key. This endpoint can be used to regenerate
|
|
208
|
+
# the signature key used to sign and validate payload deliveries for a
|
|
209
|
+
# specific webhook.
|
|
210
|
+
#
|
|
211
|
+
# @param [String] webhook_id Webhook ID.
|
|
212
|
+
#
|
|
213
|
+
# @return [Webhook]
|
|
214
|
+
def update_signature(webhook_id:)
|
|
215
|
+
api_path = '/webhooks/{webhookId}/signature'
|
|
216
|
+
.gsub('{webhookId}', webhook_id)
|
|
217
|
+
|
|
218
|
+
if webhook_id.nil?
|
|
219
|
+
raise Appwrite::Exception.new('Missing required parameter: "webhookId"')
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
api_params = {
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
api_headers = {
|
|
226
|
+
"content-type": 'application/json',
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
@client.call(
|
|
230
|
+
method: 'PATCH',
|
|
231
|
+
path: api_path,
|
|
232
|
+
headers: api_headers,
|
|
233
|
+
params: api_params,
|
|
234
|
+
response_type: Models::Webhook
|
|
235
|
+
)
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
end
|
|
239
|
+
end
|
data/lib/appwrite.rb
CHANGED
|
@@ -35,6 +35,7 @@ require_relative 'appwrite/models/framework_list'
|
|
|
35
35
|
require_relative 'appwrite/models/runtime_list'
|
|
36
36
|
require_relative 'appwrite/models/deployment_list'
|
|
37
37
|
require_relative 'appwrite/models/execution_list'
|
|
38
|
+
require_relative 'appwrite/models/webhook_list'
|
|
38
39
|
require_relative 'appwrite/models/country_list'
|
|
39
40
|
require_relative 'appwrite/models/continent_list'
|
|
40
41
|
require_relative 'appwrite/models/language_list'
|
|
@@ -121,6 +122,7 @@ require_relative 'appwrite/models/framework'
|
|
|
121
122
|
require_relative 'appwrite/models/framework_adapter'
|
|
122
123
|
require_relative 'appwrite/models/deployment'
|
|
123
124
|
require_relative 'appwrite/models/execution'
|
|
125
|
+
require_relative 'appwrite/models/webhook'
|
|
124
126
|
require_relative 'appwrite/models/variable'
|
|
125
127
|
require_relative 'appwrite/models/country'
|
|
126
128
|
require_relative 'appwrite/models/continent'
|
|
@@ -166,7 +168,7 @@ require_relative 'appwrite/enums/image_format'
|
|
|
166
168
|
require_relative 'appwrite/enums/backup_services'
|
|
167
169
|
require_relative 'appwrite/enums/relationship_type'
|
|
168
170
|
require_relative 'appwrite/enums/relation_mutate'
|
|
169
|
-
require_relative 'appwrite/enums/
|
|
171
|
+
require_relative 'appwrite/enums/databases_index_type'
|
|
170
172
|
require_relative 'appwrite/enums/order_by'
|
|
171
173
|
require_relative 'appwrite/enums/runtime'
|
|
172
174
|
require_relative 'appwrite/enums/scopes'
|
|
@@ -182,6 +184,7 @@ require_relative 'appwrite/enums/build_runtime'
|
|
|
182
184
|
require_relative 'appwrite/enums/adapter'
|
|
183
185
|
require_relative 'appwrite/enums/compression'
|
|
184
186
|
require_relative 'appwrite/enums/image_gravity'
|
|
187
|
+
require_relative 'appwrite/enums/tables_db_index_type'
|
|
185
188
|
require_relative 'appwrite/enums/password_hash'
|
|
186
189
|
require_relative 'appwrite/enums/messaging_provider_type'
|
|
187
190
|
require_relative 'appwrite/enums/database_type'
|
|
@@ -205,9 +208,11 @@ require_relative 'appwrite/services/graphql'
|
|
|
205
208
|
require_relative 'appwrite/services/health'
|
|
206
209
|
require_relative 'appwrite/services/locale'
|
|
207
210
|
require_relative 'appwrite/services/messaging'
|
|
211
|
+
require_relative 'appwrite/services/project'
|
|
208
212
|
require_relative 'appwrite/services/sites'
|
|
209
213
|
require_relative 'appwrite/services/storage'
|
|
210
214
|
require_relative 'appwrite/services/tables_db'
|
|
211
215
|
require_relative 'appwrite/services/teams'
|
|
212
216
|
require_relative 'appwrite/services/tokens'
|
|
213
217
|
require_relative 'appwrite/services/users'
|
|
218
|
+
require_relative 'appwrite/services/webhooks'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appwrite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 22.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Appwrite Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mime-types
|
|
@@ -44,6 +44,7 @@ files:
|
|
|
44
44
|
- lib/appwrite/enums/compression.rb
|
|
45
45
|
- lib/appwrite/enums/credit_card.rb
|
|
46
46
|
- lib/appwrite/enums/database_type.rb
|
|
47
|
+
- lib/appwrite/enums/databases_index_type.rb
|
|
47
48
|
- lib/appwrite/enums/deployment_download_type.rb
|
|
48
49
|
- lib/appwrite/enums/deployment_status.rb
|
|
49
50
|
- lib/appwrite/enums/execution_method.rb
|
|
@@ -56,7 +57,6 @@ files:
|
|
|
56
57
|
- lib/appwrite/enums/image_format.rb
|
|
57
58
|
- lib/appwrite/enums/image_gravity.rb
|
|
58
59
|
- lib/appwrite/enums/index_status.rb
|
|
59
|
-
- lib/appwrite/enums/index_type.rb
|
|
60
60
|
- lib/appwrite/enums/message_priority.rb
|
|
61
61
|
- lib/appwrite/enums/message_status.rb
|
|
62
62
|
- lib/appwrite/enums/messaging_provider_type.rb
|
|
@@ -69,6 +69,7 @@ files:
|
|
|
69
69
|
- lib/appwrite/enums/runtime.rb
|
|
70
70
|
- lib/appwrite/enums/scopes.rb
|
|
71
71
|
- lib/appwrite/enums/smtp_encryption.rb
|
|
72
|
+
- lib/appwrite/enums/tables_db_index_type.rb
|
|
72
73
|
- lib/appwrite/enums/template_reference_type.rb
|
|
73
74
|
- lib/appwrite/enums/theme.rb
|
|
74
75
|
- lib/appwrite/enums/timezone.rb
|
|
@@ -215,6 +216,8 @@ files:
|
|
|
215
216
|
- lib/appwrite/models/user_list.rb
|
|
216
217
|
- lib/appwrite/models/variable.rb
|
|
217
218
|
- lib/appwrite/models/variable_list.rb
|
|
219
|
+
- lib/appwrite/models/webhook.rb
|
|
220
|
+
- lib/appwrite/models/webhook_list.rb
|
|
218
221
|
- lib/appwrite/operator.rb
|
|
219
222
|
- lib/appwrite/permission.rb
|
|
220
223
|
- lib/appwrite/query.rb
|
|
@@ -230,12 +233,14 @@ files:
|
|
|
230
233
|
- lib/appwrite/services/health.rb
|
|
231
234
|
- lib/appwrite/services/locale.rb
|
|
232
235
|
- lib/appwrite/services/messaging.rb
|
|
236
|
+
- lib/appwrite/services/project.rb
|
|
233
237
|
- lib/appwrite/services/sites.rb
|
|
234
238
|
- lib/appwrite/services/storage.rb
|
|
235
239
|
- lib/appwrite/services/tables_db.rb
|
|
236
240
|
- lib/appwrite/services/teams.rb
|
|
237
241
|
- lib/appwrite/services/tokens.rb
|
|
238
242
|
- lib/appwrite/services/users.rb
|
|
243
|
+
- lib/appwrite/services/webhooks.rb
|
|
239
244
|
homepage: https://appwrite.io/support
|
|
240
245
|
licenses:
|
|
241
246
|
- BSD-3-Clause
|