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