appwrite 6.0.0 → 7.0.0.pre.RC1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +5 -2
- data/lib/appwrite/id.rb +11 -0
- data/lib/appwrite/models/account.rb +82 -0
- data/lib/appwrite/models/algo_argon2.rb +37 -0
- data/lib/appwrite/models/algo_bcrypt.rb +22 -0
- data/lib/appwrite/models/algo_md5.rb +22 -0
- data/lib/appwrite/models/algo_phpass.rb +22 -0
- data/lib/appwrite/models/algo_scrypt.rb +42 -0
- data/lib/appwrite/models/algo_scrypt_modified.rb +37 -0
- data/lib/appwrite/models/algo_sha.rb +22 -0
- data/lib/appwrite/models/attribute_datetime.rb +57 -0
- data/lib/appwrite/models/bucket.rb +15 -15
- data/lib/appwrite/models/collection.rb +10 -15
- data/lib/appwrite/models/database.rb +13 -3
- data/lib/appwrite/models/document.rb +5 -10
- data/lib/appwrite/models/execution.rb +10 -5
- data/lib/appwrite/models/file.rb +5 -10
- data/lib/appwrite/models/function.rb +2 -2
- data/lib/appwrite/models/index.rb +1 -1
- data/lib/appwrite/models/user.rb +15 -0
- data/lib/appwrite/models/variable.rb +52 -0
- data/lib/appwrite/models/variable_list.rb +32 -0
- data/lib/appwrite/permission.rb +21 -0
- data/lib/appwrite/query.rb +43 -14
- data/lib/appwrite/role.rb +31 -0
- data/lib/appwrite/services/account.rb +184 -143
- data/lib/appwrite/services/avatars.rb +72 -56
- data/lib/appwrite/services/databases.rb +638 -552
- data/lib/appwrite/services/functions.rb +380 -176
- data/lib/appwrite/services/health.rb +33 -10
- data/lib/appwrite/services/locale.rb +24 -7
- data/lib/appwrite/services/storage.rb +194 -193
- data/lib/appwrite/services/teams.rb +137 -128
- data/lib/appwrite/services/users.rb +572 -163
- data/lib/appwrite.rb +15 -0
- metadata +18 -4
@@ -3,6 +3,9 @@
|
|
3
3
|
module Appwrite
|
4
4
|
class Avatars < Service
|
5
5
|
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
6
9
|
|
7
10
|
# You can use this endpoint to show different browser icons to your users.
|
8
11
|
# The code argument receives the browser code as it appears in your user [GET
|
@@ -14,29 +17,30 @@ module Appwrite
|
|
14
17
|
# image at source quality. If dimensions are not specified, the default size
|
15
18
|
# of image returned is 100x100px.
|
16
19
|
#
|
17
|
-
# @param [
|
18
|
-
# @param [
|
19
|
-
# @param [
|
20
|
-
# @param [
|
20
|
+
# @param [String] code Browser Code.
|
21
|
+
# @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
|
22
|
+
# @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
|
23
|
+
# @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
|
21
24
|
#
|
22
25
|
# @return []
|
23
26
|
def get_browser(code:, width: nil, height: nil, quality: nil)
|
24
|
-
if code.nil?
|
25
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
26
|
-
end
|
27
27
|
|
28
28
|
path = '/avatars/browsers/{code}'
|
29
|
-
.gsub('{code}', code)
|
30
29
|
|
31
30
|
params = {
|
32
31
|
width: width,
|
33
32
|
height: height,
|
34
33
|
quality: quality,
|
35
34
|
}
|
36
|
-
|
35
|
+
|
37
36
|
headers = {
|
38
37
|
"content-type": 'application/json',
|
39
38
|
}
|
39
|
+
if code.nil?
|
40
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
41
|
+
end
|
42
|
+
|
43
|
+
.gsub('{code}', code)
|
40
44
|
|
41
45
|
@client.call(
|
42
46
|
method: 'GET',
|
@@ -46,6 +50,7 @@ module Appwrite
|
|
46
50
|
)
|
47
51
|
end
|
48
52
|
|
53
|
+
|
49
54
|
# The credit card endpoint will return you the icon of the credit card
|
50
55
|
# provider you need. Use width, height and quality arguments to change the
|
51
56
|
# output settings.
|
@@ -56,29 +61,30 @@ module Appwrite
|
|
56
61
|
# of image returned is 100x100px.
|
57
62
|
#
|
58
63
|
#
|
59
|
-
# @param [
|
60
|
-
# @param [
|
61
|
-
# @param [
|
62
|
-
# @param [
|
64
|
+
# @param [String] code Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.
|
65
|
+
# @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
|
66
|
+
# @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
|
67
|
+
# @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
|
63
68
|
#
|
64
69
|
# @return []
|
65
70
|
def get_credit_card(code:, width: nil, height: nil, quality: nil)
|
66
|
-
if code.nil?
|
67
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
68
|
-
end
|
69
71
|
|
70
72
|
path = '/avatars/credit-cards/{code}'
|
71
|
-
.gsub('{code}', code)
|
72
73
|
|
73
74
|
params = {
|
74
75
|
width: width,
|
75
76
|
height: height,
|
76
77
|
quality: quality,
|
77
78
|
}
|
78
|
-
|
79
|
+
|
79
80
|
headers = {
|
80
81
|
"content-type": 'application/json',
|
81
82
|
}
|
83
|
+
if code.nil?
|
84
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
85
|
+
end
|
86
|
+
|
87
|
+
.gsub('{code}', code)
|
82
88
|
|
83
89
|
@client.call(
|
84
90
|
method: 'GET',
|
@@ -88,27 +94,29 @@ module Appwrite
|
|
88
94
|
)
|
89
95
|
end
|
90
96
|
|
97
|
+
|
91
98
|
# Use this endpoint to fetch the favorite icon (AKA favicon) of any remote
|
92
99
|
# website URL.
|
93
100
|
#
|
94
101
|
#
|
95
|
-
# @param [
|
102
|
+
# @param [String] url Website URL which you want to fetch the favicon from.
|
96
103
|
#
|
97
104
|
# @return []
|
98
105
|
def get_favicon(url:)
|
99
|
-
if url.nil?
|
100
|
-
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
101
|
-
end
|
102
106
|
|
103
107
|
path = '/avatars/favicon'
|
104
108
|
|
105
109
|
params = {
|
106
110
|
url: url,
|
107
111
|
}
|
108
|
-
|
112
|
+
|
109
113
|
headers = {
|
110
114
|
"content-type": 'application/json',
|
111
115
|
}
|
116
|
+
if url.nil?
|
117
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
118
|
+
end
|
119
|
+
|
112
120
|
|
113
121
|
@client.call(
|
114
122
|
method: 'GET',
|
@@ -118,9 +126,11 @@ module Appwrite
|
|
118
126
|
)
|
119
127
|
end
|
120
128
|
|
129
|
+
|
121
130
|
# You can use this endpoint to show different country flags icons to your
|
122
131
|
# users. The code argument receives the 2 letter country code. Use width,
|
123
|
-
# height and quality arguments to change the output settings.
|
132
|
+
# height and quality arguments to change the output settings. Country codes
|
133
|
+
# follow the [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) standard.
|
124
134
|
#
|
125
135
|
# When one dimension is specified and the other is 0, the image is scaled
|
126
136
|
# with preserved aspect ratio. If both dimensions are 0, the API provides an
|
@@ -128,29 +138,30 @@ module Appwrite
|
|
128
138
|
# of image returned is 100x100px.
|
129
139
|
#
|
130
140
|
#
|
131
|
-
# @param [
|
132
|
-
# @param [
|
133
|
-
# @param [
|
134
|
-
# @param [
|
141
|
+
# @param [String] code Country Code. ISO Alpha-2 country code format.
|
142
|
+
# @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
|
143
|
+
# @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
|
144
|
+
# @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
|
135
145
|
#
|
136
146
|
# @return []
|
137
147
|
def get_flag(code:, width: nil, height: nil, quality: nil)
|
138
|
-
if code.nil?
|
139
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
140
|
-
end
|
141
148
|
|
142
149
|
path = '/avatars/flags/{code}'
|
143
|
-
.gsub('{code}', code)
|
144
150
|
|
145
151
|
params = {
|
146
152
|
width: width,
|
147
153
|
height: height,
|
148
154
|
quality: quality,
|
149
155
|
}
|
150
|
-
|
156
|
+
|
151
157
|
headers = {
|
152
158
|
"content-type": 'application/json',
|
153
159
|
}
|
160
|
+
if code.nil?
|
161
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
162
|
+
end
|
163
|
+
|
164
|
+
.gsub('{code}', code)
|
154
165
|
|
155
166
|
@client.call(
|
156
167
|
method: 'GET',
|
@@ -160,6 +171,7 @@ module Appwrite
|
|
160
171
|
)
|
161
172
|
end
|
162
173
|
|
174
|
+
|
163
175
|
# Use this endpoint to fetch a remote image URL and crop it to any image size
|
164
176
|
# you want. This endpoint is very useful if you need to crop and display
|
165
177
|
# remote images in your app or in case you want to make sure a 3rd party
|
@@ -171,15 +183,12 @@ module Appwrite
|
|
171
183
|
# of image returned is 400x400px.
|
172
184
|
#
|
173
185
|
#
|
174
|
-
# @param [
|
175
|
-
# @param [
|
176
|
-
# @param [
|
186
|
+
# @param [String] url Image URL which you want to crop.
|
187
|
+
# @param [Integer] width Resize preview image width, Pass an integer between 0 to 2000. Defaults to 400.
|
188
|
+
# @param [Integer] height Resize preview image height, Pass an integer between 0 to 2000. Defaults to 400.
|
177
189
|
#
|
178
190
|
# @return []
|
179
191
|
def get_image(url:, width: nil, height: nil)
|
180
|
-
if url.nil?
|
181
|
-
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
182
|
-
end
|
183
192
|
|
184
193
|
path = '/avatars/image'
|
185
194
|
|
@@ -188,10 +197,14 @@ module Appwrite
|
|
188
197
|
width: width,
|
189
198
|
height: height,
|
190
199
|
}
|
191
|
-
|
200
|
+
|
192
201
|
headers = {
|
193
202
|
"content-type": 'application/json',
|
194
203
|
}
|
204
|
+
if url.nil?
|
205
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
206
|
+
end
|
207
|
+
|
195
208
|
|
196
209
|
@client.call(
|
197
210
|
method: 'GET',
|
@@ -201,6 +214,7 @@ module Appwrite
|
|
201
214
|
)
|
202
215
|
end
|
203
216
|
|
217
|
+
|
204
218
|
# Use this endpoint to show your user initials avatar icon on your website or
|
205
219
|
# app. By default, this route will try to print your logged-in user name or
|
206
220
|
# email initials. You can also overwrite the user name if you pass the 'name'
|
@@ -218,24 +232,23 @@ module Appwrite
|
|
218
232
|
# of image returned is 100x100px.
|
219
233
|
#
|
220
234
|
#
|
221
|
-
# @param [
|
222
|
-
# @param [
|
223
|
-
# @param [
|
224
|
-
# @param [
|
225
|
-
# @param [string] background Changes background color. By default a random color will be picked and stay will persistent to the given name.
|
235
|
+
# @param [String] name Full Name. When empty, current user name or email will be used. Max length: 128 chars.
|
236
|
+
# @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
|
237
|
+
# @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
|
238
|
+
# @param [String] background Changes background color. By default a random color will be picked and stay will persistent to the given name.
|
226
239
|
#
|
227
240
|
# @return []
|
228
|
-
def get_initials(name: nil, width: nil, height: nil,
|
241
|
+
def get_initials(name: nil, width: nil, height: nil, background: nil)
|
242
|
+
|
229
243
|
path = '/avatars/initials'
|
230
244
|
|
231
245
|
params = {
|
232
246
|
name: name,
|
233
247
|
width: width,
|
234
248
|
height: height,
|
235
|
-
color: color,
|
236
249
|
background: background,
|
237
250
|
}
|
238
|
-
|
251
|
+
|
239
252
|
headers = {
|
240
253
|
"content-type": 'application/json',
|
241
254
|
}
|
@@ -248,20 +261,18 @@ module Appwrite
|
|
248
261
|
)
|
249
262
|
end
|
250
263
|
|
264
|
+
|
251
265
|
# Converts a given plain text to a QR code image. You can use the query
|
252
266
|
# parameters to change the size and style of the resulting image.
|
253
267
|
#
|
254
268
|
#
|
255
|
-
# @param [
|
256
|
-
# @param [
|
257
|
-
# @param [
|
258
|
-
# @param [
|
269
|
+
# @param [String] text Plain text to be converted to QR code image.
|
270
|
+
# @param [Integer] size QR code size. Pass an integer between 1 to 1000. Defaults to 400.
|
271
|
+
# @param [Integer] margin Margin from edge. Pass an integer between 0 to 10. Defaults to 1.
|
272
|
+
# @param [] download Return resulting image with 'Content-Disposition: attachment ' headers for the browser to start downloading it. Pass 0 for no header, or 1 for otherwise. Default value is set to 0.
|
259
273
|
#
|
260
274
|
# @return []
|
261
275
|
def get_qr(text:, size: nil, margin: nil, download: nil)
|
262
|
-
if text.nil?
|
263
|
-
raise Appwrite::Exception.new('Missing required parameter: "text"')
|
264
|
-
end
|
265
276
|
|
266
277
|
path = '/avatars/qr'
|
267
278
|
|
@@ -271,10 +282,14 @@ module Appwrite
|
|
271
282
|
margin: margin,
|
272
283
|
download: download,
|
273
284
|
}
|
274
|
-
|
285
|
+
|
275
286
|
headers = {
|
276
287
|
"content-type": 'application/json',
|
277
288
|
}
|
289
|
+
if text.nil?
|
290
|
+
raise Appwrite::Exception.new('Missing required parameter: "text"')
|
291
|
+
end
|
292
|
+
|
278
293
|
|
279
294
|
@client.call(
|
280
295
|
method: 'GET',
|
@@ -284,5 +299,6 @@ module Appwrite
|
|
284
299
|
)
|
285
300
|
end
|
286
301
|
|
302
|
+
|
287
303
|
end
|
288
304
|
end
|