node-appwrite 17.2.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 (108) 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 +717 -58
  17. package/dist/models.d.ts +717 -58
  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 +625 -70
  25. package/dist/services/account.d.ts +625 -70
  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 +157 -26
  31. package/dist/services/avatars.d.ts +157 -26
  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 +1224 -248
  37. package/dist/services/databases.d.ts +1224 -248
  38. package/dist/services/databases.js +877 -611
  39. package/dist/services/databases.js.map +1 -1
  40. package/dist/services/databases.mjs +877 -611
  41. package/dist/services/databases.mjs.map +1 -1
  42. package/dist/services/functions.d.mts +530 -107
  43. package/dist/services/functions.d.ts +530 -107
  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 +175 -16
  55. package/dist/services/health.d.ts +175 -16
  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.js.map +1 -1
  61. package/dist/services/locale.mjs.map +1 -1
  62. package/dist/services/messaging.d.mts +1544 -262
  63. package/dist/services/messaging.d.ts +1544 -262
  64. package/dist/services/messaging.js +1417 -592
  65. package/dist/services/messaging.js.map +1 -1
  66. package/dist/services/messaging.mjs +1417 -592
  67. package/dist/services/messaging.mjs.map +1 -1
  68. package/dist/services/sites.d.mts +495 -99
  69. package/dist/services/sites.d.ts +495 -99
  70. package/dist/services/sites.js +371 -258
  71. package/dist/services/sites.js.map +1 -1
  72. package/dist/services/sites.mjs +371 -258
  73. package/dist/services/sites.mjs.map +1 -1
  74. package/dist/services/storage.d.mts +306 -63
  75. package/dist/services/storage.d.ts +306 -63
  76. package/dist/services/storage.js +225 -158
  77. package/dist/services/storage.js.map +1 -1
  78. package/dist/services/storage.mjs +225 -158
  79. package/dist/services/storage.mjs.map +1 -1
  80. package/dist/services/tables-db.d.mts +1549 -0
  81. package/dist/services/tables-db.d.ts +1549 -0
  82. package/dist/services/tables-db.js +2374 -0
  83. package/dist/services/tables-db.js.map +1 -0
  84. package/dist/services/tables-db.mjs +2373 -0
  85. package/dist/services/tables-db.mjs.map +1 -0
  86. package/dist/services/teams.d.mts +233 -39
  87. package/dist/services/teams.d.ts +233 -39
  88. package/dist/services/teams.js +170 -135
  89. package/dist/services/teams.js.map +1 -1
  90. package/dist/services/teams.mjs +170 -135
  91. package/dist/services/teams.mjs.map +1 -1
  92. package/dist/services/tokens.d.mts +76 -11
  93. package/dist/services/tokens.d.ts +76 -11
  94. package/dist/services/tokens.js +60 -45
  95. package/dist/services/tokens.js.map +1 -1
  96. package/dist/services/tokens.mjs +60 -45
  97. package/dist/services/tokens.mjs.map +1 -1
  98. package/dist/services/users.d.mts +842 -115
  99. package/dist/services/users.d.ts +842 -115
  100. package/dist/services/users.js +719 -408
  101. package/dist/services/users.js.map +1 -1
  102. package/dist/services/users.mjs +719 -408
  103. package/dist/services/users.mjs.map +1 -1
  104. package/package.json +1 -1
  105. package/dist/enums/v-c-s-deployment-type.js.map +0 -1
  106. package/dist/enums/v-c-s-deployment-type.mjs.map +0 -1
  107. /package/dist/enums/{v-c-s-deployment-type.d.mts → vcs-deployment-type.d.mts} +0 -0
  108. /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 {Document extends Models.DefaultDocument ? Models.DataWithoutDocumentKeys : 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,19 +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
- *
1622
- * @param {string} databaseId
1623
- * @param {string} collectionId
1624
- * @param {object[]} documents
1625
- * @throws {AppwriteException}
1626
- * @returns {Promise<Models.DocumentList<Document>>}
1627
- */
1628
- 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;
1629
1832
  if (typeof databaseId === "undefined") {
1630
1833
  throw new AppwriteException('Missing required parameter: "databaseId"');
1631
1834
  }
@@ -1651,19 +1854,22 @@ var Databases = class {
1651
1854
  payload
1652
1855
  );
1653
1856
  }
1654
- /**
1655
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1656
- *
1657
- * 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.
1658
- *
1659
- * @param {string} databaseId
1660
- * @param {string} collectionId
1661
- * @param {object} data
1662
- * @param {string[]} queries
1663
- * @throws {AppwriteException}
1664
- * @returns {Promise<Models.DocumentList<Document>>}
1665
- */
1666
- 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;
1667
1873
  if (typeof databaseId === "undefined") {
1668
1874
  throw new AppwriteException('Missing required parameter: "databaseId"');
1669
1875
  }
@@ -1689,18 +1895,20 @@ var Databases = class {
1689
1895
  payload
1690
1896
  );
1691
1897
  }
1692
- /**
1693
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1694
- *
1695
- * Bulk delete documents using queries, if no queries are passed then all documents are deleted.
1696
- *
1697
- * @param {string} databaseId
1698
- * @param {string} collectionId
1699
- * @param {string[]} queries
1700
- * @throws {AppwriteException}
1701
- * @returns {Promise<Models.DocumentList<Document>>}
1702
- */
1703
- 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;
1704
1912
  if (typeof databaseId === "undefined") {
1705
1913
  throw new AppwriteException('Missing required parameter: "databaseId"');
1706
1914
  }
@@ -1723,17 +1931,22 @@ var Databases = class {
1723
1931
  payload
1724
1932
  );
1725
1933
  }
1726
- /**
1727
- * Get a document by its unique ID. This endpoint response returns a JSON object with the document data.
1728
- *
1729
- * @param {string} databaseId
1730
- * @param {string} collectionId
1731
- * @param {string} documentId
1732
- * @param {string[]} queries
1733
- * @throws {AppwriteException}
1734
- * @returns {Promise<Document>}
1735
- */
1736
- 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;
1737
1950
  if (typeof databaseId === "undefined") {
1738
1951
  throw new AppwriteException('Missing required parameter: "databaseId"');
1739
1952
  }
@@ -1757,20 +1970,24 @@ var Databases = class {
1757
1970
  payload
1758
1971
  );
1759
1972
  }
1760
- /**
1761
- * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
1762
- *
1763
- * 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.
1764
- *
1765
- * @param {string} databaseId
1766
- * @param {string} collectionId
1767
- * @param {string} documentId
1768
- * @param {object} data
1769
- * @param {string[]} permissions
1770
- * @throws {AppwriteException}
1771
- * @returns {Promise<Document>}
1772
- */
1773
- 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;
1774
1991
  if (typeof databaseId === "undefined") {
1775
1992
  throw new AppwriteException('Missing required parameter: "databaseId"');
1776
1993
  }
@@ -1783,6 +2000,9 @@ var Databases = class {
1783
2000
  if (typeof data === "undefined") {
1784
2001
  throw new AppwriteException('Missing required parameter: "data"');
1785
2002
  }
2003
+ data == null ? true : delete data.$sequence;
2004
+ data == null ? true : delete data.$collectionId;
2005
+ data == null ? true : delete data.$databaseId;
1786
2006
  const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId);
1787
2007
  const payload = {};
1788
2008
  if (typeof data !== "undefined") {
@@ -1802,18 +2022,24 @@ var Databases = class {
1802
2022
  payload
1803
2023
  );
1804
2024
  }
1805
- /**
1806
- * Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.
1807
- *
1808
- * @param {string} databaseId
1809
- * @param {string} collectionId
1810
- * @param {string} documentId
1811
- * @param {Partial<Document extends Models.DefaultDocument ? Models.DataWithoutDocumentKeys : Omit<Document, keyof Models.Document>>} data
1812
- * @param {string[]} permissions
1813
- * @throws {AppwriteException}
1814
- * @returns {Promise<Document>}
1815
- */
1816
- 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;
1817
2043
  if (typeof databaseId === "undefined") {
1818
2044
  throw new AppwriteException('Missing required parameter: "databaseId"');
1819
2045
  }
@@ -1823,6 +2049,9 @@ var Databases = class {
1823
2049
  if (typeof documentId === "undefined") {
1824
2050
  throw new AppwriteException('Missing required parameter: "documentId"');
1825
2051
  }
2052
+ data == null ? true : delete data.$sequence;
2053
+ data == null ? true : delete data.$collectionId;
2054
+ data == null ? true : delete data.$databaseId;
1826
2055
  const apiPath = "/databases/{databaseId}/collections/{collectionId}/documents/{documentId}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{documentId}", documentId);
1827
2056
  const payload = {};
1828
2057
  if (typeof data !== "undefined") {
@@ -1842,16 +2071,20 @@ var Databases = class {
1842
2071
  payload
1843
2072
  );
1844
2073
  }
1845
- /**
1846
- * Delete a document by its unique ID.
1847
- *
1848
- * @param {string} databaseId
1849
- * @param {string} collectionId
1850
- * @param {string} documentId
1851
- * @throws {AppwriteException}
1852
- * @returns {Promise<{}>}
1853
- */
1854
- 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;
1855
2088
  if (typeof databaseId === "undefined") {
1856
2089
  throw new AppwriteException('Missing required parameter: "databaseId"');
1857
2090
  }
@@ -1874,19 +2107,26 @@ var Databases = class {
1874
2107
  payload
1875
2108
  );
1876
2109
  }
1877
- /**
1878
- * Decrement a specific attribute of a document by a given value.
1879
- *
1880
- * @param {string} databaseId
1881
- * @param {string} collectionId
1882
- * @param {string} documentId
1883
- * @param {string} attribute
1884
- * @param {number} value
1885
- * @param {number} min
1886
- * @throws {AppwriteException}
1887
- * @returns {Promise<Document>}
1888
- */
1889
- decrementDocumentAttribute(databaseId, collectionId, documentId, attribute, value, min) {
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;
1890
2130
  if (typeof databaseId === "undefined") {
1891
2131
  throw new AppwriteException('Missing required parameter: "databaseId"');
1892
2132
  }
@@ -1918,19 +2158,26 @@ var Databases = class {
1918
2158
  payload
1919
2159
  );
1920
2160
  }
1921
- /**
1922
- * Increment a specific attribute of a document by a given value.
1923
- *
1924
- * @param {string} databaseId
1925
- * @param {string} collectionId
1926
- * @param {string} documentId
1927
- * @param {string} attribute
1928
- * @param {number} value
1929
- * @param {number} max
1930
- * @throws {AppwriteException}
1931
- * @returns {Promise<Document>}
1932
- */
1933
- incrementDocumentAttribute(databaseId, collectionId, documentId, attribute, value, max) {
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;
1934
2181
  if (typeof databaseId === "undefined") {
1935
2182
  throw new AppwriteException('Missing required parameter: "databaseId"');
1936
2183
  }
@@ -1962,16 +2209,20 @@ var Databases = class {
1962
2209
  payload
1963
2210
  );
1964
2211
  }
1965
- /**
1966
- * List indexes in the collection.
1967
- *
1968
- * @param {string} databaseId
1969
- * @param {string} collectionId
1970
- * @param {string[]} queries
1971
- * @throws {AppwriteException}
1972
- * @returns {Promise<Models.IndexList>}
1973
- */
1974
- listIndexes(databaseId, collectionId, queries) {
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;
1975
2226
  if (typeof databaseId === "undefined") {
1976
2227
  throw new AppwriteException('Missing required parameter: "databaseId"');
1977
2228
  }
@@ -1992,21 +2243,28 @@ var Databases = class {
1992
2243
  payload
1993
2244
  );
1994
2245
  }
1995
- /**
1996
- * Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.
1997
- * Attributes can be `key`, `fulltext`, and `unique`.
1998
- *
1999
- * @param {string} databaseId
2000
- * @param {string} collectionId
2001
- * @param {string} key
2002
- * @param {IndexType} type
2003
- * @param {string[]} attributes
2004
- * @param {string[]} orders
2005
- * @param {number[]} lengths
2006
- * @throws {AppwriteException}
2007
- * @returns {Promise<Models.Index>}
2008
- */
2009
- 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;
2010
2268
  if (typeof databaseId === "undefined") {
2011
2269
  throw new AppwriteException('Missing required parameter: "databaseId"');
2012
2270
  }
@@ -2050,16 +2308,20 @@ var Databases = class {
2050
2308
  payload
2051
2309
  );
2052
2310
  }
2053
- /**
2054
- * Get index by ID.
2055
- *
2056
- * @param {string} databaseId
2057
- * @param {string} collectionId
2058
- * @param {string} key
2059
- * @throws {AppwriteException}
2060
- * @returns {Promise<Models.Index>}
2061
- */
2062
- 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;
2063
2325
  if (typeof databaseId === "undefined") {
2064
2326
  throw new AppwriteException('Missing required parameter: "databaseId"');
2065
2327
  }
@@ -2080,16 +2342,20 @@ var Databases = class {
2080
2342
  payload
2081
2343
  );
2082
2344
  }
2083
- /**
2084
- * Delete an index.
2085
- *
2086
- * @param {string} databaseId
2087
- * @param {string} collectionId
2088
- * @param {string} key
2089
- * @throws {AppwriteException}
2090
- * @returns {Promise<{}>}
2091
- */
2092
- 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;
2093
2359
  if (typeof databaseId === "undefined") {
2094
2360
  throw new AppwriteException('Missing required parameter: "databaseId"');
2095
2361
  }