appwrite 5.0.0 → 7.0.0.pre.RC2
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 +32 -11
- data/lib/appwrite/id.rb +11 -0
- data/lib/appwrite/input_file.rb +33 -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 +25 -25
- data/lib/appwrite/models/collection.rb +25 -15
- data/lib/appwrite/models/database.rb +42 -0
- data/lib/appwrite/models/database_list.rb +32 -0
- data/lib/appwrite/models/deployment.rb +10 -5
- data/lib/appwrite/models/document.rb +15 -10
- data/lib/appwrite/models/execution.rb +20 -10
- data/lib/appwrite/models/file.rb +15 -15
- data/lib/appwrite/models/function.rb +12 -12
- data/lib/appwrite/models/index.rb +1 -1
- data/lib/appwrite/models/membership.rb +10 -0
- data/lib/appwrite/models/session.rb +5 -0
- data/lib/appwrite/models/team.rb +10 -5
- data/lib/appwrite/models/token.rb +5 -0
- data/lib/appwrite/models/user.rb +35 -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 +250 -103
- data/lib/appwrite/services/avatars.rb +73 -56
- data/lib/appwrite/services/databases.rb +1425 -0
- data/lib/appwrite/services/functions.rb +381 -176
- data/lib/appwrite/services/health.rb +34 -10
- data/lib/appwrite/services/locale.rb +25 -7
- data/lib/appwrite/services/storage.rb +195 -193
- data/lib/appwrite/services/teams.rb +138 -128
- data/lib/appwrite/services/users.rb +610 -130
- data/lib/appwrite.rb +19 -2
- metadata +22 -6
- data/lib/appwrite/file.rb +0 -17
- data/lib/appwrite/services/database.rb +0 -1047
@@ -3,6 +3,10 @@
|
|
3
3
|
module Appwrite
|
4
4
|
class Avatars < Service
|
5
5
|
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
9
|
+
|
6
10
|
# You can use this endpoint to show different browser icons to your users.
|
7
11
|
# The code argument receives the browser code as it appears in your user [GET
|
8
12
|
# /account/sessions](/docs/client/account#accountGetSessions) endpoint. Use
|
@@ -13,29 +17,30 @@ module Appwrite
|
|
13
17
|
# image at source quality. If dimensions are not specified, the default size
|
14
18
|
# of image returned is 100x100px.
|
15
19
|
#
|
16
|
-
# @param [
|
17
|
-
# @param [
|
18
|
-
# @param [
|
19
|
-
# @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.
|
20
24
|
#
|
21
25
|
# @return []
|
22
26
|
def get_browser(code:, width: nil, height: nil, quality: nil)
|
23
|
-
if code.nil?
|
24
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
25
|
-
end
|
26
27
|
|
27
28
|
path = '/avatars/browsers/{code}'
|
28
|
-
.gsub('{code}', code)
|
29
29
|
|
30
30
|
params = {
|
31
31
|
width: width,
|
32
32
|
height: height,
|
33
33
|
quality: quality,
|
34
34
|
}
|
35
|
-
|
35
|
+
|
36
36
|
headers = {
|
37
37
|
"content-type": 'application/json',
|
38
38
|
}
|
39
|
+
if code.nil?
|
40
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
41
|
+
end
|
42
|
+
|
43
|
+
.gsub('{code}', code)
|
39
44
|
|
40
45
|
@client.call(
|
41
46
|
method: 'GET',
|
@@ -45,6 +50,7 @@ module Appwrite
|
|
45
50
|
)
|
46
51
|
end
|
47
52
|
|
53
|
+
|
48
54
|
# The credit card endpoint will return you the icon of the credit card
|
49
55
|
# provider you need. Use width, height and quality arguments to change the
|
50
56
|
# output settings.
|
@@ -55,29 +61,30 @@ module Appwrite
|
|
55
61
|
# of image returned is 100x100px.
|
56
62
|
#
|
57
63
|
#
|
58
|
-
# @param [
|
59
|
-
# @param [
|
60
|
-
# @param [
|
61
|
-
# @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.
|
62
68
|
#
|
63
69
|
# @return []
|
64
70
|
def get_credit_card(code:, width: nil, height: nil, quality: nil)
|
65
|
-
if code.nil?
|
66
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
67
|
-
end
|
68
71
|
|
69
72
|
path = '/avatars/credit-cards/{code}'
|
70
|
-
.gsub('{code}', code)
|
71
73
|
|
72
74
|
params = {
|
73
75
|
width: width,
|
74
76
|
height: height,
|
75
77
|
quality: quality,
|
76
78
|
}
|
77
|
-
|
79
|
+
|
78
80
|
headers = {
|
79
81
|
"content-type": 'application/json',
|
80
82
|
}
|
83
|
+
if code.nil?
|
84
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
85
|
+
end
|
86
|
+
|
87
|
+
.gsub('{code}', code)
|
81
88
|
|
82
89
|
@client.call(
|
83
90
|
method: 'GET',
|
@@ -87,27 +94,29 @@ module Appwrite
|
|
87
94
|
)
|
88
95
|
end
|
89
96
|
|
97
|
+
|
90
98
|
# Use this endpoint to fetch the favorite icon (AKA favicon) of any remote
|
91
99
|
# website URL.
|
92
100
|
#
|
93
101
|
#
|
94
|
-
# @param [
|
102
|
+
# @param [String] url Website URL which you want to fetch the favicon from.
|
95
103
|
#
|
96
104
|
# @return []
|
97
105
|
def get_favicon(url:)
|
98
|
-
if url.nil?
|
99
|
-
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
100
|
-
end
|
101
106
|
|
102
107
|
path = '/avatars/favicon'
|
103
108
|
|
104
109
|
params = {
|
105
110
|
url: url,
|
106
111
|
}
|
107
|
-
|
112
|
+
|
108
113
|
headers = {
|
109
114
|
"content-type": 'application/json',
|
110
115
|
}
|
116
|
+
if url.nil?
|
117
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
118
|
+
end
|
119
|
+
|
111
120
|
|
112
121
|
@client.call(
|
113
122
|
method: 'GET',
|
@@ -117,9 +126,11 @@ module Appwrite
|
|
117
126
|
)
|
118
127
|
end
|
119
128
|
|
129
|
+
|
120
130
|
# You can use this endpoint to show different country flags icons to your
|
121
131
|
# users. The code argument receives the 2 letter country code. Use width,
|
122
|
-
# 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.
|
123
134
|
#
|
124
135
|
# When one dimension is specified and the other is 0, the image is scaled
|
125
136
|
# with preserved aspect ratio. If both dimensions are 0, the API provides an
|
@@ -127,29 +138,30 @@ module Appwrite
|
|
127
138
|
# of image returned is 100x100px.
|
128
139
|
#
|
129
140
|
#
|
130
|
-
# @param [
|
131
|
-
# @param [
|
132
|
-
# @param [
|
133
|
-
# @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.
|
134
145
|
#
|
135
146
|
# @return []
|
136
147
|
def get_flag(code:, width: nil, height: nil, quality: nil)
|
137
|
-
if code.nil?
|
138
|
-
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
139
|
-
end
|
140
148
|
|
141
149
|
path = '/avatars/flags/{code}'
|
142
|
-
.gsub('{code}', code)
|
143
150
|
|
144
151
|
params = {
|
145
152
|
width: width,
|
146
153
|
height: height,
|
147
154
|
quality: quality,
|
148
155
|
}
|
149
|
-
|
156
|
+
|
150
157
|
headers = {
|
151
158
|
"content-type": 'application/json',
|
152
159
|
}
|
160
|
+
if code.nil?
|
161
|
+
raise Appwrite::Exception.new('Missing required parameter: "code"')
|
162
|
+
end
|
163
|
+
|
164
|
+
.gsub('{code}', code)
|
153
165
|
|
154
166
|
@client.call(
|
155
167
|
method: 'GET',
|
@@ -159,6 +171,7 @@ module Appwrite
|
|
159
171
|
)
|
160
172
|
end
|
161
173
|
|
174
|
+
|
162
175
|
# Use this endpoint to fetch a remote image URL and crop it to any image size
|
163
176
|
# you want. This endpoint is very useful if you need to crop and display
|
164
177
|
# remote images in your app or in case you want to make sure a 3rd party
|
@@ -170,15 +183,12 @@ module Appwrite
|
|
170
183
|
# of image returned is 400x400px.
|
171
184
|
#
|
172
185
|
#
|
173
|
-
# @param [
|
174
|
-
# @param [
|
175
|
-
# @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.
|
176
189
|
#
|
177
190
|
# @return []
|
178
191
|
def get_image(url:, width: nil, height: nil)
|
179
|
-
if url.nil?
|
180
|
-
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
181
|
-
end
|
182
192
|
|
183
193
|
path = '/avatars/image'
|
184
194
|
|
@@ -187,10 +197,14 @@ module Appwrite
|
|
187
197
|
width: width,
|
188
198
|
height: height,
|
189
199
|
}
|
190
|
-
|
200
|
+
|
191
201
|
headers = {
|
192
202
|
"content-type": 'application/json',
|
193
203
|
}
|
204
|
+
if url.nil?
|
205
|
+
raise Appwrite::Exception.new('Missing required parameter: "url"')
|
206
|
+
end
|
207
|
+
|
194
208
|
|
195
209
|
@client.call(
|
196
210
|
method: 'GET',
|
@@ -200,6 +214,7 @@ module Appwrite
|
|
200
214
|
)
|
201
215
|
end
|
202
216
|
|
217
|
+
|
203
218
|
# Use this endpoint to show your user initials avatar icon on your website or
|
204
219
|
# app. By default, this route will try to print your logged-in user name or
|
205
220
|
# email initials. You can also overwrite the user name if you pass the 'name'
|
@@ -217,24 +232,23 @@ module Appwrite
|
|
217
232
|
# of image returned is 100x100px.
|
218
233
|
#
|
219
234
|
#
|
220
|
-
# @param [
|
221
|
-
# @param [
|
222
|
-
# @param [
|
223
|
-
# @param [
|
224
|
-
# @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.
|
225
239
|
#
|
226
240
|
# @return []
|
227
|
-
def get_initials(name: nil, width: nil, height: nil,
|
241
|
+
def get_initials(name: nil, width: nil, height: nil, background: nil)
|
242
|
+
|
228
243
|
path = '/avatars/initials'
|
229
244
|
|
230
245
|
params = {
|
231
246
|
name: name,
|
232
247
|
width: width,
|
233
248
|
height: height,
|
234
|
-
color: color,
|
235
249
|
background: background,
|
236
250
|
}
|
237
|
-
|
251
|
+
|
238
252
|
headers = {
|
239
253
|
"content-type": 'application/json',
|
240
254
|
}
|
@@ -247,20 +261,18 @@ module Appwrite
|
|
247
261
|
)
|
248
262
|
end
|
249
263
|
|
264
|
+
|
250
265
|
# Converts a given plain text to a QR code image. You can use the query
|
251
266
|
# parameters to change the size and style of the resulting image.
|
252
267
|
#
|
253
268
|
#
|
254
|
-
# @param [
|
255
|
-
# @param [
|
256
|
-
# @param [
|
257
|
-
# @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.
|
258
273
|
#
|
259
274
|
# @return []
|
260
275
|
def get_qr(text:, size: nil, margin: nil, download: nil)
|
261
|
-
if text.nil?
|
262
|
-
raise Appwrite::Exception.new('Missing required parameter: "text"')
|
263
|
-
end
|
264
276
|
|
265
277
|
path = '/avatars/qr'
|
266
278
|
|
@@ -270,10 +282,14 @@ module Appwrite
|
|
270
282
|
margin: margin,
|
271
283
|
download: download,
|
272
284
|
}
|
273
|
-
|
285
|
+
|
274
286
|
headers = {
|
275
287
|
"content-type": 'application/json',
|
276
288
|
}
|
289
|
+
if text.nil?
|
290
|
+
raise Appwrite::Exception.new('Missing required parameter: "text"')
|
291
|
+
end
|
292
|
+
|
277
293
|
|
278
294
|
@client.call(
|
279
295
|
method: 'GET',
|
@@ -283,5 +299,6 @@ module Appwrite
|
|
283
299
|
)
|
284
300
|
end
|
285
301
|
|
302
|
+
|
286
303
|
end
|
287
304
|
end
|