node-appwrite 2.5.0 → 4.0.1
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.
- package/.github/ISSUE_TEMPLATE/bug.yaml +82 -0
- package/.github/ISSUE_TEMPLATE/documentation.yaml +32 -0
- package/.github/ISSUE_TEMPLATE/feature.yaml +40 -0
- package/LICENSE +1 -1
- package/README.md +6 -6
- package/docs/examples/database/create-boolean-attribute.md +20 -0
- package/docs/examples/database/create-collection.md +1 -1
- package/docs/examples/database/create-document.md +1 -1
- package/docs/examples/database/create-email-attribute.md +20 -0
- package/docs/examples/database/create-enum-attribute.md +20 -0
- package/docs/examples/database/create-float-attribute.md +20 -0
- package/docs/examples/database/create-index.md +20 -0
- package/docs/examples/database/create-integer-attribute.md +20 -0
- package/docs/examples/database/create-ip-attribute.md +20 -0
- package/docs/examples/database/create-string-attribute.md +20 -0
- package/docs/examples/database/create-url-attribute.md +20 -0
- package/docs/examples/database/delete-attribute.md +20 -0
- package/docs/examples/database/delete-index.md +20 -0
- package/docs/examples/database/get-attribute.md +20 -0
- package/docs/examples/database/get-index.md +20 -0
- package/docs/examples/database/list-attributes.md +20 -0
- package/docs/examples/database/list-indexes.md +20 -0
- package/docs/examples/database/update-collection.md +1 -1
- package/docs/examples/functions/create-tag.md +1 -1
- package/docs/examples/functions/create.md +1 -1
- package/docs/examples/{health/get-queue-tasks.md → functions/list-runtimes.md} +2 -2
- package/docs/examples/health/{get-anti-virus.md → get-antivirus.md} +1 -1
- package/docs/examples/storage/create-file.md +1 -1
- package/docs/examples/teams/create.md +1 -1
- package/docs/examples/teams/get-membership.md +20 -0
- package/docs/examples/users/create.md +1 -1
- package/docs/examples/users/update-status.md +1 -1
- package/index.d.ts +1661 -242
- package/index.js +3 -1
- package/lib/client.js +5 -5
- package/lib/query.js +34 -0
- package/lib/services/account.js +16 -4
- package/lib/services/database.js +706 -47
- package/lib/services/functions.js +63 -12
- package/lib/services/health.js +4 -22
- package/lib/services/storage.js +21 -2
- package/lib/services/teams.js +93 -34
- package/lib/services/users.js +34 -5
- package/package.json +2 -2
|
@@ -12,11 +12,13 @@ class Functions extends Service {
|
|
|
12
12
|
* @param {string} search
|
|
13
13
|
* @param {number} limit
|
|
14
14
|
* @param {number} offset
|
|
15
|
+
* @param {string} cursor
|
|
16
|
+
* @param {string} cursorDirection
|
|
15
17
|
* @param {string} orderType
|
|
16
18
|
* @throws {AppwriteException}
|
|
17
19
|
* @returns {Promise}
|
|
18
20
|
*/
|
|
19
|
-
async list(search, limit, offset, orderType) {
|
|
21
|
+
async list(search, limit, offset, cursor, cursorDirection, orderType) {
|
|
20
22
|
let path = '/functions';
|
|
21
23
|
let payload = {};
|
|
22
24
|
|
|
@@ -32,6 +34,14 @@ class Functions extends Service {
|
|
|
32
34
|
payload['offset'] = offset;
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
if (typeof cursor !== 'undefined') {
|
|
38
|
+
payload['cursor'] = cursor;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
42
|
+
payload['cursorDirection'] = cursorDirection;
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
if (typeof orderType !== 'undefined') {
|
|
36
46
|
payload['orderType'] = orderType;
|
|
37
47
|
}
|
|
@@ -48,6 +58,7 @@ class Functions extends Service {
|
|
|
48
58
|
* [permissions](/docs/permissions) to allow different project users or team
|
|
49
59
|
* with access to execute the function using the client API.
|
|
50
60
|
*
|
|
61
|
+
* @param {string} functionId
|
|
51
62
|
* @param {string} name
|
|
52
63
|
* @param {string[]} execute
|
|
53
64
|
* @param {string} runtime
|
|
@@ -58,7 +69,11 @@ class Functions extends Service {
|
|
|
58
69
|
* @throws {AppwriteException}
|
|
59
70
|
* @returns {Promise}
|
|
60
71
|
*/
|
|
61
|
-
async create(name, execute, runtime, vars, events, schedule, timeout) {
|
|
72
|
+
async create(functionId, name, execute, runtime, vars, events, schedule, timeout) {
|
|
73
|
+
if (typeof functionId === 'undefined') {
|
|
74
|
+
throw new AppwriteException('Missing required parameter: "functionId"');
|
|
75
|
+
}
|
|
76
|
+
|
|
62
77
|
if (typeof name === 'undefined') {
|
|
63
78
|
throw new AppwriteException('Missing required parameter: "name"');
|
|
64
79
|
}
|
|
@@ -74,6 +89,10 @@ class Functions extends Service {
|
|
|
74
89
|
let path = '/functions';
|
|
75
90
|
let payload = {};
|
|
76
91
|
|
|
92
|
+
if (typeof functionId !== 'undefined') {
|
|
93
|
+
payload['functionId'] = functionId;
|
|
94
|
+
}
|
|
95
|
+
|
|
77
96
|
if (typeof name !== 'undefined') {
|
|
78
97
|
payload['name'] = name;
|
|
79
98
|
}
|
|
@@ -107,6 +126,23 @@ class Functions extends Service {
|
|
|
107
126
|
}, payload);
|
|
108
127
|
}
|
|
109
128
|
|
|
129
|
+
/**
|
|
130
|
+
* List the currently active function runtimes.
|
|
131
|
+
*
|
|
132
|
+
* Get a list of all runtimes that are currently active in your project.
|
|
133
|
+
*
|
|
134
|
+
* @throws {AppwriteException}
|
|
135
|
+
* @returns {Promise}
|
|
136
|
+
*/
|
|
137
|
+
async listRuntimes() {
|
|
138
|
+
let path = '/functions/runtimes';
|
|
139
|
+
let payload = {};
|
|
140
|
+
|
|
141
|
+
return await this.client.call('get', path, {
|
|
142
|
+
'content-type': 'application/json',
|
|
143
|
+
}, payload);
|
|
144
|
+
}
|
|
145
|
+
|
|
110
146
|
/**
|
|
111
147
|
* Get Function
|
|
112
148
|
*
|
|
@@ -220,14 +256,15 @@ class Functions extends Service {
|
|
|
220
256
|
* different API modes](/docs/admin).
|
|
221
257
|
*
|
|
222
258
|
* @param {string} functionId
|
|
223
|
-
* @param {string} search
|
|
224
259
|
* @param {number} limit
|
|
225
260
|
* @param {number} offset
|
|
226
|
-
* @param {string}
|
|
261
|
+
* @param {string} search
|
|
262
|
+
* @param {string} cursor
|
|
263
|
+
* @param {string} cursorDirection
|
|
227
264
|
* @throws {AppwriteException}
|
|
228
265
|
* @returns {Promise}
|
|
229
266
|
*/
|
|
230
|
-
async listExecutions(functionId,
|
|
267
|
+
async listExecutions(functionId, limit, offset, search, cursor, cursorDirection) {
|
|
231
268
|
if (typeof functionId === 'undefined') {
|
|
232
269
|
throw new AppwriteException('Missing required parameter: "functionId"');
|
|
233
270
|
}
|
|
@@ -235,10 +272,6 @@ class Functions extends Service {
|
|
|
235
272
|
let path = '/functions/{functionId}/executions'.replace('{functionId}', functionId);
|
|
236
273
|
let payload = {};
|
|
237
274
|
|
|
238
|
-
if (typeof search !== 'undefined') {
|
|
239
|
-
payload['search'] = search;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
275
|
if (typeof limit !== 'undefined') {
|
|
243
276
|
payload['limit'] = limit;
|
|
244
277
|
}
|
|
@@ -247,8 +280,16 @@ class Functions extends Service {
|
|
|
247
280
|
payload['offset'] = offset;
|
|
248
281
|
}
|
|
249
282
|
|
|
250
|
-
if (typeof
|
|
251
|
-
payload['
|
|
283
|
+
if (typeof search !== 'undefined') {
|
|
284
|
+
payload['search'] = search;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
if (typeof cursor !== 'undefined') {
|
|
288
|
+
payload['cursor'] = cursor;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
292
|
+
payload['cursorDirection'] = cursorDirection;
|
|
252
293
|
}
|
|
253
294
|
|
|
254
295
|
return await this.client.call('get', path, {
|
|
@@ -356,11 +397,13 @@ class Functions extends Service {
|
|
|
356
397
|
* @param {string} search
|
|
357
398
|
* @param {number} limit
|
|
358
399
|
* @param {number} offset
|
|
400
|
+
* @param {string} cursor
|
|
401
|
+
* @param {string} cursorDirection
|
|
359
402
|
* @param {string} orderType
|
|
360
403
|
* @throws {AppwriteException}
|
|
361
404
|
* @returns {Promise}
|
|
362
405
|
*/
|
|
363
|
-
async listTags(functionId, search, limit, offset, orderType) {
|
|
406
|
+
async listTags(functionId, search, limit, offset, cursor, cursorDirection, orderType) {
|
|
364
407
|
if (typeof functionId === 'undefined') {
|
|
365
408
|
throw new AppwriteException('Missing required parameter: "functionId"');
|
|
366
409
|
}
|
|
@@ -380,6 +423,14 @@ class Functions extends Service {
|
|
|
380
423
|
payload['offset'] = offset;
|
|
381
424
|
}
|
|
382
425
|
|
|
426
|
+
if (typeof cursor !== 'undefined') {
|
|
427
|
+
payload['cursor'] = cursor;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
431
|
+
payload['cursorDirection'] = cursorDirection;
|
|
432
|
+
}
|
|
433
|
+
|
|
383
434
|
if (typeof orderType !== 'undefined') {
|
|
384
435
|
payload['orderType'] = orderType;
|
|
385
436
|
}
|
package/lib/services/health.js
CHANGED
|
@@ -21,14 +21,14 @@ class Health extends Service {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Get
|
|
24
|
+
* Get Antivirus
|
|
25
25
|
*
|
|
26
|
-
* Check the Appwrite
|
|
26
|
+
* Check the Appwrite Antivirus server is up and connection is successful.
|
|
27
27
|
*
|
|
28
28
|
* @throws {AppwriteException}
|
|
29
29
|
* @returns {Promise}
|
|
30
30
|
*/
|
|
31
|
-
async
|
|
31
|
+
async getAntivirus() {
|
|
32
32
|
let path = '/health/anti-virus';
|
|
33
33
|
let payload = {};
|
|
34
34
|
|
|
@@ -73,7 +73,7 @@ class Health extends Service {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
* Get
|
|
76
|
+
* Get Certificates Queue
|
|
77
77
|
*
|
|
78
78
|
* Get the number of certificates that are waiting to be issued against
|
|
79
79
|
* [Letsencrypt](https://letsencrypt.org/) in the Appwrite internal queue
|
|
@@ -124,24 +124,6 @@ class Health extends Service {
|
|
|
124
124
|
}, payload);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
/**
|
|
128
|
-
* Get Tasks Queue
|
|
129
|
-
*
|
|
130
|
-
* Get the number of tasks that are waiting to be processed in the Appwrite
|
|
131
|
-
* internal queue server.
|
|
132
|
-
*
|
|
133
|
-
* @throws {AppwriteException}
|
|
134
|
-
* @returns {Promise}
|
|
135
|
-
*/
|
|
136
|
-
async getQueueTasks() {
|
|
137
|
-
let path = '/health/queue/tasks';
|
|
138
|
-
let payload = {};
|
|
139
|
-
|
|
140
|
-
return await this.client.call('get', path, {
|
|
141
|
-
'content-type': 'application/json',
|
|
142
|
-
}, payload);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
127
|
/**
|
|
146
128
|
* Get Usage Queue
|
|
147
129
|
*
|
package/lib/services/storage.js
CHANGED
|
@@ -13,11 +13,13 @@ class Storage extends Service {
|
|
|
13
13
|
* @param {string} search
|
|
14
14
|
* @param {number} limit
|
|
15
15
|
* @param {number} offset
|
|
16
|
+
* @param {string} cursor
|
|
17
|
+
* @param {string} cursorDirection
|
|
16
18
|
* @param {string} orderType
|
|
17
19
|
* @throws {AppwriteException}
|
|
18
20
|
* @returns {Promise}
|
|
19
21
|
*/
|
|
20
|
-
async listFiles(search, limit, offset, orderType) {
|
|
22
|
+
async listFiles(search, limit, offset, cursor, cursorDirection, orderType) {
|
|
21
23
|
let path = '/storage/files';
|
|
22
24
|
let payload = {};
|
|
23
25
|
|
|
@@ -33,6 +35,14 @@ class Storage extends Service {
|
|
|
33
35
|
payload['offset'] = offset;
|
|
34
36
|
}
|
|
35
37
|
|
|
38
|
+
if (typeof cursor !== 'undefined') {
|
|
39
|
+
payload['cursor'] = cursor;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
43
|
+
payload['cursorDirection'] = cursorDirection;
|
|
44
|
+
}
|
|
45
|
+
|
|
36
46
|
if (typeof orderType !== 'undefined') {
|
|
37
47
|
payload['orderType'] = orderType;
|
|
38
48
|
}
|
|
@@ -49,13 +59,18 @@ class Storage extends Service {
|
|
|
49
59
|
* assigned to read and write access unless he has passed custom values for
|
|
50
60
|
* read and write arguments.
|
|
51
61
|
*
|
|
62
|
+
* @param {string} fileId
|
|
52
63
|
* @param {File} file
|
|
53
64
|
* @param {string[]} read
|
|
54
65
|
* @param {string[]} write
|
|
55
66
|
* @throws {AppwriteException}
|
|
56
67
|
* @returns {Promise}
|
|
57
68
|
*/
|
|
58
|
-
async createFile(file, read, write) {
|
|
69
|
+
async createFile(fileId, file, read, write) {
|
|
70
|
+
if (typeof fileId === 'undefined') {
|
|
71
|
+
throw new AppwriteException('Missing required parameter: "fileId"');
|
|
72
|
+
}
|
|
73
|
+
|
|
59
74
|
if (typeof file === 'undefined') {
|
|
60
75
|
throw new AppwriteException('Missing required parameter: "file"');
|
|
61
76
|
}
|
|
@@ -63,6 +78,10 @@ class Storage extends Service {
|
|
|
63
78
|
let path = '/storage/files';
|
|
64
79
|
let payload = {};
|
|
65
80
|
|
|
81
|
+
if (typeof fileId !== 'undefined') {
|
|
82
|
+
payload['fileId'] = fileId;
|
|
83
|
+
}
|
|
84
|
+
|
|
66
85
|
if (typeof file !== 'undefined') {
|
|
67
86
|
payload['file'] = file;
|
|
68
87
|
}
|
package/lib/services/teams.js
CHANGED
|
@@ -6,19 +6,22 @@ class Teams extends Service {
|
|
|
6
6
|
/**
|
|
7
7
|
* List Teams
|
|
8
8
|
*
|
|
9
|
-
* Get a list of all the current user
|
|
10
|
-
* filter your results.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Get a list of all the teams in which the current user is a member. You can
|
|
10
|
+
* use the parameters to filter your results.
|
|
11
|
+
*
|
|
12
|
+
* In admin mode, this endpoint returns a list of all the teams in the current
|
|
13
|
+
* project. [Learn more about different API modes](/docs/admin).
|
|
13
14
|
*
|
|
14
15
|
* @param {string} search
|
|
15
16
|
* @param {number} limit
|
|
16
17
|
* @param {number} offset
|
|
18
|
+
* @param {string} cursor
|
|
19
|
+
* @param {string} cursorDirection
|
|
17
20
|
* @param {string} orderType
|
|
18
21
|
* @throws {AppwriteException}
|
|
19
22
|
* @returns {Promise}
|
|
20
23
|
*/
|
|
21
|
-
async list(search, limit, offset, orderType) {
|
|
24
|
+
async list(search, limit, offset, cursor, cursorDirection, orderType) {
|
|
22
25
|
let path = '/teams';
|
|
23
26
|
let payload = {};
|
|
24
27
|
|
|
@@ -34,6 +37,14 @@ class Teams extends Service {
|
|
|
34
37
|
payload['offset'] = offset;
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
if (typeof cursor !== 'undefined') {
|
|
41
|
+
payload['cursor'] = cursor;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
45
|
+
payload['cursorDirection'] = cursorDirection;
|
|
46
|
+
}
|
|
47
|
+
|
|
37
48
|
if (typeof orderType !== 'undefined') {
|
|
38
49
|
payload['orderType'] = orderType;
|
|
39
50
|
}
|
|
@@ -47,16 +58,20 @@ class Teams extends Service {
|
|
|
47
58
|
* Create Team
|
|
48
59
|
*
|
|
49
60
|
* Create a new team. The user who creates the team will automatically be
|
|
50
|
-
* assigned as the owner of the team.
|
|
51
|
-
*
|
|
52
|
-
* project.
|
|
61
|
+
* assigned as the owner of the team. Only the users with the owner role can
|
|
62
|
+
* invite new members, add new owners and delete or update the team.
|
|
53
63
|
*
|
|
64
|
+
* @param {string} teamId
|
|
54
65
|
* @param {string} name
|
|
55
66
|
* @param {string[]} roles
|
|
56
67
|
* @throws {AppwriteException}
|
|
57
68
|
* @returns {Promise}
|
|
58
69
|
*/
|
|
59
|
-
async create(name, roles) {
|
|
70
|
+
async create(teamId, name, roles) {
|
|
71
|
+
if (typeof teamId === 'undefined') {
|
|
72
|
+
throw new AppwriteException('Missing required parameter: "teamId"');
|
|
73
|
+
}
|
|
74
|
+
|
|
60
75
|
if (typeof name === 'undefined') {
|
|
61
76
|
throw new AppwriteException('Missing required parameter: "name"');
|
|
62
77
|
}
|
|
@@ -64,6 +79,10 @@ class Teams extends Service {
|
|
|
64
79
|
let path = '/teams';
|
|
65
80
|
let payload = {};
|
|
66
81
|
|
|
82
|
+
if (typeof teamId !== 'undefined') {
|
|
83
|
+
payload['teamId'] = teamId;
|
|
84
|
+
}
|
|
85
|
+
|
|
67
86
|
if (typeof name !== 'undefined') {
|
|
68
87
|
payload['name'] = name;
|
|
69
88
|
}
|
|
@@ -80,8 +99,7 @@ class Teams extends Service {
|
|
|
80
99
|
/**
|
|
81
100
|
* Get Team
|
|
82
101
|
*
|
|
83
|
-
* Get a team by its
|
|
84
|
-
* resource.
|
|
102
|
+
* Get a team by its ID. All team members have read access for this resource.
|
|
85
103
|
*
|
|
86
104
|
* @param {string} teamId
|
|
87
105
|
* @throws {AppwriteException}
|
|
@@ -103,8 +121,8 @@ class Teams extends Service {
|
|
|
103
121
|
/**
|
|
104
122
|
* Update Team
|
|
105
123
|
*
|
|
106
|
-
* Update a team
|
|
107
|
-
*
|
|
124
|
+
* Update a team using its ID. Only members with the owner role can update the
|
|
125
|
+
* team.
|
|
108
126
|
*
|
|
109
127
|
* @param {string} teamId
|
|
110
128
|
* @param {string} name
|
|
@@ -135,8 +153,8 @@ class Teams extends Service {
|
|
|
135
153
|
/**
|
|
136
154
|
* Delete Team
|
|
137
155
|
*
|
|
138
|
-
* Delete a team
|
|
139
|
-
*
|
|
156
|
+
* Delete a team using its ID. Only team members with the owner role can
|
|
157
|
+
* delete the team.
|
|
140
158
|
*
|
|
141
159
|
* @param {string} teamId
|
|
142
160
|
* @throws {AppwriteException}
|
|
@@ -158,18 +176,20 @@ class Teams extends Service {
|
|
|
158
176
|
/**
|
|
159
177
|
* Get Team Memberships
|
|
160
178
|
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
179
|
+
* Use this endpoint to list a team's members using the team's ID. All team
|
|
180
|
+
* members have read access to this endpoint.
|
|
163
181
|
*
|
|
164
182
|
* @param {string} teamId
|
|
165
183
|
* @param {string} search
|
|
166
184
|
* @param {number} limit
|
|
167
185
|
* @param {number} offset
|
|
186
|
+
* @param {string} cursor
|
|
187
|
+
* @param {string} cursorDirection
|
|
168
188
|
* @param {string} orderType
|
|
169
189
|
* @throws {AppwriteException}
|
|
170
190
|
* @returns {Promise}
|
|
171
191
|
*/
|
|
172
|
-
async getMemberships(teamId, search, limit, offset, orderType) {
|
|
192
|
+
async getMemberships(teamId, search, limit, offset, cursor, cursorDirection, orderType) {
|
|
173
193
|
if (typeof teamId === 'undefined') {
|
|
174
194
|
throw new AppwriteException('Missing required parameter: "teamId"');
|
|
175
195
|
}
|
|
@@ -189,6 +209,14 @@ class Teams extends Service {
|
|
|
189
209
|
payload['offset'] = offset;
|
|
190
210
|
}
|
|
191
211
|
|
|
212
|
+
if (typeof cursor !== 'undefined') {
|
|
213
|
+
payload['cursor'] = cursor;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
217
|
+
payload['cursorDirection'] = cursorDirection;
|
|
218
|
+
}
|
|
219
|
+
|
|
192
220
|
if (typeof orderType !== 'undefined') {
|
|
193
221
|
payload['orderType'] = orderType;
|
|
194
222
|
}
|
|
@@ -201,22 +229,21 @@ class Teams extends Service {
|
|
|
201
229
|
/**
|
|
202
230
|
* Create Team Membership
|
|
203
231
|
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
232
|
+
* Invite a new member to join your team. If initiated from the client SDK, an
|
|
233
|
+
* email with a link to join the team will be sent to the member's email
|
|
234
|
+
* address and an account will be created for them should they not be signed
|
|
235
|
+
* up already. If initiated from server-side SDKs, the new member will
|
|
236
|
+
* automatically be added to the team.
|
|
209
237
|
*
|
|
210
|
-
* Use the '
|
|
238
|
+
* Use the 'url' parameter to redirect the user from the invitation email back
|
|
211
239
|
* to your app. When the user is redirected, use the [Update Team Membership
|
|
212
240
|
* Status](/docs/client/teams#teamsUpdateMembershipStatus) endpoint to allow
|
|
213
|
-
* the user to accept the invitation to the team.
|
|
214
|
-
* SDKs the redirect url can be empty string.
|
|
241
|
+
* the user to accept the invitation to the team.
|
|
215
242
|
*
|
|
216
|
-
* Please note that
|
|
217
|
-
*
|
|
243
|
+
* Please note that to avoid a [Redirect
|
|
244
|
+
* Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md)
|
|
218
245
|
* the only valid redirect URL's are the once from domains you have set when
|
|
219
|
-
*
|
|
246
|
+
* adding your platforms in the console interface.
|
|
220
247
|
*
|
|
221
248
|
* @param {string} teamId
|
|
222
249
|
* @param {string} email
|
|
@@ -250,10 +277,6 @@ class Teams extends Service {
|
|
|
250
277
|
payload['email'] = email;
|
|
251
278
|
}
|
|
252
279
|
|
|
253
|
-
if (typeof name !== 'undefined') {
|
|
254
|
-
payload['name'] = name;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
280
|
if (typeof roles !== 'undefined') {
|
|
258
281
|
payload['roles'] = roles;
|
|
259
282
|
}
|
|
@@ -262,14 +285,50 @@ class Teams extends Service {
|
|
|
262
285
|
payload['url'] = url;
|
|
263
286
|
}
|
|
264
287
|
|
|
288
|
+
if (typeof name !== 'undefined') {
|
|
289
|
+
payload['name'] = name;
|
|
290
|
+
}
|
|
291
|
+
|
|
265
292
|
return await this.client.call('post', path, {
|
|
266
293
|
'content-type': 'application/json',
|
|
267
294
|
}, payload);
|
|
268
295
|
}
|
|
269
296
|
|
|
297
|
+
/**
|
|
298
|
+
* Get Team Membership
|
|
299
|
+
*
|
|
300
|
+
* Get a team member by the membership unique id. All team members have read
|
|
301
|
+
* access for this resource.
|
|
302
|
+
*
|
|
303
|
+
* @param {string} teamId
|
|
304
|
+
* @param {string} membershipId
|
|
305
|
+
* @throws {AppwriteException}
|
|
306
|
+
* @returns {Promise}
|
|
307
|
+
*/
|
|
308
|
+
async getMembership(teamId, membershipId) {
|
|
309
|
+
if (typeof teamId === 'undefined') {
|
|
310
|
+
throw new AppwriteException('Missing required parameter: "teamId"');
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (typeof membershipId === 'undefined') {
|
|
314
|
+
throw new AppwriteException('Missing required parameter: "membershipId"');
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
let path = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
|
|
318
|
+
let payload = {};
|
|
319
|
+
|
|
320
|
+
return await this.client.call('get', path, {
|
|
321
|
+
'content-type': 'application/json',
|
|
322
|
+
}, payload);
|
|
323
|
+
}
|
|
324
|
+
|
|
270
325
|
/**
|
|
271
326
|
* Update Membership Roles
|
|
272
327
|
*
|
|
328
|
+
* Modify the roles of a team member. Only team members with the owner role
|
|
329
|
+
* have access to this endpoint. Learn more about [roles and
|
|
330
|
+
* permissions](/docs/permissions).
|
|
331
|
+
*
|
|
273
332
|
* @param {string} teamId
|
|
274
333
|
* @param {string} membershipId
|
|
275
334
|
* @param {string[]} roles
|
|
@@ -334,7 +393,7 @@ class Teams extends Service {
|
|
|
334
393
|
* Update Team Membership Status
|
|
335
394
|
*
|
|
336
395
|
* Use this endpoint to allow a user to accept an invitation to join a team
|
|
337
|
-
* after being redirected back to your app from the invitation email
|
|
396
|
+
* after being redirected back to your app from the invitation email received
|
|
338
397
|
* by the user.
|
|
339
398
|
*
|
|
340
399
|
* @param {string} teamId
|
package/lib/services/users.js
CHANGED
|
@@ -12,11 +12,13 @@ class Users extends Service {
|
|
|
12
12
|
* @param {string} search
|
|
13
13
|
* @param {number} limit
|
|
14
14
|
* @param {number} offset
|
|
15
|
+
* @param {string} cursor
|
|
16
|
+
* @param {string} cursorDirection
|
|
15
17
|
* @param {string} orderType
|
|
16
18
|
* @throws {AppwriteException}
|
|
17
19
|
* @returns {Promise}
|
|
18
20
|
*/
|
|
19
|
-
async list(search, limit, offset, orderType) {
|
|
21
|
+
async list(search, limit, offset, cursor, cursorDirection, orderType) {
|
|
20
22
|
let path = '/users';
|
|
21
23
|
let payload = {};
|
|
22
24
|
|
|
@@ -32,6 +34,14 @@ class Users extends Service {
|
|
|
32
34
|
payload['offset'] = offset;
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
if (typeof cursor !== 'undefined') {
|
|
38
|
+
payload['cursor'] = cursor;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (typeof cursorDirection !== 'undefined') {
|
|
42
|
+
payload['cursorDirection'] = cursorDirection;
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
if (typeof orderType !== 'undefined') {
|
|
36
46
|
payload['orderType'] = orderType;
|
|
37
47
|
}
|
|
@@ -46,13 +56,18 @@ class Users extends Service {
|
|
|
46
56
|
*
|
|
47
57
|
* Create a new user.
|
|
48
58
|
*
|
|
59
|
+
* @param {string} userId
|
|
49
60
|
* @param {string} email
|
|
50
61
|
* @param {string} password
|
|
51
62
|
* @param {string} name
|
|
52
63
|
* @throws {AppwriteException}
|
|
53
64
|
* @returns {Promise}
|
|
54
65
|
*/
|
|
55
|
-
async create(email, password, name) {
|
|
66
|
+
async create(userId, email, password, name) {
|
|
67
|
+
if (typeof userId === 'undefined') {
|
|
68
|
+
throw new AppwriteException('Missing required parameter: "userId"');
|
|
69
|
+
}
|
|
70
|
+
|
|
56
71
|
if (typeof email === 'undefined') {
|
|
57
72
|
throw new AppwriteException('Missing required parameter: "email"');
|
|
58
73
|
}
|
|
@@ -64,6 +79,10 @@ class Users extends Service {
|
|
|
64
79
|
let path = '/users';
|
|
65
80
|
let payload = {};
|
|
66
81
|
|
|
82
|
+
if (typeof userId !== 'undefined') {
|
|
83
|
+
payload['userId'] = userId;
|
|
84
|
+
}
|
|
85
|
+
|
|
67
86
|
if (typeof email !== 'undefined') {
|
|
68
87
|
payload['email'] = email;
|
|
69
88
|
}
|
|
@@ -159,13 +178,15 @@ class Users extends Service {
|
|
|
159
178
|
/**
|
|
160
179
|
* Get User Logs
|
|
161
180
|
*
|
|
162
|
-
* Get
|
|
181
|
+
* Get the user activity logs list by its unique ID.
|
|
163
182
|
*
|
|
164
183
|
* @param {string} userId
|
|
184
|
+
* @param {number} limit
|
|
185
|
+
* @param {number} offset
|
|
165
186
|
* @throws {AppwriteException}
|
|
166
187
|
* @returns {Promise}
|
|
167
188
|
*/
|
|
168
|
-
async getLogs(userId) {
|
|
189
|
+
async getLogs(userId, limit, offset) {
|
|
169
190
|
if (typeof userId === 'undefined') {
|
|
170
191
|
throw new AppwriteException('Missing required parameter: "userId"');
|
|
171
192
|
}
|
|
@@ -173,6 +194,14 @@ class Users extends Service {
|
|
|
173
194
|
let path = '/users/{userId}/logs'.replace('{userId}', userId);
|
|
174
195
|
let payload = {};
|
|
175
196
|
|
|
197
|
+
if (typeof limit !== 'undefined') {
|
|
198
|
+
payload['limit'] = limit;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (typeof offset !== 'undefined') {
|
|
202
|
+
payload['offset'] = offset;
|
|
203
|
+
}
|
|
204
|
+
|
|
176
205
|
return await this.client.call('get', path, {
|
|
177
206
|
'content-type': 'application/json',
|
|
178
207
|
}, payload);
|
|
@@ -371,7 +400,7 @@ class Users extends Service {
|
|
|
371
400
|
* Update the user status by its unique ID.
|
|
372
401
|
*
|
|
373
402
|
* @param {string} userId
|
|
374
|
-
* @param {
|
|
403
|
+
* @param {boolean} status
|
|
375
404
|
* @throws {AppwriteException}
|
|
376
405
|
* @returns {Promise}
|
|
377
406
|
*/
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "node-appwrite",
|
|
3
3
|
"homepage": "https://appwrite.io/support",
|
|
4
4
|
"description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "4.0.1",
|
|
6
6
|
"license": "BSD-3-Clause",
|
|
7
7
|
"main": "./index.js",
|
|
8
8
|
"types": "./index.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"axios": "^0.
|
|
15
|
+
"axios": "^0.24.0",
|
|
16
16
|
"form-data": "^4.0.0"
|
|
17
17
|
}
|
|
18
18
|
}
|