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,29 +3,26 @@
|
|
3
3
|
module Appwrite
|
4
4
|
class Users < Service
|
5
5
|
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
9
|
+
|
6
10
|
# Get a list of all the project's users. You can use the query params to
|
7
11
|
# filter your results.
|
8
12
|
#
|
9
|
-
# @param [
|
10
|
-
# @param [
|
11
|
-
# @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)
|
12
|
-
# @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)
|
13
|
-
# @param [string] cursor_direction Direction of the cursor.
|
14
|
-
# @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.
|
15
15
|
#
|
16
16
|
# @return [UserList]
|
17
|
-
def list(
|
17
|
+
def list(queries: nil, search: nil)
|
18
|
+
|
18
19
|
path = '/users'
|
19
20
|
|
20
21
|
params = {
|
22
|
+
queries: queries,
|
21
23
|
search: search,
|
22
|
-
limit: limit,
|
23
|
-
offset: offset,
|
24
|
-
cursor: cursor,
|
25
|
-
cursorDirection: cursor_direction,
|
26
|
-
orderType: order_type,
|
27
24
|
}
|
28
|
-
|
25
|
+
|
29
26
|
headers = {
|
30
27
|
"content-type": 'application/json',
|
31
28
|
}
|
@@ -39,15 +36,71 @@ module Appwrite
|
|
39
36
|
)
|
40
37
|
end
|
41
38
|
|
39
|
+
|
42
40
|
# Create a new user.
|
43
41
|
#
|
44
|
-
# @param [
|
45
|
-
# @param [
|
46
|
-
# @param [
|
47
|
-
# @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.
|
48
88
|
#
|
49
89
|
# @return [User]
|
50
|
-
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
|
+
}
|
51
104
|
if user_id.nil?
|
52
105
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
53
106
|
end
|
@@ -60,7 +113,31 @@ module Appwrite
|
|
60
113
|
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
61
114
|
end
|
62
115
|
|
63
|
-
|
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'
|
64
141
|
|
65
142
|
params = {
|
66
143
|
userId: user_id,
|
@@ -68,10 +145,22 @@ module Appwrite
|
|
68
145
|
password: password,
|
69
146
|
name: name,
|
70
147
|
}
|
71
|
-
|
148
|
+
|
72
149
|
headers = {
|
73
150
|
"content-type": 'application/json',
|
74
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
|
163
|
+
|
75
164
|
|
76
165
|
@client.call(
|
77
166
|
method: 'POST',
|
@@ -82,28 +171,95 @@ module Appwrite
|
|
82
171
|
)
|
83
172
|
end
|
84
173
|
|
85
|
-
|
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.
|
86
179
|
#
|
87
|
-
# @param [
|
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.
|
88
184
|
#
|
89
185
|
# @return [User]
|
90
|
-
def
|
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
|
+
|
197
|
+
headers = {
|
198
|
+
"content-type": 'application/json',
|
199
|
+
}
|
91
200
|
if user_id.nil?
|
92
201
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
93
202
|
end
|
94
203
|
|
95
|
-
|
96
|
-
.
|
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
|
+
|
212
|
+
|
213
|
+
@client.call(
|
214
|
+
method: 'POST',
|
215
|
+
path: path,
|
216
|
+
headers: headers,
|
217
|
+
params: params,
|
218
|
+
response_type: Models::User
|
219
|
+
)
|
220
|
+
end
|
221
|
+
|
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.
|
227
|
+
#
|
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.
|
232
|
+
#
|
233
|
+
# @return [User]
|
234
|
+
def create_ph_pass_user(user_id:, email:, password:, name: nil)
|
235
|
+
|
236
|
+
path = '/users/phpass'
|
97
237
|
|
98
238
|
params = {
|
239
|
+
userId: user_id,
|
240
|
+
email: email,
|
241
|
+
password: password,
|
242
|
+
name: name,
|
99
243
|
}
|
100
|
-
|
244
|
+
|
101
245
|
headers = {
|
102
246
|
"content-type": 'application/json',
|
103
247
|
}
|
248
|
+
if user_id.nil?
|
249
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
250
|
+
end
|
251
|
+
|
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
|
+
|
104
260
|
|
105
261
|
@client.call(
|
106
|
-
method: '
|
262
|
+
method: 'POST',
|
107
263
|
path: path,
|
108
264
|
headers: headers,
|
109
265
|
params: params,
|
@@ -111,41 +267,178 @@ module Appwrite
|
|
111
267
|
)
|
112
268
|
end
|
113
269
|
|
114
|
-
|
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.
|
115
275
|
#
|
116
|
-
# @param [
|
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.
|
117
285
|
#
|
118
|
-
# @return []
|
119
|
-
def
|
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'
|
290
|
+
|
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,
|
301
|
+
}
|
302
|
+
|
303
|
+
headers = {
|
304
|
+
"content-type": 'application/json',
|
305
|
+
}
|
120
306
|
if user_id.nil?
|
121
307
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
122
308
|
end
|
123
309
|
|
124
|
-
|
125
|
-
.
|
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'
|
126
366
|
|
127
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,
|
128
375
|
}
|
129
|
-
|
376
|
+
|
130
377
|
headers = {
|
131
378
|
"content-type": 'application/json',
|
132
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
|
+
|
133
404
|
|
134
405
|
@client.call(
|
135
|
-
method: '
|
406
|
+
method: 'POST',
|
136
407
|
path: path,
|
137
408
|
headers: headers,
|
138
409
|
params: params,
|
410
|
+
response_type: Models::User
|
139
411
|
)
|
140
412
|
end
|
141
413
|
|
142
|
-
|
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.
|
143
419
|
#
|
144
|
-
# @param [
|
145
|
-
# @param [
|
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.
|
146
425
|
#
|
147
426
|
# @return [User]
|
148
|
-
def
|
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
|
+
}
|
149
442
|
if user_id.nil?
|
150
443
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
151
444
|
end
|
@@ -154,16 +447,112 @@ module Appwrite
|
|
154
447
|
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
155
448
|
end
|
156
449
|
|
157
|
-
|
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
|
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
|
+
|
477
|
+
headers = {
|
478
|
+
"content-type": 'application/json',
|
479
|
+
}
|
480
|
+
if user_id.nil?
|
481
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
482
|
+
end
|
483
|
+
|
158
484
|
.gsub('{userId}', user_id)
|
159
485
|
|
486
|
+
@client.call(
|
487
|
+
method: 'GET',
|
488
|
+
path: path,
|
489
|
+
headers: headers,
|
490
|
+
params: params,
|
491
|
+
response_type: Models::User
|
492
|
+
)
|
493
|
+
end
|
494
|
+
|
495
|
+
|
496
|
+
# Delete a user by its unique ID, thereby releasing it's ID. Since ID is
|
497
|
+
# released and can be reused, all user-related resources like documents or
|
498
|
+
# storage files should be deleted before user deletion. If you want to keep
|
499
|
+
# ID reserved, use the [updateStatus](/docs/server/users#usersUpdateStatus)
|
500
|
+
# endpoint instead.
|
501
|
+
#
|
502
|
+
# @param [String] user_id User ID.
|
503
|
+
#
|
504
|
+
# @return []
|
505
|
+
def delete(user_id:)
|
506
|
+
|
507
|
+
path = '/users/{userId}'
|
508
|
+
|
160
509
|
params = {
|
161
|
-
email: email,
|
162
510
|
}
|
511
|
+
|
512
|
+
headers = {
|
513
|
+
"content-type": 'application/json',
|
514
|
+
}
|
515
|
+
if user_id.nil?
|
516
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
517
|
+
end
|
518
|
+
|
519
|
+
.gsub('{userId}', user_id)
|
520
|
+
|
521
|
+
@client.call(
|
522
|
+
method: 'DELETE',
|
523
|
+
path: path,
|
524
|
+
headers: headers,
|
525
|
+
params: params,
|
526
|
+
)
|
527
|
+
end
|
528
|
+
|
529
|
+
|
530
|
+
# Update the user email by its unique ID.
|
531
|
+
#
|
532
|
+
# @param [String] user_id User ID.
|
533
|
+
# @param [String] email User email.
|
534
|
+
#
|
535
|
+
# @return [User]
|
536
|
+
def update_email(user_id:, email:)
|
537
|
+
|
538
|
+
path = '/users/{userId}/email'
|
163
539
|
|
540
|
+
params = {
|
541
|
+
email: email,
|
542
|
+
}
|
543
|
+
|
164
544
|
headers = {
|
165
545
|
"content-type": 'application/json',
|
166
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)
|
167
556
|
|
168
557
|
@client.call(
|
169
558
|
method: 'PATCH',
|
@@ -174,64 +563,97 @@ module Appwrite
|
|
174
563
|
)
|
175
564
|
end
|
176
565
|
|
566
|
+
|
177
567
|
# Get the user activity logs list by its unique ID.
|
178
568
|
#
|
179
|
-
# @param [
|
180
|
-
# @param [
|
181
|
-
# @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
|
182
571
|
#
|
183
572
|
# @return [LogList]
|
184
|
-
def get_logs(user_id:,
|
573
|
+
def get_logs(user_id:, queries: nil)
|
574
|
+
|
575
|
+
path = '/users/{userId}/logs'
|
576
|
+
|
577
|
+
params = {
|
578
|
+
queries: queries,
|
579
|
+
}
|
580
|
+
|
581
|
+
headers = {
|
582
|
+
"content-type": 'application/json',
|
583
|
+
}
|
185
584
|
if user_id.nil?
|
186
585
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
187
586
|
end
|
188
587
|
|
189
|
-
path = '/users/{userId}/logs'
|
190
588
|
.gsub('{userId}', user_id)
|
191
589
|
|
590
|
+
@client.call(
|
591
|
+
method: 'GET',
|
592
|
+
path: path,
|
593
|
+
headers: headers,
|
594
|
+
params: params,
|
595
|
+
response_type: Models::LogList
|
596
|
+
)
|
597
|
+
end
|
598
|
+
|
599
|
+
|
600
|
+
# Get the user membership list by its unique ID.
|
601
|
+
#
|
602
|
+
# @param [String] user_id User ID.
|
603
|
+
#
|
604
|
+
# @return [MembershipList]
|
605
|
+
def get_memberships(user_id:)
|
606
|
+
|
607
|
+
path = '/users/{userId}/memberships'
|
608
|
+
|
192
609
|
params = {
|
193
|
-
limit: limit,
|
194
|
-
offset: offset,
|
195
610
|
}
|
196
|
-
|
611
|
+
|
197
612
|
headers = {
|
198
613
|
"content-type": 'application/json',
|
199
614
|
}
|
615
|
+
if user_id.nil?
|
616
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
617
|
+
end
|
618
|
+
|
619
|
+
.gsub('{userId}', user_id)
|
200
620
|
|
201
621
|
@client.call(
|
202
622
|
method: 'GET',
|
203
623
|
path: path,
|
204
624
|
headers: headers,
|
205
625
|
params: params,
|
206
|
-
response_type: Models::
|
626
|
+
response_type: Models::MembershipList
|
207
627
|
)
|
208
628
|
end
|
209
629
|
|
630
|
+
|
210
631
|
# Update the user name by its unique ID.
|
211
632
|
#
|
212
|
-
# @param [
|
213
|
-
# @param [
|
633
|
+
# @param [String] user_id User ID.
|
634
|
+
# @param [String] name User name. Max length: 128 chars.
|
214
635
|
#
|
215
636
|
# @return [User]
|
216
637
|
def update_name(user_id:, name:)
|
217
|
-
if user_id.nil?
|
218
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
219
|
-
end
|
220
|
-
|
221
|
-
if name.nil?
|
222
|
-
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
223
|
-
end
|
224
638
|
|
225
639
|
path = '/users/{userId}/name'
|
226
|
-
.gsub('{userId}', user_id)
|
227
640
|
|
228
641
|
params = {
|
229
642
|
name: name,
|
230
643
|
}
|
231
|
-
|
644
|
+
|
232
645
|
headers = {
|
233
646
|
"content-type": 'application/json',
|
234
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)
|
235
657
|
|
236
658
|
@client.call(
|
237
659
|
method: 'PATCH',
|
@@ -242,13 +664,24 @@ module Appwrite
|
|
242
664
|
)
|
243
665
|
end
|
244
666
|
|
667
|
+
|
245
668
|
# Update the user password by its unique ID.
|
246
669
|
#
|
247
|
-
# @param [
|
248
|
-
# @param [
|
670
|
+
# @param [String] user_id User ID.
|
671
|
+
# @param [String] password New user password. Must be at least 8 chars.
|
249
672
|
#
|
250
673
|
# @return [User]
|
251
674
|
def update_password(user_id:, password:)
|
675
|
+
|
676
|
+
path = '/users/{userId}/password'
|
677
|
+
|
678
|
+
params = {
|
679
|
+
password: password,
|
680
|
+
}
|
681
|
+
|
682
|
+
headers = {
|
683
|
+
"content-type": 'application/json',
|
684
|
+
}
|
252
685
|
if user_id.nil?
|
253
686
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
254
687
|
end
|
@@ -257,16 +690,44 @@ module Appwrite
|
|
257
690
|
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
258
691
|
end
|
259
692
|
|
260
|
-
path = '/users/{userId}/password'
|
261
693
|
.gsub('{userId}', user_id)
|
262
694
|
|
695
|
+
@client.call(
|
696
|
+
method: 'PATCH',
|
697
|
+
path: path,
|
698
|
+
headers: headers,
|
699
|
+
params: params,
|
700
|
+
response_type: Models::User
|
701
|
+
)
|
702
|
+
end
|
703
|
+
|
704
|
+
|
705
|
+
# Update the user phone by its unique ID.
|
706
|
+
#
|
707
|
+
# @param [String] user_id User ID.
|
708
|
+
# @param [String] number User phone number.
|
709
|
+
#
|
710
|
+
# @return [User]
|
711
|
+
def update_phone(user_id:, number:)
|
712
|
+
|
713
|
+
path = '/users/{userId}/phone'
|
714
|
+
|
263
715
|
params = {
|
264
|
-
|
716
|
+
number: number,
|
265
717
|
}
|
266
|
-
|
718
|
+
|
267
719
|
headers = {
|
268
720
|
"content-type": 'application/json',
|
269
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)
|
270
731
|
|
271
732
|
@client.call(
|
272
733
|
method: 'PATCH',
|
@@ -277,25 +738,27 @@ module Appwrite
|
|
277
738
|
)
|
278
739
|
end
|
279
740
|
|
741
|
+
|
280
742
|
# Get the user preferences by its unique ID.
|
281
743
|
#
|
282
|
-
# @param [
|
744
|
+
# @param [String] user_id User ID.
|
283
745
|
#
|
284
746
|
# @return [Preferences]
|
285
747
|
def get_prefs(user_id:)
|
286
|
-
if user_id.nil?
|
287
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
288
|
-
end
|
289
748
|
|
290
749
|
path = '/users/{userId}/prefs'
|
291
|
-
.gsub('{userId}', user_id)
|
292
750
|
|
293
751
|
params = {
|
294
752
|
}
|
295
|
-
|
753
|
+
|
296
754
|
headers = {
|
297
755
|
"content-type": 'application/json',
|
298
756
|
}
|
757
|
+
if user_id.nil?
|
758
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
759
|
+
end
|
760
|
+
|
761
|
+
.gsub('{userId}', user_id)
|
299
762
|
|
300
763
|
@client.call(
|
301
764
|
method: 'GET',
|
@@ -306,33 +769,35 @@ module Appwrite
|
|
306
769
|
)
|
307
770
|
end
|
308
771
|
|
772
|
+
|
309
773
|
# Update the user preferences by its unique ID. The object you pass is stored
|
310
774
|
# as is, and replaces any previous value. The maximum allowed prefs size is
|
311
775
|
# 64kB and throws error if exceeded.
|
312
776
|
#
|
313
|
-
# @param [
|
314
|
-
# @param [
|
777
|
+
# @param [String] user_id User ID.
|
778
|
+
# @param [Hash] prefs Prefs key-value JSON object.
|
315
779
|
#
|
316
780
|
# @return [Preferences]
|
317
781
|
def update_prefs(user_id:, prefs:)
|
318
|
-
if user_id.nil?
|
319
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
320
|
-
end
|
321
|
-
|
322
|
-
if prefs.nil?
|
323
|
-
raise Appwrite::Exception.new('Missing required parameter: "prefs"')
|
324
|
-
end
|
325
782
|
|
326
783
|
path = '/users/{userId}/prefs'
|
327
|
-
.gsub('{userId}', user_id)
|
328
784
|
|
329
785
|
params = {
|
330
786
|
prefs: prefs,
|
331
787
|
}
|
332
|
-
|
788
|
+
|
333
789
|
headers = {
|
334
790
|
"content-type": 'application/json',
|
335
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)
|
336
801
|
|
337
802
|
@client.call(
|
338
803
|
method: 'PATCH',
|
@@ -343,25 +808,27 @@ module Appwrite
|
|
343
808
|
)
|
344
809
|
end
|
345
810
|
|
811
|
+
|
346
812
|
# Get the user sessions list by its unique ID.
|
347
813
|
#
|
348
|
-
# @param [
|
814
|
+
# @param [String] user_id User ID.
|
349
815
|
#
|
350
816
|
# @return [SessionList]
|
351
817
|
def get_sessions(user_id:)
|
352
|
-
if user_id.nil?
|
353
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
354
|
-
end
|
355
818
|
|
356
819
|
path = '/users/{userId}/sessions'
|
357
|
-
.gsub('{userId}', user_id)
|
358
820
|
|
359
821
|
params = {
|
360
822
|
}
|
361
|
-
|
823
|
+
|
362
824
|
headers = {
|
363
825
|
"content-type": 'application/json',
|
364
826
|
}
|
827
|
+
if user_id.nil?
|
828
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
829
|
+
end
|
830
|
+
|
831
|
+
.gsub('{userId}', user_id)
|
365
832
|
|
366
833
|
@client.call(
|
367
834
|
method: 'GET',
|
@@ -372,25 +839,27 @@ module Appwrite
|
|
372
839
|
)
|
373
840
|
end
|
374
841
|
|
842
|
+
|
375
843
|
# Delete all user's sessions by using the user's unique ID.
|
376
844
|
#
|
377
|
-
# @param [
|
845
|
+
# @param [String] user_id User ID.
|
378
846
|
#
|
379
847
|
# @return []
|
380
848
|
def delete_sessions(user_id:)
|
381
|
-
if user_id.nil?
|
382
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
383
|
-
end
|
384
849
|
|
385
850
|
path = '/users/{userId}/sessions'
|
386
|
-
.gsub('{userId}', user_id)
|
387
851
|
|
388
852
|
params = {
|
389
853
|
}
|
390
|
-
|
854
|
+
|
391
855
|
headers = {
|
392
856
|
"content-type": 'application/json',
|
393
857
|
}
|
858
|
+
if user_id.nil?
|
859
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
860
|
+
end
|
861
|
+
|
862
|
+
.gsub('{userId}', user_id)
|
394
863
|
|
395
864
|
@client.call(
|
396
865
|
method: 'DELETE',
|
@@ -400,13 +869,23 @@ module Appwrite
|
|
400
869
|
)
|
401
870
|
end
|
402
871
|
|
872
|
+
|
403
873
|
# Delete a user sessions by its unique ID.
|
404
874
|
#
|
405
|
-
# @param [
|
406
|
-
# @param [
|
875
|
+
# @param [String] user_id User ID.
|
876
|
+
# @param [String] session_id Session ID.
|
407
877
|
#
|
408
878
|
# @return []
|
409
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
|
+
}
|
410
889
|
if user_id.nil?
|
411
890
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
412
891
|
end
|
@@ -415,17 +894,9 @@ module Appwrite
|
|
415
894
|
raise Appwrite::Exception.new('Missing required parameter: "sessionId"')
|
416
895
|
end
|
417
896
|
|
418
|
-
path = '/users/{userId}/sessions/{sessionId}'
|
419
897
|
.gsub('{userId}', user_id)
|
420
898
|
.gsub('{sessionId}', session_id)
|
421
899
|
|
422
|
-
params = {
|
423
|
-
}
|
424
|
-
|
425
|
-
headers = {
|
426
|
-
"content-type": 'application/json',
|
427
|
-
}
|
428
|
-
|
429
900
|
@client.call(
|
430
901
|
method: 'DELETE',
|
431
902
|
path: path,
|
@@ -434,31 +905,34 @@ module Appwrite
|
|
434
905
|
)
|
435
906
|
end
|
436
907
|
|
437
|
-
|
908
|
+
|
909
|
+
# Update the user status by its unique ID. Use this endpoint as an
|
910
|
+
# alternative to deleting a user if you want to keep user's ID reserved.
|
438
911
|
#
|
439
|
-
# @param [
|
440
|
-
# @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`.
|
441
914
|
#
|
442
915
|
# @return [User]
|
443
916
|
def update_status(user_id:, status:)
|
444
|
-
if user_id.nil?
|
445
|
-
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
446
|
-
end
|
447
|
-
|
448
|
-
if status.nil?
|
449
|
-
raise Appwrite::Exception.new('Missing required parameter: "status"')
|
450
|
-
end
|
451
917
|
|
452
918
|
path = '/users/{userId}/status'
|
453
|
-
.gsub('{userId}', user_id)
|
454
919
|
|
455
920
|
params = {
|
456
921
|
status: status,
|
457
922
|
}
|
458
|
-
|
923
|
+
|
459
924
|
headers = {
|
460
925
|
"content-type": 'application/json',
|
461
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)
|
462
936
|
|
463
937
|
@client.call(
|
464
938
|
method: 'PATCH',
|
@@ -469,13 +943,24 @@ module Appwrite
|
|
469
943
|
)
|
470
944
|
end
|
471
945
|
|
946
|
+
|
472
947
|
# Update the user email verification status by its unique ID.
|
473
948
|
#
|
474
|
-
# @param [
|
475
|
-
# @param [
|
949
|
+
# @param [String] user_id User ID.
|
950
|
+
# @param [] email_verification User email verification status.
|
476
951
|
#
|
477
952
|
# @return [User]
|
478
|
-
def
|
953
|
+
def update_email_verification(user_id:, email_verification:)
|
954
|
+
|
955
|
+
path = '/users/{userId}/verification'
|
956
|
+
|
957
|
+
params = {
|
958
|
+
emailVerification: email_verification,
|
959
|
+
}
|
960
|
+
|
961
|
+
headers = {
|
962
|
+
"content-type": 'application/json',
|
963
|
+
}
|
479
964
|
if user_id.nil?
|
480
965
|
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
481
966
|
end
|
@@ -484,16 +969,44 @@ module Appwrite
|
|
484
969
|
raise Appwrite::Exception.new('Missing required parameter: "emailVerification"')
|
485
970
|
end
|
486
971
|
|
487
|
-
path = '/users/{userId}/verification'
|
488
972
|
.gsub('{userId}', user_id)
|
489
973
|
|
974
|
+
@client.call(
|
975
|
+
method: 'PATCH',
|
976
|
+
path: path,
|
977
|
+
headers: headers,
|
978
|
+
params: params,
|
979
|
+
response_type: Models::User
|
980
|
+
)
|
981
|
+
end
|
982
|
+
|
983
|
+
|
984
|
+
# Update the user phone verification status by its unique ID.
|
985
|
+
#
|
986
|
+
# @param [String] user_id User ID.
|
987
|
+
# @param [] phone_verification User phone verification status.
|
988
|
+
#
|
989
|
+
# @return [User]
|
990
|
+
def update_phone_verification(user_id:, phone_verification:)
|
991
|
+
|
992
|
+
path = '/users/{userId}/verification/phone'
|
993
|
+
|
490
994
|
params = {
|
491
|
-
|
995
|
+
phoneVerification: phone_verification,
|
492
996
|
}
|
493
|
-
|
997
|
+
|
494
998
|
headers = {
|
495
999
|
"content-type": 'application/json',
|
496
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)
|
497
1010
|
|
498
1011
|
@client.call(
|
499
1012
|
method: 'PATCH',
|
@@ -504,5 +1017,6 @@ module Appwrite
|
|
504
1017
|
)
|
505
1018
|
end
|
506
1019
|
|
1020
|
+
|
507
1021
|
end
|
508
1022
|
end
|