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,30 +3,26 @@
|
|
3
3
|
module Appwrite
|
4
4
|
class Users < Service
|
5
5
|
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
6
9
|
|
7
10
|
# Get a list of all the project's users. You can use the query params to
|
8
11
|
# filter your results.
|
9
12
|
#
|
10
|
-
# @param [
|
11
|
-
# @param [
|
12
|
-
# @param [number] offset Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)
|
13
|
-
# @param [string] cursor ID of the user used as the starting point for the query, excluding the user itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)
|
14
|
-
# @param [string] cursor_direction Direction of the cursor, can be either 'before' or 'after'.
|
15
|
-
# @param [string] order_type Order result by ASC or DESC order.
|
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/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification
|
14
|
+
# @param [String] search Search term to filter your list results. Max length: 256 chars.
|
16
15
|
#
|
17
16
|
# @return [UserList]
|
18
|
-
def list(
|
17
|
+
def list(queries: nil, search: nil)
|
18
|
+
|
19
19
|
path = '/users'
|
20
20
|
|
21
21
|
params = {
|
22
|
+
queries: queries,
|
22
23
|
search: search,
|
23
|
-
limit: limit,
|
24
|
-
offset: offset,
|
25
|
-
cursor: cursor,
|
26
|
-
cursorDirection: cursor_direction,
|
27
|
-
orderType: order_type,
|
28
24
|
}
|
29
|
-
|
25
|
+
|
30
26
|
headers = {
|
31
27
|
"content-type": 'application/json',
|
32
28
|
}
|
@@ -40,15 +36,71 @@ module Appwrite
|
|
40
36
|
)
|
41
37
|
end
|
42
38
|
|
39
|
+
|
43
40
|
# Create a new user.
|
44
41
|
#
|
45
|
-
# @param [
|
46
|
-
# @param [
|
47
|
-
# @param [
|
48
|
-
# @param [
|
42
|
+
# @param [String] user_id User 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.
|
43
|
+
# @param [String] email User email.
|
44
|
+
# @param [String] phone Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
|
45
|
+
# @param [String] password Plain text user password. Must be at least 8 chars.
|
46
|
+
# @param [String] name User name. Max length: 128 chars.
|
47
|
+
#
|
48
|
+
# @return [User]
|
49
|
+
def create(user_id:, email: nil, phone: nil, password: nil, name: nil)
|
50
|
+
|
51
|
+
path = '/users'
|
52
|
+
|
53
|
+
params = {
|
54
|
+
userId: user_id,
|
55
|
+
email: email,
|
56
|
+
phone: phone,
|
57
|
+
password: password,
|
58
|
+
name: name,
|
59
|
+
}
|
60
|
+
|
61
|
+
headers = {
|
62
|
+
"content-type": 'application/json',
|
63
|
+
}
|
64
|
+
if user_id.nil?
|
65
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
@client.call(
|
70
|
+
method: 'POST',
|
71
|
+
path: path,
|
72
|
+
headers: headers,
|
73
|
+
params: params,
|
74
|
+
response_type: Models::User
|
75
|
+
)
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
# Create a new user. Password provided must be hashed with the
|
80
|
+
# [Argon2](https://en.wikipedia.org/wiki/Argon2) algorithm. Use the [POST
|
81
|
+
# /users](/docs/server/users#usersCreate) endpoint to create users with a
|
82
|
+
# plain text password.
|
83
|
+
#
|
84
|
+
# @param [String] user_id User 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.
|
85
|
+
# @param [String] email User email.
|
86
|
+
# @param [String] password User password hashed using Argon2.
|
87
|
+
# @param [String] name User name. Max length: 128 chars.
|
49
88
|
#
|
50
89
|
# @return [User]
|
51
|
-
def
|
90
|
+
def create_argon2_user(user_id:, email:, password:, name: nil)
|
91
|
+
|
92
|
+
path = '/users/argon2'
|
93
|
+
|
94
|
+
params = {
|
95
|
+
userId: user_id,
|
96
|
+
email: email,
|
97
|
+
password: password,
|
98
|
+
name: name,
|
99
|
+
}
|
100
|
+
|
101
|
+
headers = {
|
102
|
+
"content-type": 'application/json',
|
103
|
+
}
|
52
104
|
if user_id.nil?
|
53
105
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
54
106
|
end
|
@@ -61,7 +113,31 @@ module Appwrite
|
|
61
113
|
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
62
114
|
end
|
63
115
|
|
64
|
-
|
116
|
+
|
117
|
+
@client.call(
|
118
|
+
method: 'POST',
|
119
|
+
path: path,
|
120
|
+
headers: headers,
|
121
|
+
params: params,
|
122
|
+
response_type: Models::User
|
123
|
+
)
|
124
|
+
end
|
125
|
+
|
126
|
+
|
127
|
+
# Create a new user. Password provided must be hashed with the
|
128
|
+
# [Bcrypt](https://en.wikipedia.org/wiki/Bcrypt) algorithm. Use the [POST
|
129
|
+
# /users](/docs/server/users#usersCreate) endpoint to create users with a
|
130
|
+
# plain text password.
|
131
|
+
#
|
132
|
+
# @param [String] user_id User 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.
|
133
|
+
# @param [String] email User email.
|
134
|
+
# @param [String] password User password hashed using Bcrypt.
|
135
|
+
# @param [String] name User name. Max length: 128 chars.
|
136
|
+
#
|
137
|
+
# @return [User]
|
138
|
+
def create_bcrypt_user(user_id:, email:, password:, name: nil)
|
139
|
+
|
140
|
+
path = '/users/bcrypt'
|
65
141
|
|
66
142
|
params = {
|
67
143
|
userId: user_id,
|
@@ -69,10 +145,70 @@ module Appwrite
|
|
69
145
|
password: password,
|
70
146
|
name: name,
|
71
147
|
}
|
148
|
+
|
149
|
+
headers = {
|
150
|
+
"content-type": 'application/json',
|
151
|
+
}
|
152
|
+
if user_id.nil?
|
153
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
154
|
+
end
|
155
|
+
|
156
|
+
if email.nil?
|
157
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
158
|
+
end
|
159
|
+
|
160
|
+
if password.nil?
|
161
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
162
|
+
end
|
72
163
|
|
164
|
+
|
165
|
+
@client.call(
|
166
|
+
method: 'POST',
|
167
|
+
path: path,
|
168
|
+
headers: headers,
|
169
|
+
params: params,
|
170
|
+
response_type: Models::User
|
171
|
+
)
|
172
|
+
end
|
173
|
+
|
174
|
+
|
175
|
+
# Create a new user. Password provided must be hashed with the
|
176
|
+
# [MD5](https://en.wikipedia.org/wiki/MD5) algorithm. Use the [POST
|
177
|
+
# /users](/docs/server/users#usersCreate) endpoint to create users with a
|
178
|
+
# plain text password.
|
179
|
+
#
|
180
|
+
# @param [String] user_id User 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.
|
181
|
+
# @param [String] email User email.
|
182
|
+
# @param [String] password User password hashed using MD5.
|
183
|
+
# @param [String] name User name. Max length: 128 chars.
|
184
|
+
#
|
185
|
+
# @return [User]
|
186
|
+
def create_md5_user(user_id:, email:, password:, name: nil)
|
187
|
+
|
188
|
+
path = '/users/md5'
|
189
|
+
|
190
|
+
params = {
|
191
|
+
userId: user_id,
|
192
|
+
email: email,
|
193
|
+
password: password,
|
194
|
+
name: name,
|
195
|
+
}
|
196
|
+
|
73
197
|
headers = {
|
74
198
|
"content-type": 'application/json',
|
75
199
|
}
|
200
|
+
if user_id.nil?
|
201
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
202
|
+
end
|
203
|
+
|
204
|
+
if email.nil?
|
205
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
206
|
+
end
|
207
|
+
|
208
|
+
if password.nil?
|
209
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
210
|
+
end
|
211
|
+
|
76
212
|
|
77
213
|
@client.call(
|
78
214
|
method: 'POST',
|
@@ -83,25 +219,269 @@ module Appwrite
|
|
83
219
|
)
|
84
220
|
end
|
85
221
|
|
86
|
-
|
222
|
+
|
223
|
+
# Create a new user. Password provided must be hashed with the
|
224
|
+
# [PHPass](https://www.openwall.com/phpass/) algorithm. Use the [POST
|
225
|
+
# /users](/docs/server/users#usersCreate) endpoint to create users with a
|
226
|
+
# plain text password.
|
87
227
|
#
|
88
|
-
# @param [
|
228
|
+
# @param [String] user_id User 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.
|
229
|
+
# @param [String] email User email.
|
230
|
+
# @param [String] password User password hashed using PHPass.
|
231
|
+
# @param [String] name User name. Max length: 128 chars.
|
89
232
|
#
|
90
233
|
# @return [User]
|
91
|
-
def
|
234
|
+
def create_ph_pass_user(user_id:, email:, password:, name: nil)
|
235
|
+
|
236
|
+
path = '/users/phpass'
|
237
|
+
|
238
|
+
params = {
|
239
|
+
userId: user_id,
|
240
|
+
email: email,
|
241
|
+
password: password,
|
242
|
+
name: name,
|
243
|
+
}
|
244
|
+
|
245
|
+
headers = {
|
246
|
+
"content-type": 'application/json',
|
247
|
+
}
|
92
248
|
if user_id.nil?
|
93
249
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
94
250
|
end
|
95
251
|
|
96
|
-
|
97
|
-
.
|
252
|
+
if email.nil?
|
253
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
254
|
+
end
|
255
|
+
|
256
|
+
if password.nil?
|
257
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
258
|
+
end
|
259
|
+
|
260
|
+
|
261
|
+
@client.call(
|
262
|
+
method: 'POST',
|
263
|
+
path: path,
|
264
|
+
headers: headers,
|
265
|
+
params: params,
|
266
|
+
response_type: Models::User
|
267
|
+
)
|
268
|
+
end
|
269
|
+
|
270
|
+
|
271
|
+
# Create a new user. Password provided must be hashed with the
|
272
|
+
# [Scrypt](https://github.com/Tarsnap/scrypt) algorithm. Use the [POST
|
273
|
+
# /users](/docs/server/users#usersCreate) endpoint to create users with a
|
274
|
+
# plain text password.
|
275
|
+
#
|
276
|
+
# @param [String] user_id User 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.
|
277
|
+
# @param [String] email User email.
|
278
|
+
# @param [String] password User password hashed using Scrypt.
|
279
|
+
# @param [String] password_salt Optional salt used to hash password.
|
280
|
+
# @param [Integer] password_cpu Optional CPU cost used to hash password.
|
281
|
+
# @param [Integer] password_memory Optional memory cost used to hash password.
|
282
|
+
# @param [Integer] password_parallel Optional parallelization cost used to hash password.
|
283
|
+
# @param [Integer] password_length Optional hash length used to hash password.
|
284
|
+
# @param [String] name User name. Max length: 128 chars.
|
285
|
+
#
|
286
|
+
# @return [User]
|
287
|
+
def create_scrypt_user(user_id:, email:, password:, password_salt:, password_cpu:, password_memory:, password_parallel:, password_length:, name: nil)
|
288
|
+
|
289
|
+
path = '/users/scrypt'
|
98
290
|
|
99
291
|
params = {
|
292
|
+
userId: user_id,
|
293
|
+
email: email,
|
294
|
+
password: password,
|
295
|
+
passwordSalt: password_salt,
|
296
|
+
passwordCpu: password_cpu,
|
297
|
+
passwordMemory: password_memory,
|
298
|
+
passwordParallel: password_parallel,
|
299
|
+
passwordLength: password_length,
|
300
|
+
name: name,
|
100
301
|
}
|
302
|
+
|
303
|
+
headers = {
|
304
|
+
"content-type": 'application/json',
|
305
|
+
}
|
306
|
+
if user_id.nil?
|
307
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
308
|
+
end
|
309
|
+
|
310
|
+
if email.nil?
|
311
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
312
|
+
end
|
313
|
+
|
314
|
+
if password.nil?
|
315
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
316
|
+
end
|
317
|
+
|
318
|
+
if password_salt.nil?
|
319
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSalt"')
|
320
|
+
end
|
321
|
+
|
322
|
+
if password_cpu.nil?
|
323
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordCpu"')
|
324
|
+
end
|
325
|
+
|
326
|
+
if password_memory.nil?
|
327
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordMemory"')
|
328
|
+
end
|
329
|
+
|
330
|
+
if password_parallel.nil?
|
331
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordParallel"')
|
332
|
+
end
|
333
|
+
|
334
|
+
if password_length.nil?
|
335
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordLength"')
|
336
|
+
end
|
337
|
+
|
338
|
+
|
339
|
+
@client.call(
|
340
|
+
method: 'POST',
|
341
|
+
path: path,
|
342
|
+
headers: headers,
|
343
|
+
params: params,
|
344
|
+
response_type: Models::User
|
345
|
+
)
|
346
|
+
end
|
347
|
+
|
348
|
+
|
349
|
+
# Create a new user. Password provided must be hashed with the [Scrypt
|
350
|
+
# Modified](https://gist.github.com/Meldiron/eecf84a0225eccb5a378d45bb27462cc)
|
351
|
+
# algorithm. Use the [POST /users](/docs/server/users#usersCreate) endpoint
|
352
|
+
# to create users with a plain text password.
|
353
|
+
#
|
354
|
+
# @param [String] user_id User 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.
|
355
|
+
# @param [String] email User email.
|
356
|
+
# @param [String] password User password hashed using Scrypt Modified.
|
357
|
+
# @param [String] password_salt Salt used to hash password.
|
358
|
+
# @param [String] password_salt_separator Salt separator used to hash password.
|
359
|
+
# @param [String] password_signer_key Signer key used to hash password.
|
360
|
+
# @param [String] name User name. Max length: 128 chars.
|
361
|
+
#
|
362
|
+
# @return [User]
|
363
|
+
def create_scrypt_modified_user(user_id:, email:, password:, password_salt:, password_salt_separator:, password_signer_key:, name: nil)
|
364
|
+
|
365
|
+
path = '/users/scrypt-modified'
|
366
|
+
|
367
|
+
params = {
|
368
|
+
userId: user_id,
|
369
|
+
email: email,
|
370
|
+
password: password,
|
371
|
+
passwordSalt: password_salt,
|
372
|
+
passwordSaltSeparator: password_salt_separator,
|
373
|
+
passwordSignerKey: password_signer_key,
|
374
|
+
name: name,
|
375
|
+
}
|
376
|
+
|
377
|
+
headers = {
|
378
|
+
"content-type": 'application/json',
|
379
|
+
}
|
380
|
+
if user_id.nil?
|
381
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
382
|
+
end
|
383
|
+
|
384
|
+
if email.nil?
|
385
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
386
|
+
end
|
387
|
+
|
388
|
+
if password.nil?
|
389
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
390
|
+
end
|
391
|
+
|
392
|
+
if password_salt.nil?
|
393
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSalt"')
|
394
|
+
end
|
395
|
+
|
396
|
+
if password_salt_separator.nil?
|
397
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSaltSeparator"')
|
398
|
+
end
|
399
|
+
|
400
|
+
if password_signer_key.nil?
|
401
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSignerKey"')
|
402
|
+
end
|
403
|
+
|
404
|
+
|
405
|
+
@client.call(
|
406
|
+
method: 'POST',
|
407
|
+
path: path,
|
408
|
+
headers: headers,
|
409
|
+
params: params,
|
410
|
+
response_type: Models::User
|
411
|
+
)
|
412
|
+
end
|
413
|
+
|
414
|
+
|
415
|
+
# Create a new user. Password provided must be hashed with the
|
416
|
+
# [SHA](https://en.wikipedia.org/wiki/Secure_Hash_Algorithm) algorithm. Use
|
417
|
+
# the [POST /users](/docs/server/users#usersCreate) endpoint to create users
|
418
|
+
# with a plain text password.
|
419
|
+
#
|
420
|
+
# @param [String] user_id User 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.
|
421
|
+
# @param [String] email User email.
|
422
|
+
# @param [String] password User password hashed using SHA.
|
423
|
+
# @param [String] password_version Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512/224', 'sha512/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'
|
424
|
+
# @param [String] name User name. Max length: 128 chars.
|
425
|
+
#
|
426
|
+
# @return [User]
|
427
|
+
def create_sha_user(user_id:, email:, password:, password_version: nil, name: nil)
|
428
|
+
|
429
|
+
path = '/users/sha'
|
430
|
+
|
431
|
+
params = {
|
432
|
+
userId: user_id,
|
433
|
+
email: email,
|
434
|
+
password: password,
|
435
|
+
passwordVersion: password_version,
|
436
|
+
name: name,
|
437
|
+
}
|
438
|
+
|
439
|
+
headers = {
|
440
|
+
"content-type": 'application/json',
|
441
|
+
}
|
442
|
+
if user_id.nil?
|
443
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
444
|
+
end
|
445
|
+
|
446
|
+
if email.nil?
|
447
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
448
|
+
end
|
449
|
+
|
450
|
+
if password.nil?
|
451
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
452
|
+
end
|
453
|
+
|
454
|
+
|
455
|
+
@client.call(
|
456
|
+
method: 'POST',
|
457
|
+
path: path,
|
458
|
+
headers: headers,
|
459
|
+
params: params,
|
460
|
+
response_type: Models::User
|
461
|
+
)
|
462
|
+
end
|
101
463
|
|
464
|
+
|
465
|
+
# Get a user by its unique ID.
|
466
|
+
#
|
467
|
+
# @param [String] user_id User ID.
|
468
|
+
#
|
469
|
+
# @return [User]
|
470
|
+
def get(user_id:)
|
471
|
+
|
472
|
+
path = '/users/{userId}'
|
473
|
+
|
474
|
+
params = {
|
475
|
+
}
|
476
|
+
|
102
477
|
headers = {
|
103
478
|
"content-type": 'application/json',
|
104
479
|
}
|
480
|
+
if user_id.nil?
|
481
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
482
|
+
end
|
483
|
+
|
484
|
+
.gsub('{userId}', user_id)
|
105
485
|
|
106
486
|
@client.call(
|
107
487
|
method: 'GET',
|
@@ -112,29 +492,31 @@ module Appwrite
|
|
112
492
|
)
|
113
493
|
end
|
114
494
|
|
495
|
+
|
115
496
|
# Delete a user by its unique ID, thereby releasing it's ID. Since ID is
|
116
497
|
# released and can be reused, all user-related resources like documents or
|
117
498
|
# storage files should be deleted before user deletion. If you want to keep
|
118
499
|
# ID reserved, use the [updateStatus](/docs/server/users#usersUpdateStatus)
|
119
500
|
# endpoint instead.
|
120
501
|
#
|
121
|
-
# @param [
|
502
|
+
# @param [String] user_id User ID.
|
122
503
|
#
|
123
504
|
# @return []
|
124
505
|
def delete(user_id:)
|
125
|
-
if user_id.nil?
|
126
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
127
|
-
end
|
128
506
|
|
129
507
|
path = '/users/{userId}'
|
130
|
-
.gsub('{userId}', user_id)
|
131
508
|
|
132
509
|
params = {
|
133
510
|
}
|
134
|
-
|
511
|
+
|
135
512
|
headers = {
|
136
513
|
"content-type": 'application/json',
|
137
514
|
}
|
515
|
+
if user_id.nil?
|
516
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
517
|
+
end
|
518
|
+
|
519
|
+
.gsub('{userId}', user_id)
|
138
520
|
|
139
521
|
@client.call(
|
140
522
|
method: 'DELETE',
|
@@ -144,31 +526,33 @@ module Appwrite
|
|
144
526
|
)
|
145
527
|
end
|
146
528
|
|
529
|
+
|
147
530
|
# Update the user email by its unique ID.
|
148
531
|
#
|
149
|
-
# @param [
|
150
|
-
# @param [
|
532
|
+
# @param [String] user_id User ID.
|
533
|
+
# @param [String] email User email.
|
151
534
|
#
|
152
535
|
# @return [User]
|
153
536
|
def update_email(user_id:, email:)
|
154
|
-
if user_id.nil?
|
155
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
156
|
-
end
|
157
|
-
|
158
|
-
if email.nil?
|
159
|
-
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
160
|
-
end
|
161
537
|
|
162
538
|
path = '/users/{userId}/email'
|
163
|
-
.gsub('{userId}', user_id)
|
164
539
|
|
165
540
|
params = {
|
166
541
|
email: email,
|
167
542
|
}
|
168
|
-
|
543
|
+
|
169
544
|
headers = {
|
170
545
|
"content-type": 'application/json',
|
171
546
|
}
|
547
|
+
if user_id.nil?
|
548
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
549
|
+
end
|
550
|
+
|
551
|
+
if email.nil?
|
552
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
553
|
+
end
|
554
|
+
|
555
|
+
.gsub('{userId}', user_id)
|
172
556
|
|
173
557
|
@client.call(
|
174
558
|
method: 'PATCH',
|
@@ -179,29 +563,29 @@ module Appwrite
|
|
179
563
|
)
|
180
564
|
end
|
181
565
|
|
566
|
+
|
182
567
|
# Get the user activity logs list by its unique ID.
|
183
568
|
#
|
184
|
-
# @param [
|
185
|
-
# @param [
|
186
|
-
# @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)
|
569
|
+
# @param [String] user_id User ID.
|
570
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Only supported methods are limit and offset
|
187
571
|
#
|
188
572
|
# @return [LogList]
|
189
|
-
def get_logs(user_id:,
|
190
|
-
if user_id.nil?
|
191
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
192
|
-
end
|
573
|
+
def get_logs(user_id:, queries: nil)
|
193
574
|
|
194
575
|
path = '/users/{userId}/logs'
|
195
|
-
.gsub('{userId}', user_id)
|
196
576
|
|
197
577
|
params = {
|
198
|
-
|
199
|
-
offset: offset,
|
578
|
+
queries: queries,
|
200
579
|
}
|
201
|
-
|
580
|
+
|
202
581
|
headers = {
|
203
582
|
"content-type": 'application/json',
|
204
583
|
}
|
584
|
+
if user_id.nil?
|
585
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
586
|
+
end
|
587
|
+
|
588
|
+
.gsub('{userId}', user_id)
|
205
589
|
|
206
590
|
@client.call(
|
207
591
|
method: 'GET',
|
@@ -212,25 +596,27 @@ module Appwrite
|
|
212
596
|
)
|
213
597
|
end
|
214
598
|
|
599
|
+
|
215
600
|
# Get the user membership list by its unique ID.
|
216
601
|
#
|
217
|
-
# @param [
|
602
|
+
# @param [String] user_id User ID.
|
218
603
|
#
|
219
604
|
# @return [MembershipList]
|
220
605
|
def get_memberships(user_id:)
|
221
|
-
if user_id.nil?
|
222
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
223
|
-
end
|
224
606
|
|
225
607
|
path = '/users/{userId}/memberships'
|
226
|
-
.gsub('{userId}', user_id)
|
227
608
|
|
228
609
|
params = {
|
229
610
|
}
|
230
|
-
|
611
|
+
|
231
612
|
headers = {
|
232
613
|
"content-type": 'application/json',
|
233
614
|
}
|
615
|
+
if user_id.nil?
|
616
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
617
|
+
end
|
618
|
+
|
619
|
+
.gsub('{userId}', user_id)
|
234
620
|
|
235
621
|
@client.call(
|
236
622
|
method: 'GET',
|
@@ -241,31 +627,33 @@ module Appwrite
|
|
241
627
|
)
|
242
628
|
end
|
243
629
|
|
630
|
+
|
244
631
|
# Update the user name by its unique ID.
|
245
632
|
#
|
246
|
-
# @param [
|
247
|
-
# @param [
|
633
|
+
# @param [String] user_id User ID.
|
634
|
+
# @param [String] name User name. Max length: 128 chars.
|
248
635
|
#
|
249
636
|
# @return [User]
|
250
637
|
def update_name(user_id:, name:)
|
251
|
-
if user_id.nil?
|
252
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
253
|
-
end
|
254
|
-
|
255
|
-
if name.nil?
|
256
|
-
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
257
|
-
end
|
258
638
|
|
259
639
|
path = '/users/{userId}/name'
|
260
|
-
.gsub('{userId}', user_id)
|
261
640
|
|
262
641
|
params = {
|
263
642
|
name: name,
|
264
643
|
}
|
265
|
-
|
644
|
+
|
266
645
|
headers = {
|
267
646
|
"content-type": 'application/json',
|
268
647
|
}
|
648
|
+
if user_id.nil?
|
649
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
650
|
+
end
|
651
|
+
|
652
|
+
if name.nil?
|
653
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
654
|
+
end
|
655
|
+
|
656
|
+
.gsub('{userId}', user_id)
|
269
657
|
|
270
658
|
@client.call(
|
271
659
|
method: 'PATCH',
|
@@ -276,31 +664,33 @@ module Appwrite
|
|
276
664
|
)
|
277
665
|
end
|
278
666
|
|
667
|
+
|
279
668
|
# Update the user password by its unique ID.
|
280
669
|
#
|
281
|
-
# @param [
|
282
|
-
# @param [
|
670
|
+
# @param [String] user_id User ID.
|
671
|
+
# @param [String] password New user password. Must be at least 8 chars.
|
283
672
|
#
|
284
673
|
# @return [User]
|
285
674
|
def update_password(user_id:, password:)
|
286
|
-
if user_id.nil?
|
287
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
288
|
-
end
|
289
|
-
|
290
|
-
if password.nil?
|
291
|
-
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
292
|
-
end
|
293
675
|
|
294
676
|
path = '/users/{userId}/password'
|
295
|
-
.gsub('{userId}', user_id)
|
296
677
|
|
297
678
|
params = {
|
298
679
|
password: password,
|
299
680
|
}
|
300
|
-
|
681
|
+
|
301
682
|
headers = {
|
302
683
|
"content-type": 'application/json',
|
303
684
|
}
|
685
|
+
if user_id.nil?
|
686
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
687
|
+
end
|
688
|
+
|
689
|
+
if password.nil?
|
690
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
691
|
+
end
|
692
|
+
|
693
|
+
.gsub('{userId}', user_id)
|
304
694
|
|
305
695
|
@client.call(
|
306
696
|
method: 'PATCH',
|
@@ -311,31 +701,33 @@ module Appwrite
|
|
311
701
|
)
|
312
702
|
end
|
313
703
|
|
704
|
+
|
314
705
|
# Update the user phone by its unique ID.
|
315
706
|
#
|
316
|
-
# @param [
|
317
|
-
# @param [
|
707
|
+
# @param [String] user_id User ID.
|
708
|
+
# @param [String] number User phone number.
|
318
709
|
#
|
319
710
|
# @return [User]
|
320
711
|
def update_phone(user_id:, number:)
|
321
|
-
if user_id.nil?
|
322
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
323
|
-
end
|
324
|
-
|
325
|
-
if number.nil?
|
326
|
-
raise Appwrite::Exception.new('Missing required parameter: "number"')
|
327
|
-
end
|
328
712
|
|
329
713
|
path = '/users/{userId}/phone'
|
330
|
-
.gsub('{userId}', user_id)
|
331
714
|
|
332
715
|
params = {
|
333
716
|
number: number,
|
334
717
|
}
|
335
|
-
|
718
|
+
|
336
719
|
headers = {
|
337
720
|
"content-type": 'application/json',
|
338
721
|
}
|
722
|
+
if user_id.nil?
|
723
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
724
|
+
end
|
725
|
+
|
726
|
+
if number.nil?
|
727
|
+
raise Appwrite::Exception.new('Missing required parameter: "number"')
|
728
|
+
end
|
729
|
+
|
730
|
+
.gsub('{userId}', user_id)
|
339
731
|
|
340
732
|
@client.call(
|
341
733
|
method: 'PATCH',
|
@@ -346,25 +738,27 @@ module Appwrite
|
|
346
738
|
)
|
347
739
|
end
|
348
740
|
|
741
|
+
|
349
742
|
# Get the user preferences by its unique ID.
|
350
743
|
#
|
351
|
-
# @param [
|
744
|
+
# @param [String] user_id User ID.
|
352
745
|
#
|
353
746
|
# @return [Preferences]
|
354
747
|
def get_prefs(user_id:)
|
355
|
-
if user_id.nil?
|
356
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
357
|
-
end
|
358
748
|
|
359
749
|
path = '/users/{userId}/prefs'
|
360
|
-
.gsub('{userId}', user_id)
|
361
750
|
|
362
751
|
params = {
|
363
752
|
}
|
364
|
-
|
753
|
+
|
365
754
|
headers = {
|
366
755
|
"content-type": 'application/json',
|
367
756
|
}
|
757
|
+
if user_id.nil?
|
758
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
759
|
+
end
|
760
|
+
|
761
|
+
.gsub('{userId}', user_id)
|
368
762
|
|
369
763
|
@client.call(
|
370
764
|
method: 'GET',
|
@@ -375,33 +769,35 @@ module Appwrite
|
|
375
769
|
)
|
376
770
|
end
|
377
771
|
|
772
|
+
|
378
773
|
# Update the user preferences by its unique ID. The object you pass is stored
|
379
774
|
# as is, and replaces any previous value. The maximum allowed prefs size is
|
380
775
|
# 64kB and throws error if exceeded.
|
381
776
|
#
|
382
|
-
# @param [
|
383
|
-
# @param [
|
777
|
+
# @param [String] user_id User ID.
|
778
|
+
# @param [Hash] prefs Prefs key-value JSON object.
|
384
779
|
#
|
385
780
|
# @return [Preferences]
|
386
781
|
def update_prefs(user_id:, prefs:)
|
387
|
-
if user_id.nil?
|
388
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
389
|
-
end
|
390
|
-
|
391
|
-
if prefs.nil?
|
392
|
-
raise Appwrite::Exception.new('Missing required parameter: "prefs"')
|
393
|
-
end
|
394
782
|
|
395
783
|
path = '/users/{userId}/prefs'
|
396
|
-
.gsub('{userId}', user_id)
|
397
784
|
|
398
785
|
params = {
|
399
786
|
prefs: prefs,
|
400
787
|
}
|
401
|
-
|
788
|
+
|
402
789
|
headers = {
|
403
790
|
"content-type": 'application/json',
|
404
791
|
}
|
792
|
+
if user_id.nil?
|
793
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
794
|
+
end
|
795
|
+
|
796
|
+
if prefs.nil?
|
797
|
+
raise Appwrite::Exception.new('Missing required parameter: "prefs"')
|
798
|
+
end
|
799
|
+
|
800
|
+
.gsub('{userId}', user_id)
|
405
801
|
|
406
802
|
@client.call(
|
407
803
|
method: 'PATCH',
|
@@ -412,25 +808,27 @@ module Appwrite
|
|
412
808
|
)
|
413
809
|
end
|
414
810
|
|
811
|
+
|
415
812
|
# Get the user sessions list by its unique ID.
|
416
813
|
#
|
417
|
-
# @param [
|
814
|
+
# @param [String] user_id User ID.
|
418
815
|
#
|
419
816
|
# @return [SessionList]
|
420
817
|
def get_sessions(user_id:)
|
421
|
-
if user_id.nil?
|
422
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
423
|
-
end
|
424
818
|
|
425
819
|
path = '/users/{userId}/sessions'
|
426
|
-
.gsub('{userId}', user_id)
|
427
820
|
|
428
821
|
params = {
|
429
822
|
}
|
430
|
-
|
823
|
+
|
431
824
|
headers = {
|
432
825
|
"content-type": 'application/json',
|
433
826
|
}
|
827
|
+
if user_id.nil?
|
828
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
829
|
+
end
|
830
|
+
|
831
|
+
.gsub('{userId}', user_id)
|
434
832
|
|
435
833
|
@client.call(
|
436
834
|
method: 'GET',
|
@@ -441,25 +839,27 @@ module Appwrite
|
|
441
839
|
)
|
442
840
|
end
|
443
841
|
|
842
|
+
|
444
843
|
# Delete all user's sessions by using the user's unique ID.
|
445
844
|
#
|
446
|
-
# @param [
|
845
|
+
# @param [String] user_id User ID.
|
447
846
|
#
|
448
847
|
# @return []
|
449
848
|
def delete_sessions(user_id:)
|
450
|
-
if user_id.nil?
|
451
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
452
|
-
end
|
453
849
|
|
454
850
|
path = '/users/{userId}/sessions'
|
455
|
-
.gsub('{userId}', user_id)
|
456
851
|
|
457
852
|
params = {
|
458
853
|
}
|
459
|
-
|
854
|
+
|
460
855
|
headers = {
|
461
856
|
"content-type": 'application/json',
|
462
857
|
}
|
858
|
+
if user_id.nil?
|
859
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
860
|
+
end
|
861
|
+
|
862
|
+
.gsub('{userId}', user_id)
|
463
863
|
|
464
864
|
@client.call(
|
465
865
|
method: 'DELETE',
|
@@ -469,13 +869,23 @@ module Appwrite
|
|
469
869
|
)
|
470
870
|
end
|
471
871
|
|
872
|
+
|
472
873
|
# Delete a user sessions by its unique ID.
|
473
874
|
#
|
474
|
-
# @param [
|
475
|
-
# @param [
|
875
|
+
# @param [String] user_id User ID.
|
876
|
+
# @param [String] session_id Session ID.
|
476
877
|
#
|
477
878
|
# @return []
|
478
879
|
def delete_session(user_id:, session_id:)
|
880
|
+
|
881
|
+
path = '/users/{userId}/sessions/{sessionId}'
|
882
|
+
|
883
|
+
params = {
|
884
|
+
}
|
885
|
+
|
886
|
+
headers = {
|
887
|
+
"content-type": 'application/json',
|
888
|
+
}
|
479
889
|
if user_id.nil?
|
480
890
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
481
891
|
end
|
@@ -484,17 +894,9 @@ module Appwrite
|
|
484
894
|
raise Appwrite::Exception.new('Missing required parameter: "sessionId"')
|
485
895
|
end
|
486
896
|
|
487
|
-
path = '/users/{userId}/sessions/{sessionId}'
|
488
897
|
.gsub('{userId}', user_id)
|
489
898
|
.gsub('{sessionId}', session_id)
|
490
899
|
|
491
|
-
params = {
|
492
|
-
}
|
493
|
-
|
494
|
-
headers = {
|
495
|
-
"content-type": 'application/json',
|
496
|
-
}
|
497
|
-
|
498
900
|
@client.call(
|
499
901
|
method: 'DELETE',
|
500
902
|
path: path,
|
@@ -503,32 +905,34 @@ module Appwrite
|
|
503
905
|
)
|
504
906
|
end
|
505
907
|
|
908
|
+
|
506
909
|
# Update the user status by its unique ID. Use this endpoint as an
|
507
910
|
# alternative to deleting a user if you want to keep user's ID reserved.
|
508
911
|
#
|
509
|
-
# @param [
|
510
|
-
# @param [
|
912
|
+
# @param [String] user_id User ID.
|
913
|
+
# @param [] status User Status. To activate the user pass `true` and to block the user pass `false`.
|
511
914
|
#
|
512
915
|
# @return [User]
|
513
916
|
def update_status(user_id:, status:)
|
514
|
-
if user_id.nil?
|
515
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
516
|
-
end
|
517
|
-
|
518
|
-
if status.nil?
|
519
|
-
raise Appwrite::Exception.new('Missing required parameter: "status"')
|
520
|
-
end
|
521
917
|
|
522
918
|
path = '/users/{userId}/status'
|
523
|
-
.gsub('{userId}', user_id)
|
524
919
|
|
525
920
|
params = {
|
526
921
|
status: status,
|
527
922
|
}
|
528
|
-
|
923
|
+
|
529
924
|
headers = {
|
530
925
|
"content-type": 'application/json',
|
531
926
|
}
|
927
|
+
if user_id.nil?
|
928
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
929
|
+
end
|
930
|
+
|
931
|
+
if status.nil?
|
932
|
+
raise Appwrite::Exception.new('Missing required parameter: "status"')
|
933
|
+
end
|
934
|
+
|
935
|
+
.gsub('{userId}', user_id)
|
532
936
|
|
533
937
|
@client.call(
|
534
938
|
method: 'PATCH',
|
@@ -539,31 +943,33 @@ module Appwrite
|
|
539
943
|
)
|
540
944
|
end
|
541
945
|
|
946
|
+
|
542
947
|
# Update the user email verification status by its unique ID.
|
543
948
|
#
|
544
|
-
# @param [
|
545
|
-
# @param [
|
949
|
+
# @param [String] user_id User ID.
|
950
|
+
# @param [] email_verification User email verification status.
|
546
951
|
#
|
547
952
|
# @return [User]
|
548
953
|
def update_email_verification(user_id:, email_verification:)
|
549
|
-
if user_id.nil?
|
550
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
551
|
-
end
|
552
|
-
|
553
|
-
if email_verification.nil?
|
554
|
-
raise Appwrite::Exception.new('Missing required parameter: "emailVerification"')
|
555
|
-
end
|
556
954
|
|
557
955
|
path = '/users/{userId}/verification'
|
558
|
-
.gsub('{userId}', user_id)
|
559
956
|
|
560
957
|
params = {
|
561
958
|
emailVerification: email_verification,
|
562
959
|
}
|
563
|
-
|
960
|
+
|
564
961
|
headers = {
|
565
962
|
"content-type": 'application/json',
|
566
963
|
}
|
964
|
+
if user_id.nil?
|
965
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
966
|
+
end
|
967
|
+
|
968
|
+
if email_verification.nil?
|
969
|
+
raise Appwrite::Exception.new('Missing required parameter: "emailVerification"')
|
970
|
+
end
|
971
|
+
|
972
|
+
.gsub('{userId}', user_id)
|
567
973
|
|
568
974
|
@client.call(
|
569
975
|
method: 'PATCH',
|
@@ -574,31 +980,33 @@ module Appwrite
|
|
574
980
|
)
|
575
981
|
end
|
576
982
|
|
983
|
+
|
577
984
|
# Update the user phone verification status by its unique ID.
|
578
985
|
#
|
579
|
-
# @param [
|
580
|
-
# @param [
|
986
|
+
# @param [String] user_id User ID.
|
987
|
+
# @param [] phone_verification User phone verification status.
|
581
988
|
#
|
582
989
|
# @return [User]
|
583
990
|
def update_phone_verification(user_id:, phone_verification:)
|
584
|
-
if user_id.nil?
|
585
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
586
|
-
end
|
587
|
-
|
588
|
-
if phone_verification.nil?
|
589
|
-
raise Appwrite::Exception.new('Missing required parameter: "phoneVerification"')
|
590
|
-
end
|
591
991
|
|
592
992
|
path = '/users/{userId}/verification/phone'
|
593
|
-
.gsub('{userId}', user_id)
|
594
993
|
|
595
994
|
params = {
|
596
995
|
phoneVerification: phone_verification,
|
597
996
|
}
|
598
|
-
|
997
|
+
|
599
998
|
headers = {
|
600
999
|
"content-type": 'application/json',
|
601
1000
|
}
|
1001
|
+
if user_id.nil?
|
1002
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
1003
|
+
end
|
1004
|
+
|
1005
|
+
if phone_verification.nil?
|
1006
|
+
raise Appwrite::Exception.new('Missing required parameter: "phoneVerification"')
|
1007
|
+
end
|
1008
|
+
|
1009
|
+
.gsub('{userId}', user_id)
|
602
1010
|
|
603
1011
|
@client.call(
|
604
1012
|
method: 'PATCH',
|
@@ -609,5 +1017,6 @@ module Appwrite
|
|
609
1017
|
)
|
610
1018
|
end
|
611
1019
|
|
1020
|
+
|
612
1021
|
end
|
613
1022
|
end
|