node-appwrite 17.1.0 → 18.0.0

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.
Files changed (112) hide show
  1. package/README.md +67 -2
  2. package/dist/client.js +3 -3
  3. package/dist/client.js.map +1 -1
  4. package/dist/client.mjs +3 -3
  5. package/dist/client.mjs.map +1 -1
  6. package/dist/enums/{v-c-s-deployment-type.js → vcs-deployment-type.js} +1 -1
  7. package/dist/enums/vcs-deployment-type.js.map +1 -0
  8. package/dist/enums/{v-c-s-deployment-type.mjs → vcs-deployment-type.mjs} +2 -2
  9. package/dist/enums/vcs-deployment-type.mjs.map +1 -0
  10. package/dist/index.d.mts +2 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.js +7 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +2 -1
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/models.d.mts +829 -145
  17. package/dist/models.d.ts +829 -145
  18. package/dist/query.d.mts +70 -0
  19. package/dist/query.d.ts +70 -0
  20. package/dist/query.js +70 -0
  21. package/dist/query.js.map +1 -1
  22. package/dist/query.mjs +70 -0
  23. package/dist/query.mjs.map +1 -1
  24. package/dist/services/account.d.mts +656 -101
  25. package/dist/services/account.d.ts +656 -101
  26. package/dist/services/account.js +592 -292
  27. package/dist/services/account.js.map +1 -1
  28. package/dist/services/account.mjs +592 -292
  29. package/dist/services/account.mjs.map +1 -1
  30. package/dist/services/avatars.d.mts +176 -45
  31. package/dist/services/avatars.d.ts +176 -45
  32. package/dist/services/avatars.js +104 -93
  33. package/dist/services/avatars.js.map +1 -1
  34. package/dist/services/avatars.mjs +104 -93
  35. package/dist/services/avatars.mjs.map +1 -1
  36. package/dist/services/databases.d.mts +1274 -271
  37. package/dist/services/databases.d.ts +1274 -271
  38. package/dist/services/databases.js +939 -584
  39. package/dist/services/databases.js.map +1 -1
  40. package/dist/services/databases.mjs +939 -584
  41. package/dist/services/databases.mjs.map +1 -1
  42. package/dist/services/functions.d.mts +537 -114
  43. package/dist/services/functions.d.ts +537 -114
  44. package/dist/services/functions.js +393 -276
  45. package/dist/services/functions.js.map +1 -1
  46. package/dist/services/functions.mjs +393 -276
  47. package/dist/services/functions.mjs.map +1 -1
  48. package/dist/services/graphql.d.mts +24 -2
  49. package/dist/services/graphql.d.ts +24 -2
  50. package/dist/services/graphql.js +20 -16
  51. package/dist/services/graphql.js.map +1 -1
  52. package/dist/services/graphql.mjs +20 -16
  53. package/dist/services/graphql.mjs.map +1 -1
  54. package/dist/services/health.d.mts +176 -17
  55. package/dist/services/health.d.ts +176 -17
  56. package/dist/services/health.js +144 -115
  57. package/dist/services/health.js.map +1 -1
  58. package/dist/services/health.mjs +144 -115
  59. package/dist/services/health.mjs.map +1 -1
  60. package/dist/services/locale.d.mts +2 -2
  61. package/dist/services/locale.d.ts +2 -2
  62. package/dist/services/locale.js +7 -7
  63. package/dist/services/locale.js.map +1 -1
  64. package/dist/services/locale.mjs +7 -7
  65. package/dist/services/locale.mjs.map +1 -1
  66. package/dist/services/messaging.d.mts +1552 -270
  67. package/dist/services/messaging.d.ts +1552 -270
  68. package/dist/services/messaging.js +1417 -592
  69. package/dist/services/messaging.js.map +1 -1
  70. package/dist/services/messaging.mjs +1417 -592
  71. package/dist/services/messaging.mjs.map +1 -1
  72. package/dist/services/sites.d.mts +499 -103
  73. package/dist/services/sites.d.ts +499 -103
  74. package/dist/services/sites.js +371 -258
  75. package/dist/services/sites.js.map +1 -1
  76. package/dist/services/sites.mjs +371 -258
  77. package/dist/services/sites.mjs.map +1 -1
  78. package/dist/services/storage.d.mts +311 -68
  79. package/dist/services/storage.d.ts +311 -68
  80. package/dist/services/storage.js +225 -158
  81. package/dist/services/storage.js.map +1 -1
  82. package/dist/services/storage.mjs +225 -158
  83. package/dist/services/storage.mjs.map +1 -1
  84. package/dist/services/tables-db.d.mts +1549 -0
  85. package/dist/services/tables-db.d.ts +1549 -0
  86. package/dist/services/tables-db.js +2374 -0
  87. package/dist/services/tables-db.js.map +1 -0
  88. package/dist/services/tables-db.mjs +2373 -0
  89. package/dist/services/tables-db.mjs.map +1 -0
  90. package/dist/services/teams.d.mts +249 -55
  91. package/dist/services/teams.d.ts +249 -55
  92. package/dist/services/teams.js +170 -135
  93. package/dist/services/teams.js.map +1 -1
  94. package/dist/services/teams.mjs +170 -135
  95. package/dist/services/teams.mjs.map +1 -1
  96. package/dist/services/tokens.d.mts +76 -11
  97. package/dist/services/tokens.d.ts +76 -11
  98. package/dist/services/tokens.js +60 -45
  99. package/dist/services/tokens.js.map +1 -1
  100. package/dist/services/tokens.mjs +60 -45
  101. package/dist/services/tokens.mjs.map +1 -1
  102. package/dist/services/users.d.mts +867 -140
  103. package/dist/services/users.d.ts +867 -140
  104. package/dist/services/users.js +719 -408
  105. package/dist/services/users.js.map +1 -1
  106. package/dist/services/users.mjs +719 -408
  107. package/dist/services/users.mjs.map +1 -1
  108. package/package.json +1 -1
  109. package/dist/enums/v-c-s-deployment-type.js.map +0 -1
  110. package/dist/enums/v-c-s-deployment-type.mjs.map +0 -1
  111. /package/dist/enums/{v-c-s-deployment-type.d.mts → vcs-deployment-type.d.mts} +0 -0
  112. /package/dist/enums/{v-c-s-deployment-type.d.ts → vcs-deployment-type.d.ts} +0 -0
@@ -5,15 +5,18 @@ var Databases = class {
5
5
  constructor(client) {
6
6
  this.client = client;
7
7
  }
8
- /**
9
- * Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.
10
- *
11
- * @param {string[]} queries
12
- * @param {string} search
13
- * @throws {AppwriteException}
14
- * @returns {Promise<Models.DatabaseList>}
15
- */
16
- list(queries, search) {
8
+ list(paramsOrFirst, ...rest) {
9
+ let params;
10
+ if (!paramsOrFirst || paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
11
+ params = paramsOrFirst || {};
12
+ } else {
13
+ params = {
14
+ queries: paramsOrFirst,
15
+ search: rest[0]
16
+ };
17
+ }
18
+ const queries = params.queries;
19
+ const search = params.search;
17
20
  const apiPath = "/databases";
18
21
  const payload = {};
19
22
  if (typeof queries !== "undefined") {
@@ -31,17 +34,20 @@ var Databases = class {
31
34
  payload
32
35
  );
33
36
  }
34
- /**
35
- * Create a new Database.
36
-
37
- *
38
- * @param {string} databaseId
39
- * @param {string} name
40
- * @param {boolean} enabled
41
- * @throws {AppwriteException}
42
- * @returns {Promise<Models.Database>}
43
- */
44
- create(databaseId, name, enabled) {
37
+ create(paramsOrFirst, ...rest) {
38
+ let params;
39
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
40
+ params = paramsOrFirst || {};
41
+ } else {
42
+ params = {
43
+ databaseId: paramsOrFirst,
44
+ name: rest[0],
45
+ enabled: rest[1]
46
+ };
47
+ }
48
+ const databaseId = params.databaseId;
49
+ const name = params.name;
50
+ const enabled = params.enabled;
45
51
  if (typeof databaseId === "undefined") {
46
52
  throw new AppwriteException('Missing required parameter: "databaseId"');
47
53
  }
@@ -70,14 +76,16 @@ var Databases = class {
70
76
  payload
71
77
  );
72
78
  }
73
- /**
74
- * Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.
75
- *
76
- * @param {string} databaseId
77
- * @throws {AppwriteException}
78
- * @returns {Promise<Models.Database>}
79
- */
80
- get(databaseId) {
79
+ get(paramsOrFirst) {
80
+ let params;
81
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
82
+ params = paramsOrFirst || {};
83
+ } else {
84
+ params = {
85
+ databaseId: paramsOrFirst
86
+ };
87
+ }
88
+ const databaseId = params.databaseId;
81
89
  if (typeof databaseId === "undefined") {
82
90
  throw new AppwriteException('Missing required parameter: "databaseId"');
83
91
  }
@@ -92,16 +100,20 @@ var Databases = class {
92
100
  payload
93
101
  );
94
102
  }
95
- /**
96
- * Update a database by its unique ID.
97
- *
98
- * @param {string} databaseId
99
- * @param {string} name
100
- * @param {boolean} enabled
101
- * @throws {AppwriteException}
102
- * @returns {Promise<Models.Database>}
103
- */
104
- update(databaseId, name, enabled) {
103
+ update(paramsOrFirst, ...rest) {
104
+ let params;
105
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
106
+ params = paramsOrFirst || {};
107
+ } else {
108
+ params = {
109
+ databaseId: paramsOrFirst,
110
+ name: rest[0],
111
+ enabled: rest[1]
112
+ };
113
+ }
114
+ const databaseId = params.databaseId;
115
+ const name = params.name;
116
+ const enabled = params.enabled;
105
117
  if (typeof databaseId === "undefined") {
106
118
  throw new AppwriteException('Missing required parameter: "databaseId"');
107
119
  }
@@ -127,14 +139,16 @@ var Databases = class {
127
139
  payload
128
140
  );
129
141
  }
130
- /**
131
- * Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.
132
- *
133
- * @param {string} databaseId
134
- * @throws {AppwriteException}
135
- * @returns {Promise<{}>}
136
- */
137
- delete(databaseId) {
142
+ delete(paramsOrFirst) {
143
+ let params;
144
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
145
+ params = paramsOrFirst || {};
146
+ } else {
147
+ params = {
148
+ databaseId: paramsOrFirst
149
+ };
150
+ }
151
+ const databaseId = params.databaseId;
138
152
  if (typeof databaseId === "undefined") {
139
153
  throw new AppwriteException('Missing required parameter: "databaseId"');
140
154
  }
@@ -151,16 +165,20 @@ var Databases = class {
151
165
  payload
152
166
  );
153
167
  }
154
- /**
155
- * Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.
156
- *
157
- * @param {string} databaseId
158
- * @param {string[]} queries
159
- * @param {string} search
160
- * @throws {AppwriteException}
161
- * @returns {Promise<Models.CollectionList>}
162
- */
163
- listCollections(databaseId, queries, search) {
168
+ listCollections(paramsOrFirst, ...rest) {
169
+ let params;
170
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
171
+ params = paramsOrFirst || {};
172
+ } else {
173
+ params = {
174
+ databaseId: paramsOrFirst,
175
+ queries: rest[0],
176
+ search: rest[1]
177
+ };
178
+ }
179
+ const databaseId = params.databaseId;
180
+ const queries = params.queries;
181
+ const search = params.search;
164
182
  if (typeof databaseId === "undefined") {
165
183
  throw new AppwriteException('Missing required parameter: "databaseId"');
166
184
  }
@@ -181,19 +199,26 @@ var Databases = class {
181
199
  payload
182
200
  );
183
201
  }
184
- /**
185
- * Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
186
- *
187
- * @param {string} databaseId
188
- * @param {string} collectionId
189
- * @param {string} name
190
- * @param {string[]} permissions
191
- * @param {boolean} documentSecurity
192
- * @param {boolean} enabled
193
- * @throws {AppwriteException}
194
- * @returns {Promise<Models.Collection>}
195
- */
196
- createCollection(databaseId, collectionId, name, permissions, documentSecurity, enabled) {
202
+ createCollection(paramsOrFirst, ...rest) {
203
+ let params;
204
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
205
+ params = paramsOrFirst || {};
206
+ } else {
207
+ params = {
208
+ databaseId: paramsOrFirst,
209
+ collectionId: rest[0],
210
+ name: rest[1],
211
+ permissions: rest[2],
212
+ documentSecurity: rest[3],
213
+ enabled: rest[4]
214
+ };
215
+ }
216
+ const databaseId = params.databaseId;
217
+ const collectionId = params.collectionId;
218
+ const name = params.name;
219
+ const permissions = params.permissions;
220
+ const documentSecurity = params.documentSecurity;
221
+ const enabled = params.enabled;
197
222
  if (typeof databaseId === "undefined") {
198
223
  throw new AppwriteException('Missing required parameter: "databaseId"');
199
224
  }
@@ -231,15 +256,18 @@ var Databases = class {
231
256
  payload
232
257
  );
233
258
  }
234
- /**
235
- * Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.
236
- *
237
- * @param {string} databaseId
238
- * @param {string} collectionId
239
- * @throws {AppwriteException}
240
- * @returns {Promise<Models.Collection>}
241
- */
242
- getCollection(databaseId, collectionId) {
259
+ getCollection(paramsOrFirst, ...rest) {
260
+ let params;
261
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
262
+ params = paramsOrFirst || {};
263
+ } else {
264
+ params = {
265
+ databaseId: paramsOrFirst,
266
+ collectionId: rest[0]
267
+ };
268
+ }
269
+ const databaseId = params.databaseId;
270
+ const collectionId = params.collectionId;
243
271
  if (typeof databaseId === "undefined") {
244
272
  throw new AppwriteException('Missing required parameter: "databaseId"');
245
273
  }
@@ -257,19 +285,26 @@ var Databases = class {
257
285
  payload
258
286
  );
259
287
  }
260
- /**
261
- * Update a collection by its unique ID.
262
- *
263
- * @param {string} databaseId
264
- * @param {string} collectionId
265
- * @param {string} name
266
- * @param {string[]} permissions
267
- * @param {boolean} documentSecurity
268
- * @param {boolean} enabled
269
- * @throws {AppwriteException}
270
- * @returns {Promise<Models.Collection>}
271
- */
272
- updateCollection(databaseId, collectionId, name, permissions, documentSecurity, enabled) {
288
+ updateCollection(paramsOrFirst, ...rest) {
289
+ let params;
290
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
291
+ params = paramsOrFirst || {};
292
+ } else {
293
+ params = {
294
+ databaseId: paramsOrFirst,
295
+ collectionId: rest[0],
296
+ name: rest[1],
297
+ permissions: rest[2],
298
+ documentSecurity: rest[3],
299
+ enabled: rest[4]
300
+ };
301
+ }
302
+ const databaseId = params.databaseId;
303
+ const collectionId = params.collectionId;
304
+ const name = params.name;
305
+ const permissions = params.permissions;
306
+ const documentSecurity = params.documentSecurity;
307
+ const enabled = params.enabled;
273
308
  if (typeof databaseId === "undefined") {
274
309
  throw new AppwriteException('Missing required parameter: "databaseId"');
275
310
  }
@@ -304,15 +339,18 @@ var Databases = class {
304
339
  payload
305
340
  );
306
341
  }
307
- /**
308
- * Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.
309
- *
310
- * @param {string} databaseId
311
- * @param {string} collectionId
312
- * @throws {AppwriteException}
313
- * @returns {Promise<{}>}
314
- */
315
- deleteCollection(databaseId, collectionId) {
342
+ deleteCollection(paramsOrFirst, ...rest) {
343
+ let params;
344
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
345
+ params = paramsOrFirst || {};
346
+ } else {
347
+ params = {
348
+ databaseId: paramsOrFirst,
349
+ collectionId: rest[0]
350
+ };
351
+ }
352
+ const databaseId = params.databaseId;
353
+ const collectionId = params.collectionId;
316
354
  if (typeof databaseId === "undefined") {
317
355
  throw new AppwriteException('Missing required parameter: "databaseId"');
318
356
  }
@@ -332,16 +370,20 @@ var Databases = class {
332
370
  payload
333
371
  );
334
372
  }
335
- /**
336
- * List attributes in the collection.
337
- *
338
- * @param {string} databaseId
339
- * @param {string} collectionId
340
- * @param {string[]} queries
341
- * @throws {AppwriteException}
342
- * @returns {Promise<Models.AttributeList>}
343
- */
344
- listAttributes(databaseId, collectionId, queries) {
373
+ listAttributes(paramsOrFirst, ...rest) {
374
+ let params;
375
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
376
+ params = paramsOrFirst || {};
377
+ } else {
378
+ params = {
379
+ databaseId: paramsOrFirst,
380
+ collectionId: rest[0],
381
+ queries: rest[1]
382
+ };
383
+ }
384
+ const databaseId = params.databaseId;
385
+ const collectionId = params.collectionId;
386
+ const queries = params.queries;
345
387
  if (typeof databaseId === "undefined") {
346
388
  throw new AppwriteException('Missing required parameter: "databaseId"');
347
389
  }
@@ -362,20 +404,26 @@ var Databases = class {
362
404
  payload
363
405
  );
364
406
  }
365
- /**
366
- * Create a boolean attribute.
367
-
368
- *
369
- * @param {string} databaseId
370
- * @param {string} collectionId
371
- * @param {string} key
372
- * @param {boolean} required
373
- * @param {boolean} xdefault
374
- * @param {boolean} array
375
- * @throws {AppwriteException}
376
- * @returns {Promise<Models.AttributeBoolean>}
377
- */
378
- createBooleanAttribute(databaseId, collectionId, key, required, xdefault, array) {
407
+ createBooleanAttribute(paramsOrFirst, ...rest) {
408
+ let params;
409
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
410
+ params = paramsOrFirst || {};
411
+ } else {
412
+ params = {
413
+ databaseId: paramsOrFirst,
414
+ collectionId: rest[0],
415
+ key: rest[1],
416
+ required: rest[2],
417
+ xdefault: rest[3],
418
+ array: rest[4]
419
+ };
420
+ }
421
+ const databaseId = params.databaseId;
422
+ const collectionId = params.collectionId;
423
+ const key = params.key;
424
+ const required = params.required;
425
+ const xdefault = params.xdefault;
426
+ const array = params.array;
379
427
  if (typeof databaseId === "undefined") {
380
428
  throw new AppwriteException('Missing required parameter: "databaseId"');
381
429
  }
@@ -413,19 +461,26 @@ var Databases = class {
413
461
  payload
414
462
  );
415
463
  }
416
- /**
417
- * Update a boolean attribute. Changing the `default` value will not update already existing documents.
418
- *
419
- * @param {string} databaseId
420
- * @param {string} collectionId
421
- * @param {string} key
422
- * @param {boolean} required
423
- * @param {boolean} xdefault
424
- * @param {string} newKey
425
- * @throws {AppwriteException}
426
- * @returns {Promise<Models.AttributeBoolean>}
427
- */
428
- updateBooleanAttribute(databaseId, collectionId, key, required, xdefault, newKey) {
464
+ updateBooleanAttribute(paramsOrFirst, ...rest) {
465
+ let params;
466
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
467
+ params = paramsOrFirst || {};
468
+ } else {
469
+ params = {
470
+ databaseId: paramsOrFirst,
471
+ collectionId: rest[0],
472
+ key: rest[1],
473
+ required: rest[2],
474
+ xdefault: rest[3],
475
+ newKey: rest[4]
476
+ };
477
+ }
478
+ const databaseId = params.databaseId;
479
+ const collectionId = params.collectionId;
480
+ const key = params.key;
481
+ const required = params.required;
482
+ const xdefault = params.xdefault;
483
+ const newKey = params.newKey;
429
484
  if (typeof databaseId === "undefined") {
430
485
  throw new AppwriteException('Missing required parameter: "databaseId"');
431
486
  }
@@ -463,19 +518,26 @@ var Databases = class {
463
518
  payload
464
519
  );
465
520
  }
466
- /**
467
- * Create a date time attribute according to the ISO 8601 standard.
468
- *
469
- * @param {string} databaseId
470
- * @param {string} collectionId
471
- * @param {string} key
472
- * @param {boolean} required
473
- * @param {string} xdefault
474
- * @param {boolean} array
475
- * @throws {AppwriteException}
476
- * @returns {Promise<Models.AttributeDatetime>}
477
- */
478
- createDatetimeAttribute(databaseId, collectionId, key, required, xdefault, array) {
521
+ createDatetimeAttribute(paramsOrFirst, ...rest) {
522
+ let params;
523
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
524
+ params = paramsOrFirst || {};
525
+ } else {
526
+ params = {
527
+ databaseId: paramsOrFirst,
528
+ collectionId: rest[0],
529
+ key: rest[1],
530
+ required: rest[2],
531
+ xdefault: rest[3],
532
+ array: rest[4]
533
+ };
534
+ }
535
+ const databaseId = params.databaseId;
536
+ const collectionId = params.collectionId;
537
+ const key = params.key;
538
+ const required = params.required;
539
+ const xdefault = params.xdefault;
540
+ const array = params.array;
479
541
  if (typeof databaseId === "undefined") {
480
542
  throw new AppwriteException('Missing required parameter: "databaseId"');
481
543
  }
@@ -513,19 +575,26 @@ var Databases = class {
513
575
  payload
514
576
  );
515
577
  }
516
- /**
517
- * Update a date time attribute. Changing the `default` value will not update already existing documents.
518
- *
519
- * @param {string} databaseId
520
- * @param {string} collectionId
521
- * @param {string} key
522
- * @param {boolean} required
523
- * @param {string} xdefault
524
- * @param {string} newKey
525
- * @throws {AppwriteException}
526
- * @returns {Promise<Models.AttributeDatetime>}
527
- */
528
- updateDatetimeAttribute(databaseId, collectionId, key, required, xdefault, newKey) {
578
+ updateDatetimeAttribute(paramsOrFirst, ...rest) {
579
+ let params;
580
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
581
+ params = paramsOrFirst || {};
582
+ } else {
583
+ params = {
584
+ databaseId: paramsOrFirst,
585
+ collectionId: rest[0],
586
+ key: rest[1],
587
+ required: rest[2],
588
+ xdefault: rest[3],
589
+ newKey: rest[4]
590
+ };
591
+ }
592
+ const databaseId = params.databaseId;
593
+ const collectionId = params.collectionId;
594
+ const key = params.key;
595
+ const required = params.required;
596
+ const xdefault = params.xdefault;
597
+ const newKey = params.newKey;
529
598
  if (typeof databaseId === "undefined") {
530
599
  throw new AppwriteException('Missing required parameter: "databaseId"');
531
600
  }
@@ -563,20 +632,26 @@ var Databases = class {
563
632
  payload
564
633
  );
565
634
  }
566
- /**
567
- * Create an email attribute.
568
-
569
- *
570
- * @param {string} databaseId
571
- * @param {string} collectionId
572
- * @param {string} key
573
- * @param {boolean} required
574
- * @param {string} xdefault
575
- * @param {boolean} array
576
- * @throws {AppwriteException}
577
- * @returns {Promise<Models.AttributeEmail>}
578
- */
579
- createEmailAttribute(databaseId, collectionId, key, required, xdefault, array) {
635
+ createEmailAttribute(paramsOrFirst, ...rest) {
636
+ let params;
637
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
638
+ params = paramsOrFirst || {};
639
+ } else {
640
+ params = {
641
+ databaseId: paramsOrFirst,
642
+ collectionId: rest[0],
643
+ key: rest[1],
644
+ required: rest[2],
645
+ xdefault: rest[3],
646
+ array: rest[4]
647
+ };
648
+ }
649
+ const databaseId = params.databaseId;
650
+ const collectionId = params.collectionId;
651
+ const key = params.key;
652
+ const required = params.required;
653
+ const xdefault = params.xdefault;
654
+ const array = params.array;
580
655
  if (typeof databaseId === "undefined") {
581
656
  throw new AppwriteException('Missing required parameter: "databaseId"');
582
657
  }
@@ -614,20 +689,26 @@ var Databases = class {
614
689
  payload
615
690
  );
616
691
  }
617
- /**
618
- * Update an email attribute. Changing the `default` value will not update already existing documents.
619
-
620
- *
621
- * @param {string} databaseId
622
- * @param {string} collectionId
623
- * @param {string} key
624
- * @param {boolean} required
625
- * @param {string} xdefault
626
- * @param {string} newKey
627
- * @throws {AppwriteException}
628
- * @returns {Promise<Models.AttributeEmail>}
629
- */
630
- updateEmailAttribute(databaseId, collectionId, key, required, xdefault, newKey) {
692
+ updateEmailAttribute(paramsOrFirst, ...rest) {
693
+ let params;
694
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
695
+ params = paramsOrFirst || {};
696
+ } else {
697
+ params = {
698
+ databaseId: paramsOrFirst,
699
+ collectionId: rest[0],
700
+ key: rest[1],
701
+ required: rest[2],
702
+ xdefault: rest[3],
703
+ newKey: rest[4]
704
+ };
705
+ }
706
+ const databaseId = params.databaseId;
707
+ const collectionId = params.collectionId;
708
+ const key = params.key;
709
+ const required = params.required;
710
+ const xdefault = params.xdefault;
711
+ const newKey = params.newKey;
631
712
  if (typeof databaseId === "undefined") {
632
713
  throw new AppwriteException('Missing required parameter: "databaseId"');
633
714
  }
@@ -665,21 +746,28 @@ var Databases = class {
665
746
  payload
666
747
  );
667
748
  }
668
- /**
669
- * Create an enumeration attribute. The `elements` param acts as a white-list of accepted values for this attribute.
670
-
671
- *
672
- * @param {string} databaseId
673
- * @param {string} collectionId
674
- * @param {string} key
675
- * @param {string[]} elements
676
- * @param {boolean} required
677
- * @param {string} xdefault
678
- * @param {boolean} array
679
- * @throws {AppwriteException}
680
- * @returns {Promise<Models.AttributeEnum>}
681
- */
682
- createEnumAttribute(databaseId, collectionId, key, elements, required, xdefault, array) {
749
+ createEnumAttribute(paramsOrFirst, ...rest) {
750
+ let params;
751
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
752
+ params = paramsOrFirst || {};
753
+ } else {
754
+ params = {
755
+ databaseId: paramsOrFirst,
756
+ collectionId: rest[0],
757
+ key: rest[1],
758
+ elements: rest[2],
759
+ required: rest[3],
760
+ xdefault: rest[4],
761
+ array: rest[5]
762
+ };
763
+ }
764
+ const databaseId = params.databaseId;
765
+ const collectionId = params.collectionId;
766
+ const key = params.key;
767
+ const elements = params.elements;
768
+ const required = params.required;
769
+ const xdefault = params.xdefault;
770
+ const array = params.array;
683
771
  if (typeof databaseId === "undefined") {
684
772
  throw new AppwriteException('Missing required parameter: "databaseId"');
685
773
  }
@@ -723,21 +811,28 @@ var Databases = class {
723
811
  payload
724
812
  );
725
813
  }
726
- /**
727
- * Update an enum attribute. Changing the `default` value will not update already existing documents.
728
-
729
- *
730
- * @param {string} databaseId
731
- * @param {string} collectionId
732
- * @param {string} key
733
- * @param {string[]} elements
734
- * @param {boolean} required
735
- * @param {string} xdefault
736
- * @param {string} newKey
737
- * @throws {AppwriteException}
738
- * @returns {Promise<Models.AttributeEnum>}
739
- */
740
- updateEnumAttribute(databaseId, collectionId, key, elements, required, xdefault, newKey) {
814
+ updateEnumAttribute(paramsOrFirst, ...rest) {
815
+ let params;
816
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
817
+ params = paramsOrFirst || {};
818
+ } else {
819
+ params = {
820
+ databaseId: paramsOrFirst,
821
+ collectionId: rest[0],
822
+ key: rest[1],
823
+ elements: rest[2],
824
+ required: rest[3],
825
+ xdefault: rest[4],
826
+ newKey: rest[5]
827
+ };
828
+ }
829
+ const databaseId = params.databaseId;
830
+ const collectionId = params.collectionId;
831
+ const key = params.key;
832
+ const elements = params.elements;
833
+ const required = params.required;
834
+ const xdefault = params.xdefault;
835
+ const newKey = params.newKey;
741
836
  if (typeof databaseId === "undefined") {
742
837
  throw new AppwriteException('Missing required parameter: "databaseId"');
743
838
  }
@@ -781,22 +876,30 @@ var Databases = class {
781
876
  payload
782
877
  );
783
878
  }
784
- /**
785
- * Create a float attribute. Optionally, minimum and maximum values can be provided.
786
-
787
- *
788
- * @param {string} databaseId
789
- * @param {string} collectionId
790
- * @param {string} key
791
- * @param {boolean} required
792
- * @param {number} min
793
- * @param {number} max
794
- * @param {number} xdefault
795
- * @param {boolean} array
796
- * @throws {AppwriteException}
797
- * @returns {Promise<Models.AttributeFloat>}
798
- */
799
- createFloatAttribute(databaseId, collectionId, key, required, min, max, xdefault, array) {
879
+ createFloatAttribute(paramsOrFirst, ...rest) {
880
+ let params;
881
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
882
+ params = paramsOrFirst || {};
883
+ } else {
884
+ params = {
885
+ databaseId: paramsOrFirst,
886
+ collectionId: rest[0],
887
+ key: rest[1],
888
+ required: rest[2],
889
+ min: rest[3],
890
+ max: rest[4],
891
+ xdefault: rest[5],
892
+ array: rest[6]
893
+ };
894
+ }
895
+ const databaseId = params.databaseId;
896
+ const collectionId = params.collectionId;
897
+ const key = params.key;
898
+ const required = params.required;
899
+ const min = params.min;
900
+ const max = params.max;
901
+ const xdefault = params.xdefault;
902
+ const array = params.array;
800
903
  if (typeof databaseId === "undefined") {
801
904
  throw new AppwriteException('Missing required parameter: "databaseId"');
802
905
  }
@@ -840,22 +943,30 @@ var Databases = class {
840
943
  payload
841
944
  );
842
945
  }
843
- /**
844
- * Update a float attribute. Changing the `default` value will not update already existing documents.
845
-
846
- *
847
- * @param {string} databaseId
848
- * @param {string} collectionId
849
- * @param {string} key
850
- * @param {boolean} required
851
- * @param {number} xdefault
852
- * @param {number} min
853
- * @param {number} max
854
- * @param {string} newKey
855
- * @throws {AppwriteException}
856
- * @returns {Promise<Models.AttributeFloat>}
857
- */
858
- updateFloatAttribute(databaseId, collectionId, key, required, xdefault, min, max, newKey) {
946
+ updateFloatAttribute(paramsOrFirst, ...rest) {
947
+ let params;
948
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
949
+ params = paramsOrFirst || {};
950
+ } else {
951
+ params = {
952
+ databaseId: paramsOrFirst,
953
+ collectionId: rest[0],
954
+ key: rest[1],
955
+ required: rest[2],
956
+ xdefault: rest[3],
957
+ min: rest[4],
958
+ max: rest[5],
959
+ newKey: rest[6]
960
+ };
961
+ }
962
+ const databaseId = params.databaseId;
963
+ const collectionId = params.collectionId;
964
+ const key = params.key;
965
+ const required = params.required;
966
+ const xdefault = params.xdefault;
967
+ const min = params.min;
968
+ const max = params.max;
969
+ const newKey = params.newKey;
859
970
  if (typeof databaseId === "undefined") {
860
971
  throw new AppwriteException('Missing required parameter: "databaseId"');
861
972
  }
@@ -899,22 +1010,30 @@ var Databases = class {
899
1010
  payload
900
1011
  );
901
1012
  }
902
- /**
903
- * Create an integer attribute. Optionally, minimum and maximum values can be provided.
904
-
905
- *
906
- * @param {string} databaseId
907
- * @param {string} collectionId
908
- * @param {string} key
909
- * @param {boolean} required
910
- * @param {number} min
911
- * @param {number} max
912
- * @param {number} xdefault
913
- * @param {boolean} array
914
- * @throws {AppwriteException}
915
- * @returns {Promise<Models.AttributeInteger>}
916
- */
917
- createIntegerAttribute(databaseId, collectionId, key, required, min, max, xdefault, array) {
1013
+ createIntegerAttribute(paramsOrFirst, ...rest) {
1014
+ let params;
1015
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1016
+ params = paramsOrFirst || {};
1017
+ } else {
1018
+ params = {
1019
+ databaseId: paramsOrFirst,
1020
+ collectionId: rest[0],
1021
+ key: rest[1],
1022
+ required: rest[2],
1023
+ min: rest[3],
1024
+ max: rest[4],
1025
+ xdefault: rest[5],
1026
+ array: rest[6]
1027
+ };
1028
+ }
1029
+ const databaseId = params.databaseId;
1030
+ const collectionId = params.collectionId;
1031
+ const key = params.key;
1032
+ const required = params.required;
1033
+ const min = params.min;
1034
+ const max = params.max;
1035
+ const xdefault = params.xdefault;
1036
+ const array = params.array;
918
1037
  if (typeof databaseId === "undefined") {
919
1038
  throw new AppwriteException('Missing required parameter: "databaseId"');
920
1039
  }
@@ -958,22 +1077,30 @@ var Databases = class {
958
1077
  payload
959
1078
  );
960
1079
  }
961
- /**
962
- * Update an integer attribute. Changing the `default` value will not update already existing documents.
963
-
964
- *
965
- * @param {string} databaseId
966
- * @param {string} collectionId
967
- * @param {string} key
968
- * @param {boolean} required
969
- * @param {number} xdefault
970
- * @param {number} min
971
- * @param {number} max
972
- * @param {string} newKey
973
- * @throws {AppwriteException}
974
- * @returns {Promise<Models.AttributeInteger>}
975
- */
976
- updateIntegerAttribute(databaseId, collectionId, key, required, xdefault, min, max, newKey) {
1080
+ updateIntegerAttribute(paramsOrFirst, ...rest) {
1081
+ let params;
1082
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1083
+ params = paramsOrFirst || {};
1084
+ } else {
1085
+ params = {
1086
+ databaseId: paramsOrFirst,
1087
+ collectionId: rest[0],
1088
+ key: rest[1],
1089
+ required: rest[2],
1090
+ xdefault: rest[3],
1091
+ min: rest[4],
1092
+ max: rest[5],
1093
+ newKey: rest[6]
1094
+ };
1095
+ }
1096
+ const databaseId = params.databaseId;
1097
+ const collectionId = params.collectionId;
1098
+ const key = params.key;
1099
+ const required = params.required;
1100
+ const xdefault = params.xdefault;
1101
+ const min = params.min;
1102
+ const max = params.max;
1103
+ const newKey = params.newKey;
977
1104
  if (typeof databaseId === "undefined") {
978
1105
  throw new AppwriteException('Missing required parameter: "databaseId"');
979
1106
  }
@@ -1017,20 +1144,26 @@ var Databases = class {
1017
1144
  payload
1018
1145
  );
1019
1146
  }
1020
- /**
1021
- * Create IP address attribute.
1022
-
1023
- *
1024
- * @param {string} databaseId
1025
- * @param {string} collectionId
1026
- * @param {string} key
1027
- * @param {boolean} required
1028
- * @param {string} xdefault
1029
- * @param {boolean} array
1030
- * @throws {AppwriteException}
1031
- * @returns {Promise<Models.AttributeIp>}
1032
- */
1033
- createIpAttribute(databaseId, collectionId, key, required, xdefault, array) {
1147
+ createIpAttribute(paramsOrFirst, ...rest) {
1148
+ let params;
1149
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1150
+ params = paramsOrFirst || {};
1151
+ } else {
1152
+ params = {
1153
+ databaseId: paramsOrFirst,
1154
+ collectionId: rest[0],
1155
+ key: rest[1],
1156
+ required: rest[2],
1157
+ xdefault: rest[3],
1158
+ array: rest[4]
1159
+ };
1160
+ }
1161
+ const databaseId = params.databaseId;
1162
+ const collectionId = params.collectionId;
1163
+ const key = params.key;
1164
+ const required = params.required;
1165
+ const xdefault = params.xdefault;
1166
+ const array = params.array;
1034
1167
  if (typeof databaseId === "undefined") {
1035
1168
  throw new AppwriteException('Missing required parameter: "databaseId"');
1036
1169
  }
@@ -1068,20 +1201,26 @@ var Databases = class {
1068
1201
  payload
1069
1202
  );
1070
1203
  }
1071
- /**
1072
- * Update an ip attribute. Changing the `default` value will not update already existing documents.
1073
-
1074
- *
1075
- * @param {string} databaseId
1076
- * @param {string} collectionId
1077
- * @param {string} key
1078
- * @param {boolean} required
1079
- * @param {string} xdefault
1080
- * @param {string} newKey
1081
- * @throws {AppwriteException}
1082
- * @returns {Promise<Models.AttributeIp>}
1083
- */
1084
- updateIpAttribute(databaseId, collectionId, key, required, xdefault, newKey) {
1204
+ updateIpAttribute(paramsOrFirst, ...rest) {
1205
+ let params;
1206
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1207
+ params = paramsOrFirst || {};
1208
+ } else {
1209
+ params = {
1210
+ databaseId: paramsOrFirst,
1211
+ collectionId: rest[0],
1212
+ key: rest[1],
1213
+ required: rest[2],
1214
+ xdefault: rest[3],
1215
+ newKey: rest[4]
1216
+ };
1217
+ }
1218
+ const databaseId = params.databaseId;
1219
+ const collectionId = params.collectionId;
1220
+ const key = params.key;
1221
+ const required = params.required;
1222
+ const xdefault = params.xdefault;
1223
+ const newKey = params.newKey;
1085
1224
  if (typeof databaseId === "undefined") {
1086
1225
  throw new AppwriteException('Missing required parameter: "databaseId"');
1087
1226
  }
@@ -1119,22 +1258,30 @@ var Databases = class {
1119
1258
  payload
1120
1259
  );
1121
1260
  }
1122
- /**
1123
- * Create relationship attribute. [Learn more about relationship attributes](https://appwrite.io/docs/databases-relationships#relationship-attributes).
1124
-
1125
- *
1126
- * @param {string} databaseId
1127
- * @param {string} collectionId
1128
- * @param {string} relatedCollectionId
1129
- * @param {RelationshipType} type
1130
- * @param {boolean} twoWay
1131
- * @param {string} key
1132
- * @param {string} twoWayKey
1133
- * @param {RelationMutate} onDelete
1134
- * @throws {AppwriteException}
1135
- * @returns {Promise<Models.AttributeRelationship>}
1136
- */
1137
- createRelationshipAttribute(databaseId, collectionId, relatedCollectionId, type, twoWay, key, twoWayKey, onDelete) {
1261
+ createRelationshipAttribute(paramsOrFirst, ...rest) {
1262
+ let params;
1263
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1264
+ params = paramsOrFirst || {};
1265
+ } else {
1266
+ params = {
1267
+ databaseId: paramsOrFirst,
1268
+ collectionId: rest[0],
1269
+ relatedCollectionId: rest[1],
1270
+ type: rest[2],
1271
+ twoWay: rest[3],
1272
+ key: rest[4],
1273
+ twoWayKey: rest[5],
1274
+ onDelete: rest[6]
1275
+ };
1276
+ }
1277
+ const databaseId = params.databaseId;
1278
+ const collectionId = params.collectionId;
1279
+ const relatedCollectionId = params.relatedCollectionId;
1280
+ const type = params.type;
1281
+ const twoWay = params.twoWay;
1282
+ const key = params.key;
1283
+ const twoWayKey = params.twoWayKey;
1284
+ const onDelete = params.onDelete;
1138
1285
  if (typeof databaseId === "undefined") {
1139
1286
  throw new AppwriteException('Missing required parameter: "databaseId"');
1140
1287
  }
@@ -1178,22 +1325,30 @@ var Databases = class {
1178
1325
  payload
1179
1326
  );
1180
1327
  }
1181
- /**
1182
- * Create a string attribute.
1183
-
1184
- *
1185
- * @param {string} databaseId
1186
- * @param {string} collectionId
1187
- * @param {string} key
1188
- * @param {number} size
1189
- * @param {boolean} required
1190
- * @param {string} xdefault
1191
- * @param {boolean} array
1192
- * @param {boolean} encrypt
1193
- * @throws {AppwriteException}
1194
- * @returns {Promise<Models.AttributeString>}
1195
- */
1196
- createStringAttribute(databaseId, collectionId, key, size, required, xdefault, array, encrypt) {
1328
+ createStringAttribute(paramsOrFirst, ...rest) {
1329
+ let params;
1330
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1331
+ params = paramsOrFirst || {};
1332
+ } else {
1333
+ params = {
1334
+ databaseId: paramsOrFirst,
1335
+ collectionId: rest[0],
1336
+ key: rest[1],
1337
+ size: rest[2],
1338
+ required: rest[3],
1339
+ xdefault: rest[4],
1340
+ array: rest[5],
1341
+ encrypt: rest[6]
1342
+ };
1343
+ }
1344
+ const databaseId = params.databaseId;
1345
+ const collectionId = params.collectionId;
1346
+ const key = params.key;
1347
+ const size = params.size;
1348
+ const required = params.required;
1349
+ const xdefault = params.xdefault;
1350
+ const array = params.array;
1351
+ const encrypt = params.encrypt;
1197
1352
  if (typeof databaseId === "undefined") {
1198
1353
  throw new AppwriteException('Missing required parameter: "databaseId"');
1199
1354
  }
@@ -1240,21 +1395,28 @@ var Databases = class {
1240
1395
  payload
1241
1396
  );
1242
1397
  }
1243
- /**
1244
- * Update a string attribute. Changing the `default` value will not update already existing documents.
1245
-
1246
- *
1247
- * @param {string} databaseId
1248
- * @param {string} collectionId
1249
- * @param {string} key
1250
- * @param {boolean} required
1251
- * @param {string} xdefault
1252
- * @param {number} size
1253
- * @param {string} newKey
1254
- * @throws {AppwriteException}
1255
- * @returns {Promise<Models.AttributeString>}
1256
- */
1257
- updateStringAttribute(databaseId, collectionId, key, required, xdefault, size, newKey) {
1398
+ updateStringAttribute(paramsOrFirst, ...rest) {
1399
+ let params;
1400
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1401
+ params = paramsOrFirst || {};
1402
+ } else {
1403
+ params = {
1404
+ databaseId: paramsOrFirst,
1405
+ collectionId: rest[0],
1406
+ key: rest[1],
1407
+ required: rest[2],
1408
+ xdefault: rest[3],
1409
+ size: rest[4],
1410
+ newKey: rest[5]
1411
+ };
1412
+ }
1413
+ const databaseId = params.databaseId;
1414
+ const collectionId = params.collectionId;
1415
+ const key = params.key;
1416
+ const required = params.required;
1417
+ const xdefault = params.xdefault;
1418
+ const size = params.size;
1419
+ const newKey = params.newKey;
1258
1420
  if (typeof databaseId === "undefined") {
1259
1421
  throw new AppwriteException('Missing required parameter: "databaseId"');
1260
1422
  }
@@ -1295,20 +1457,26 @@ var Databases = class {
1295
1457
  payload
1296
1458
  );
1297
1459
  }
1298
- /**
1299
- * Create a URL attribute.
1300
-
1301
- *
1302
- * @param {string} databaseId
1303
- * @param {string} collectionId
1304
- * @param {string} key
1305
- * @param {boolean} required
1306
- * @param {string} xdefault
1307
- * @param {boolean} array
1308
- * @throws {AppwriteException}
1309
- * @returns {Promise<Models.AttributeUrl>}
1310
- */
1311
- createUrlAttribute(databaseId, collectionId, key, required, xdefault, array) {
1460
+ createUrlAttribute(paramsOrFirst, ...rest) {
1461
+ let params;
1462
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1463
+ params = paramsOrFirst || {};
1464
+ } else {
1465
+ params = {
1466
+ databaseId: paramsOrFirst,
1467
+ collectionId: rest[0],
1468
+ key: rest[1],
1469
+ required: rest[2],
1470
+ xdefault: rest[3],
1471
+ array: rest[4]
1472
+ };
1473
+ }
1474
+ const databaseId = params.databaseId;
1475
+ const collectionId = params.collectionId;
1476
+ const key = params.key;
1477
+ const required = params.required;
1478
+ const xdefault = params.xdefault;
1479
+ const array = params.array;
1312
1480
  if (typeof databaseId === "undefined") {
1313
1481
  throw new AppwriteException('Missing required parameter: "databaseId"');
1314
1482
  }
@@ -1346,20 +1514,26 @@ var Databases = class {
1346
1514
  payload
1347
1515
  );
1348
1516
  }
1349
- /**
1350
- * Update an url attribute. Changing the `default` value will not update already existing documents.
1351
-
1352
- *
1353
- * @param {string} databaseId
1354
- * @param {string} collectionId
1355
- * @param {string} key
1356
- * @param {boolean} required
1357
- * @param {string} xdefault
1358
- * @param {string} newKey
1359
- * @throws {AppwriteException}
1360
- * @returns {Promise<Models.AttributeUrl>}
1361
- */
1362
- updateUrlAttribute(databaseId, collectionId, key, required, xdefault, newKey) {
1517
+ updateUrlAttribute(paramsOrFirst, ...rest) {
1518
+ let params;
1519
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1520
+ params = paramsOrFirst || {};
1521
+ } else {
1522
+ params = {
1523
+ databaseId: paramsOrFirst,
1524
+ collectionId: rest[0],
1525
+ key: rest[1],
1526
+ required: rest[2],
1527
+ xdefault: rest[3],
1528
+ newKey: rest[4]
1529
+ };
1530
+ }
1531
+ const databaseId = params.databaseId;
1532
+ const collectionId = params.collectionId;
1533
+ const key = params.key;
1534
+ const required = params.required;
1535
+ const xdefault = params.xdefault;
1536
+ const newKey = params.newKey;
1363
1537
  if (typeof databaseId === "undefined") {
1364
1538
  throw new AppwriteException('Missing required parameter: "databaseId"');
1365
1539
  }
@@ -1397,16 +1571,20 @@ var Databases = class {
1397
1571
  payload
1398
1572
  );
1399
1573
  }
1400
- /**
1401
- * Get attribute by ID.
1402
- *
1403
- * @param {string} databaseId
1404
- * @param {string} collectionId
1405
- * @param {string} key
1406
- * @throws {AppwriteException}
1407
- * @returns {Promise<{}>}
1408
- */
1409
- getAttribute(databaseId, collectionId, key) {
1574
+ getAttribute(paramsOrFirst, ...rest) {
1575
+ let params;
1576
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1577
+ params = paramsOrFirst || {};
1578
+ } else {
1579
+ params = {
1580
+ databaseId: paramsOrFirst,
1581
+ collectionId: rest[0],
1582
+ key: rest[1]
1583
+ };
1584
+ }
1585
+ const databaseId = params.databaseId;
1586
+ const collectionId = params.collectionId;
1587
+ const key = params.key;
1410
1588
  if (typeof databaseId === "undefined") {
1411
1589
  throw new AppwriteException('Missing required parameter: "databaseId"');
1412
1590
  }
@@ -1427,16 +1605,20 @@ var Databases = class {
1427
1605
  payload
1428
1606
  );
1429
1607
  }
1430
- /**
1431
- * Deletes an attribute.
1432
- *
1433
- * @param {string} databaseId
1434
- * @param {string} collectionId
1435
- * @param {string} key
1436
- * @throws {AppwriteException}
1437
- * @returns {Promise<{}>}
1438
- */
1439
- deleteAttribute(databaseId, collectionId, key) {
1608
+ deleteAttribute(paramsOrFirst, ...rest) {
1609
+ let params;
1610
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1611
+ params = paramsOrFirst || {};
1612
+ } else {
1613
+ params = {
1614
+ databaseId: paramsOrFirst,
1615
+ collectionId: rest[0],
1616
+ key: rest[1]
1617
+ };
1618
+ }
1619
+ const databaseId = params.databaseId;
1620
+ const collectionId = params.collectionId;
1621
+ const key = params.key;
1440
1622
  if (typeof databaseId === "undefined") {
1441
1623
  throw new AppwriteException('Missing required parameter: "databaseId"');
1442
1624
  }
@@ -1459,19 +1641,24 @@ var Databases = class {
1459
1641
  payload
1460
1642
  );
1461
1643
  }
1462
- /**
1463
- * Update relationship attribute. [Learn more about relationship attributes](https://appwrite.io/docs/databases-relationships#relationship-attributes).
1464
-
1465
- *
1466
- * @param {string} databaseId
1467
- * @param {string} collectionId
1468
- * @param {string} key
1469
- * @param {RelationMutate} onDelete
1470
- * @param {string} newKey
1471
- * @throws {AppwriteException}
1472
- * @returns {Promise<Models.AttributeRelationship>}
1473
- */
1474
- updateRelationshipAttribute(databaseId, collectionId, key, onDelete, newKey) {
1644
+ updateRelationshipAttribute(paramsOrFirst, ...rest) {
1645
+ let params;
1646
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1647
+ params = paramsOrFirst || {};
1648
+ } else {
1649
+ params = {
1650
+ databaseId: paramsOrFirst,
1651
+ collectionId: rest[0],
1652
+ key: rest[1],
1653
+ onDelete: rest[2],
1654
+ newKey: rest[3]
1655
+ };
1656
+ }
1657
+ const databaseId = params.databaseId;
1658
+ const collectionId = params.collectionId;
1659
+ const key = params.key;
1660
+ const onDelete = params.onDelete;
1661
+ const newKey = params.newKey;
1475
1662
  if (typeof databaseId === "undefined") {
1476
1663
  throw new AppwriteException('Missing required parameter: "databaseId"');
1477
1664
  }
@@ -1500,16 +1687,20 @@ var Databases = class {
1500
1687
  payload
1501
1688
  );
1502
1689
  }
1503
- /**
1504
- * Get a list of all the user&#039;s documents in a given collection. You can use the query params to filter your results.
1505
- *
1506
- * @param {string} databaseId
1507
- * @param {string} collectionId
1508
- * @param {string[]} queries
1509
- * @throws {AppwriteException}
1510
- * @returns {Promise<Models.DocumentList<Document>>}
1511
- */
1512
- listDocuments(databaseId, collectionId, queries) {
1690
+ listDocuments(paramsOrFirst, ...rest) {
1691
+ let params;
1692
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1693
+ params = paramsOrFirst || {};
1694
+ } else {
1695
+ params = {
1696
+ databaseId: paramsOrFirst,
1697
+ collectionId: rest[0],
1698
+ queries: rest[1]
1699
+ };
1700
+ }
1701
+ const databaseId = params.databaseId;
1702
+ const collectionId = params.collectionId;
1703
+ const queries = params.queries;
1513
1704
  if (typeof databaseId === "undefined") {
1514
1705
  throw new AppwriteException('Missing required parameter: "databaseId"');
1515
1706
  }
@@ -1530,18 +1721,24 @@ var Databases = class {
1530
1721
  payload
1531
1722
  );
1532
1723
  }
1533
- /**
1534
- * Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
1535
- *
1536
- * @param {string} databaseId
1537
- * @param {string} collectionId
1538
- * @param {string} documentId
1539
- * @param {Omit<Document, keyof Models.Document>} data
1540
- * @param {string[]} permissions
1541
- * @throws {AppwriteException}
1542
- * @returns {Promise<Document>}
1543
- */
1544
- createDocument(databaseId, collectionId, documentId, data, permissions) {
1724
+ createDocument(paramsOrFirst, ...rest) {
1725
+ let params;
1726
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1727
+ params = paramsOrFirst || {};
1728
+ } else {
1729
+ params = {
1730
+ databaseId: paramsOrFirst,
1731
+ collectionId: rest[0],
1732
+ documentId: rest[1],
1733
+ data: rest[2],
1734
+ permissions: rest[3]
1735
+ };
1736
+ }
1737
+ const databaseId = params.databaseId;
1738
+ const collectionId = params.collectionId;
1739
+ const documentId = params.documentId;
1740
+ const data = params.data;
1741
+ const permissions = params.permissions;
1545
1742
  if (typeof databaseId === "undefined") {
1546
1743
  throw new AppwriteException('Missing required parameter: "databaseId"');
1547
1744
  }
@@ -1554,6 +1751,9 @@ var Databases = class {
1554
1751
  if (typeof data === "undefined") {
1555
1752
  throw new AppwriteException('Missing required parameter: "data"');
1556
1753
  }
1754
+ data == null ? true : delete data.$sequence;
1755
+ data == null ? true : delete data.$collectionId;
1756
+ data == null ? true : delete data.$databaseId;
1557
1757
  const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId);
1558
1758
  const payload = {};
1559
1759
  if (typeof documentId !== "undefined") {
@@ -1576,18 +1776,20 @@ var Databases = class {
1576
1776
  payload
1577
1777
  );
1578
1778
  }
1579
- /**
1580
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1581
-
1582
- Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
1583
- *
1584
- * @param {string} databaseId
1585
- * @param {string} collectionId
1586
- * @param {object[]} documents
1587
- * @throws {AppwriteException}
1588
- * @returns {Promise<Models.DocumentList<Document>>}
1589
- */
1590
- createDocuments(databaseId, collectionId, documents) {
1779
+ createDocuments(paramsOrFirst, ...rest) {
1780
+ let params;
1781
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1782
+ params = paramsOrFirst || {};
1783
+ } else {
1784
+ params = {
1785
+ databaseId: paramsOrFirst,
1786
+ collectionId: rest[0],
1787
+ documents: rest[1]
1788
+ };
1789
+ }
1790
+ const databaseId = params.databaseId;
1791
+ const collectionId = params.collectionId;
1792
+ const documents = params.documents;
1591
1793
  if (typeof databaseId === "undefined") {
1592
1794
  throw new AppwriteException('Missing required parameter: "databaseId"');
1593
1795
  }
@@ -1613,18 +1815,20 @@ var Databases = class {
1613
1815
  payload
1614
1816
  );
1615
1817
  }
1616
- /**
1617
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1618
-
1619
- Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
1620
- *
1621
- * @param {string} databaseId
1622
- * @param {string} collectionId
1623
- * @param {object[]} documents
1624
- * @throws {AppwriteException}
1625
- * @returns {Promise<Models.DocumentList<Document>>}
1626
- */
1627
- upsertDocuments(databaseId, collectionId, documents) {
1818
+ upsertDocuments(paramsOrFirst, ...rest) {
1819
+ let params;
1820
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1821
+ params = paramsOrFirst || {};
1822
+ } else {
1823
+ params = {
1824
+ databaseId: paramsOrFirst,
1825
+ collectionId: rest[0],
1826
+ documents: rest[1]
1827
+ };
1828
+ }
1829
+ const databaseId = params.databaseId;
1830
+ const collectionId = params.collectionId;
1831
+ const documents = params.documents;
1628
1832
  if (typeof databaseId === "undefined") {
1629
1833
  throw new AppwriteException('Missing required parameter: "databaseId"');
1630
1834
  }
@@ -1650,19 +1854,22 @@ var Databases = class {
1650
1854
  payload
1651
1855
  );
1652
1856
  }
1653
- /**
1654
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1655
-
1656
- Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.
1657
- *
1658
- * @param {string} databaseId
1659
- * @param {string} collectionId
1660
- * @param {object} data
1661
- * @param {string[]} queries
1662
- * @throws {AppwriteException}
1663
- * @returns {Promise<Models.DocumentList<Document>>}
1664
- */
1665
- updateDocuments(databaseId, collectionId, data, queries) {
1857
+ updateDocuments(paramsOrFirst, ...rest) {
1858
+ let params;
1859
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1860
+ params = paramsOrFirst || {};
1861
+ } else {
1862
+ params = {
1863
+ databaseId: paramsOrFirst,
1864
+ collectionId: rest[0],
1865
+ data: rest[1],
1866
+ queries: rest[2]
1867
+ };
1868
+ }
1869
+ const databaseId = params.databaseId;
1870
+ const collectionId = params.collectionId;
1871
+ const data = params.data;
1872
+ const queries = params.queries;
1666
1873
  if (typeof databaseId === "undefined") {
1667
1874
  throw new AppwriteException('Missing required parameter: "databaseId"');
1668
1875
  }
@@ -1688,18 +1895,20 @@ var Databases = class {
1688
1895
  payload
1689
1896
  );
1690
1897
  }
1691
- /**
1692
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1693
-
1694
- Bulk delete documents using queries, if no queries are passed then all documents are deleted.
1695
- *
1696
- * @param {string} databaseId
1697
- * @param {string} collectionId
1698
- * @param {string[]} queries
1699
- * @throws {AppwriteException}
1700
- * @returns {Promise<Models.DocumentList<Document>>}
1701
- */
1702
- deleteDocuments(databaseId, collectionId, queries) {
1898
+ deleteDocuments(paramsOrFirst, ...rest) {
1899
+ let params;
1900
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1901
+ params = paramsOrFirst || {};
1902
+ } else {
1903
+ params = {
1904
+ databaseId: paramsOrFirst,
1905
+ collectionId: rest[0],
1906
+ queries: rest[1]
1907
+ };
1908
+ }
1909
+ const databaseId = params.databaseId;
1910
+ const collectionId = params.collectionId;
1911
+ const queries = params.queries;
1703
1912
  if (typeof databaseId === "undefined") {
1704
1913
  throw new AppwriteException('Missing required parameter: "databaseId"');
1705
1914
  }
@@ -1722,17 +1931,22 @@ var Databases = class {
1722
1931
  payload
1723
1932
  );
1724
1933
  }
1725
- /**
1726
- * Get a document by its unique ID. This endpoint response returns a JSON object with the document data.
1727
- *
1728
- * @param {string} databaseId
1729
- * @param {string} collectionId
1730
- * @param {string} documentId
1731
- * @param {string[]} queries
1732
- * @throws {AppwriteException}
1733
- * @returns {Promise<Document>}
1734
- */
1735
- getDocument(databaseId, collectionId, documentId, queries) {
1934
+ getDocument(paramsOrFirst, ...rest) {
1935
+ let params;
1936
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1937
+ params = paramsOrFirst || {};
1938
+ } else {
1939
+ params = {
1940
+ databaseId: paramsOrFirst,
1941
+ collectionId: rest[0],
1942
+ documentId: rest[1],
1943
+ queries: rest[2]
1944
+ };
1945
+ }
1946
+ const databaseId = params.databaseId;
1947
+ const collectionId = params.collectionId;
1948
+ const documentId = params.documentId;
1949
+ const queries = params.queries;
1736
1950
  if (typeof databaseId === "undefined") {
1737
1951
  throw new AppwriteException('Missing required parameter: "databaseId"');
1738
1952
  }
@@ -1756,20 +1970,24 @@ var Databases = class {
1756
1970
  payload
1757
1971
  );
1758
1972
  }
1759
- /**
1760
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1761
-
1762
- Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
1763
- *
1764
- * @param {string} databaseId
1765
- * @param {string} collectionId
1766
- * @param {string} documentId
1767
- * @param {object} data
1768
- * @param {string[]} permissions
1769
- * @throws {AppwriteException}
1770
- * @returns {Promise<Document>}
1771
- */
1772
- upsertDocument(databaseId, collectionId, documentId, data, permissions) {
1973
+ upsertDocument(paramsOrFirst, ...rest) {
1974
+ let params;
1975
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1976
+ params = paramsOrFirst || {};
1977
+ } else {
1978
+ params = {
1979
+ databaseId: paramsOrFirst,
1980
+ collectionId: rest[0],
1981
+ documentId: rest[1],
1982
+ data: rest[2],
1983
+ permissions: rest[3]
1984
+ };
1985
+ }
1986
+ const databaseId = params.databaseId;
1987
+ const collectionId = params.collectionId;
1988
+ const documentId = params.documentId;
1989
+ const data = params.data;
1990
+ const permissions = params.permissions;
1773
1991
  if (typeof databaseId === "undefined") {
1774
1992
  throw new AppwriteException('Missing required parameter: "databaseId"');
1775
1993
  }
@@ -1782,6 +2000,9 @@ var Databases = class {
1782
2000
  if (typeof data === "undefined") {
1783
2001
  throw new AppwriteException('Missing required parameter: "data"');
1784
2002
  }
2003
+ data == null ? true : delete data.$sequence;
2004
+ data == null ? true : delete data.$collectionId;
2005
+ data == null ? true : delete data.$databaseId;
1785
2006
  const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId);
1786
2007
  const payload = {};
1787
2008
  if (typeof data !== "undefined") {
@@ -1801,18 +2022,24 @@ var Databases = class {
1801
2022
  payload
1802
2023
  );
1803
2024
  }
1804
- /**
1805
- * Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.
1806
- *
1807
- * @param {string} databaseId
1808
- * @param {string} collectionId
1809
- * @param {string} documentId
1810
- * @param {Partial<Omit<Document, keyof Models.Document>>} data
1811
- * @param {string[]} permissions
1812
- * @throws {AppwriteException}
1813
- * @returns {Promise<Document>}
1814
- */
1815
- updateDocument(databaseId, collectionId, documentId, data, permissions) {
2025
+ updateDocument(paramsOrFirst, ...rest) {
2026
+ let params;
2027
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2028
+ params = paramsOrFirst || {};
2029
+ } else {
2030
+ params = {
2031
+ databaseId: paramsOrFirst,
2032
+ collectionId: rest[0],
2033
+ documentId: rest[1],
2034
+ data: rest[2],
2035
+ permissions: rest[3]
2036
+ };
2037
+ }
2038
+ const databaseId = params.databaseId;
2039
+ const collectionId = params.collectionId;
2040
+ const documentId = params.documentId;
2041
+ const data = params.data;
2042
+ const permissions = params.permissions;
1816
2043
  if (typeof databaseId === "undefined") {
1817
2044
  throw new AppwriteException('Missing required parameter: "databaseId"');
1818
2045
  }
@@ -1822,6 +2049,9 @@ var Databases = class {
1822
2049
  if (typeof documentId === "undefined") {
1823
2050
  throw new AppwriteException('Missing required parameter: "documentId"');
1824
2051
  }
2052
+ data == null ? true : delete data.$sequence;
2053
+ data == null ? true : delete data.$collectionId;
2054
+ data == null ? true : delete data.$databaseId;
1825
2055
  const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId);
1826
2056
  const payload = {};
1827
2057
  if (typeof data !== "undefined") {
@@ -1841,16 +2071,20 @@ var Databases = class {
1841
2071
  payload
1842
2072
  );
1843
2073
  }
1844
- /**
1845
- * Delete a document by its unique ID.
1846
- *
1847
- * @param {string} databaseId
1848
- * @param {string} collectionId
1849
- * @param {string} documentId
1850
- * @throws {AppwriteException}
1851
- * @returns {Promise<{}>}
1852
- */
1853
- deleteDocument(databaseId, collectionId, documentId) {
2074
+ deleteDocument(paramsOrFirst, ...rest) {
2075
+ let params;
2076
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2077
+ params = paramsOrFirst || {};
2078
+ } else {
2079
+ params = {
2080
+ databaseId: paramsOrFirst,
2081
+ collectionId: rest[0],
2082
+ documentId: rest[1]
2083
+ };
2084
+ }
2085
+ const databaseId = params.databaseId;
2086
+ const collectionId = params.collectionId;
2087
+ const documentId = params.documentId;
1854
2088
  if (typeof databaseId === "undefined") {
1855
2089
  throw new AppwriteException('Missing required parameter: "databaseId"');
1856
2090
  }
@@ -1873,16 +2107,122 @@ var Databases = class {
1873
2107
  payload
1874
2108
  );
1875
2109
  }
1876
- /**
1877
- * List indexes in the collection.
1878
- *
1879
- * @param {string} databaseId
1880
- * @param {string} collectionId
1881
- * @param {string[]} queries
1882
- * @throws {AppwriteException}
1883
- * @returns {Promise<Models.IndexList>}
1884
- */
1885
- listIndexes(databaseId, collectionId, queries) {
2110
+ decrementDocumentAttribute(paramsOrFirst, ...rest) {
2111
+ let params;
2112
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2113
+ params = paramsOrFirst || {};
2114
+ } else {
2115
+ params = {
2116
+ databaseId: paramsOrFirst,
2117
+ collectionId: rest[0],
2118
+ documentId: rest[1],
2119
+ attribute: rest[2],
2120
+ value: rest[3],
2121
+ min: rest[4]
2122
+ };
2123
+ }
2124
+ const databaseId = params.databaseId;
2125
+ const collectionId = params.collectionId;
2126
+ const documentId = params.documentId;
2127
+ const attribute = params.attribute;
2128
+ const value = params.value;
2129
+ const min = params.min;
2130
+ if (typeof databaseId === "undefined") {
2131
+ throw new AppwriteException('Missing required parameter: "databaseId"');
2132
+ }
2133
+ if (typeof collectionId === "undefined") {
2134
+ throw new AppwriteException('Missing required parameter: "collectionId"');
2135
+ }
2136
+ if (typeof documentId === "undefined") {
2137
+ throw new AppwriteException('Missing required parameter: "documentId"');
2138
+ }
2139
+ if (typeof attribute === "undefined") {
2140
+ throw new AppwriteException('Missing required parameter: "attribute"');
2141
+ }
2142
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId).replace("{attribute}", attribute);
2143
+ const payload = {};
2144
+ if (typeof value !== "undefined") {
2145
+ payload["value"] = value;
2146
+ }
2147
+ if (typeof min !== "undefined") {
2148
+ payload["min"] = min;
2149
+ }
2150
+ const uri = new URL(this.client.config.endpoint + apiPath);
2151
+ const apiHeaders = {
2152
+ "content-type": "application/json"
2153
+ };
2154
+ return this.client.call(
2155
+ "patch",
2156
+ uri,
2157
+ apiHeaders,
2158
+ payload
2159
+ );
2160
+ }
2161
+ incrementDocumentAttribute(paramsOrFirst, ...rest) {
2162
+ let params;
2163
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2164
+ params = paramsOrFirst || {};
2165
+ } else {
2166
+ params = {
2167
+ databaseId: paramsOrFirst,
2168
+ collectionId: rest[0],
2169
+ documentId: rest[1],
2170
+ attribute: rest[2],
2171
+ value: rest[3],
2172
+ max: rest[4]
2173
+ };
2174
+ }
2175
+ const databaseId = params.databaseId;
2176
+ const collectionId = params.collectionId;
2177
+ const documentId = params.documentId;
2178
+ const attribute = params.attribute;
2179
+ const value = params.value;
2180
+ const max = params.max;
2181
+ if (typeof databaseId === "undefined") {
2182
+ throw new AppwriteException('Missing required parameter: "databaseId"');
2183
+ }
2184
+ if (typeof collectionId === "undefined") {
2185
+ throw new AppwriteException('Missing required parameter: "collectionId"');
2186
+ }
2187
+ if (typeof documentId === "undefined") {
2188
+ throw new AppwriteException('Missing required parameter: "documentId"');
2189
+ }
2190
+ if (typeof attribute === "undefined") {
2191
+ throw new AppwriteException('Missing required parameter: "attribute"');
2192
+ }
2193
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId).replace("{attribute}", attribute);
2194
+ const payload = {};
2195
+ if (typeof value !== "undefined") {
2196
+ payload["value"] = value;
2197
+ }
2198
+ if (typeof max !== "undefined") {
2199
+ payload["max"] = max;
2200
+ }
2201
+ const uri = new URL(this.client.config.endpoint + apiPath);
2202
+ const apiHeaders = {
2203
+ "content-type": "application/json"
2204
+ };
2205
+ return this.client.call(
2206
+ "patch",
2207
+ uri,
2208
+ apiHeaders,
2209
+ payload
2210
+ );
2211
+ }
2212
+ listIndexes(paramsOrFirst, ...rest) {
2213
+ let params;
2214
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2215
+ params = paramsOrFirst || {};
2216
+ } else {
2217
+ params = {
2218
+ databaseId: paramsOrFirst,
2219
+ collectionId: rest[0],
2220
+ queries: rest[1]
2221
+ };
2222
+ }
2223
+ const databaseId = params.databaseId;
2224
+ const collectionId = params.collectionId;
2225
+ const queries = params.queries;
1886
2226
  if (typeof databaseId === "undefined") {
1887
2227
  throw new AppwriteException('Missing required parameter: "databaseId"');
1888
2228
  }
@@ -1903,21 +2243,28 @@ var Databases = class {
1903
2243
  payload
1904
2244
  );
1905
2245
  }
1906
- /**
1907
- * Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.
1908
- Attributes can be `key`, `fulltext`, and `unique`.
1909
- *
1910
- * @param {string} databaseId
1911
- * @param {string} collectionId
1912
- * @param {string} key
1913
- * @param {IndexType} type
1914
- * @param {string[]} attributes
1915
- * @param {string[]} orders
1916
- * @param {number[]} lengths
1917
- * @throws {AppwriteException}
1918
- * @returns {Promise<Models.Index>}
1919
- */
1920
- createIndex(databaseId, collectionId, key, type, attributes, orders, lengths) {
2246
+ createIndex(paramsOrFirst, ...rest) {
2247
+ let params;
2248
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2249
+ params = paramsOrFirst || {};
2250
+ } else {
2251
+ params = {
2252
+ databaseId: paramsOrFirst,
2253
+ collectionId: rest[0],
2254
+ key: rest[1],
2255
+ type: rest[2],
2256
+ attributes: rest[3],
2257
+ orders: rest[4],
2258
+ lengths: rest[5]
2259
+ };
2260
+ }
2261
+ const databaseId = params.databaseId;
2262
+ const collectionId = params.collectionId;
2263
+ const key = params.key;
2264
+ const type = params.type;
2265
+ const attributes = params.attributes;
2266
+ const orders = params.orders;
2267
+ const lengths = params.lengths;
1921
2268
  if (typeof databaseId === "undefined") {
1922
2269
  throw new AppwriteException('Missing required parameter: "databaseId"');
1923
2270
  }
@@ -1961,16 +2308,20 @@ var Databases = class {
1961
2308
  payload
1962
2309
  );
1963
2310
  }
1964
- /**
1965
- * Get index by ID.
1966
- *
1967
- * @param {string} databaseId
1968
- * @param {string} collectionId
1969
- * @param {string} key
1970
- * @throws {AppwriteException}
1971
- * @returns {Promise<Models.Index>}
1972
- */
1973
- getIndex(databaseId, collectionId, key) {
2311
+ getIndex(paramsOrFirst, ...rest) {
2312
+ let params;
2313
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2314
+ params = paramsOrFirst || {};
2315
+ } else {
2316
+ params = {
2317
+ databaseId: paramsOrFirst,
2318
+ collectionId: rest[0],
2319
+ key: rest[1]
2320
+ };
2321
+ }
2322
+ const databaseId = params.databaseId;
2323
+ const collectionId = params.collectionId;
2324
+ const key = params.key;
1974
2325
  if (typeof databaseId === "undefined") {
1975
2326
  throw new AppwriteException('Missing required parameter: "databaseId"');
1976
2327
  }
@@ -1991,16 +2342,20 @@ var Databases = class {
1991
2342
  payload
1992
2343
  );
1993
2344
  }
1994
- /**
1995
- * Delete an index.
1996
- *
1997
- * @param {string} databaseId
1998
- * @param {string} collectionId
1999
- * @param {string} key
2000
- * @throws {AppwriteException}
2001
- * @returns {Promise<{}>}
2002
- */
2003
- deleteIndex(databaseId, collectionId, key) {
2345
+ deleteIndex(paramsOrFirst, ...rest) {
2346
+ let params;
2347
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2348
+ params = paramsOrFirst || {};
2349
+ } else {
2350
+ params = {
2351
+ databaseId: paramsOrFirst,
2352
+ collectionId: rest[0],
2353
+ key: rest[1]
2354
+ };
2355
+ }
2356
+ const databaseId = params.databaseId;
2357
+ const collectionId = params.collectionId;
2358
+ const key = params.key;
2004
2359
  if (typeof databaseId === "undefined") {
2005
2360
  throw new AppwriteException('Missing required parameter: "databaseId"');
2006
2361
  }