node-appwrite 17.2.0 → 19.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 (126) 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/credit-card.d.mts +1 -1
  7. package/dist/enums/credit-card.d.ts +1 -1
  8. package/dist/enums/credit-card.js +1 -1
  9. package/dist/enums/credit-card.js.map +1 -1
  10. package/dist/enums/credit-card.mjs +1 -1
  11. package/dist/enums/credit-card.mjs.map +1 -1
  12. package/dist/enums/execution-method.d.mts +2 -1
  13. package/dist/enums/execution-method.d.ts +2 -1
  14. package/dist/enums/execution-method.js +1 -0
  15. package/dist/enums/execution-method.js.map +1 -1
  16. package/dist/enums/execution-method.mjs +1 -0
  17. package/dist/enums/execution-method.mjs.map +1 -1
  18. package/dist/enums/index-type.d.mts +2 -1
  19. package/dist/enums/index-type.d.ts +2 -1
  20. package/dist/enums/index-type.js +1 -0
  21. package/dist/enums/index-type.js.map +1 -1
  22. package/dist/enums/index-type.mjs +1 -0
  23. package/dist/enums/index-type.mjs.map +1 -1
  24. package/dist/enums/{v-c-s-deployment-type.js → vcs-deployment-type.js} +1 -1
  25. package/dist/enums/vcs-deployment-type.js.map +1 -0
  26. package/dist/enums/{v-c-s-deployment-type.mjs → vcs-deployment-type.mjs} +2 -2
  27. package/dist/enums/vcs-deployment-type.mjs.map +1 -0
  28. package/dist/index.d.mts +2 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.js +7 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/index.mjs +2 -1
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/models.d.mts +1058 -153
  35. package/dist/models.d.ts +1058 -153
  36. package/dist/query.d.mts +196 -6
  37. package/dist/query.d.ts +196 -6
  38. package/dist/query.js +192 -2
  39. package/dist/query.js.map +1 -1
  40. package/dist/query.mjs +192 -2
  41. package/dist/query.mjs.map +1 -1
  42. package/dist/services/account.d.mts +625 -70
  43. package/dist/services/account.d.ts +625 -70
  44. package/dist/services/account.js +592 -292
  45. package/dist/services/account.js.map +1 -1
  46. package/dist/services/account.mjs +592 -292
  47. package/dist/services/account.mjs.map +1 -1
  48. package/dist/services/avatars.d.mts +157 -26
  49. package/dist/services/avatars.d.ts +157 -26
  50. package/dist/services/avatars.js +104 -93
  51. package/dist/services/avatars.js.map +1 -1
  52. package/dist/services/avatars.mjs +104 -93
  53. package/dist/services/avatars.mjs.map +1 -1
  54. package/dist/services/databases.d.mts +1425 -248
  55. package/dist/services/databases.d.ts +1425 -248
  56. package/dist/services/databases.js +1186 -611
  57. package/dist/services/databases.js.map +1 -1
  58. package/dist/services/databases.mjs +1186 -611
  59. package/dist/services/databases.mjs.map +1 -1
  60. package/dist/services/functions.d.mts +530 -107
  61. package/dist/services/functions.d.ts +530 -107
  62. package/dist/services/functions.js +393 -276
  63. package/dist/services/functions.js.map +1 -1
  64. package/dist/services/functions.mjs +393 -276
  65. package/dist/services/functions.mjs.map +1 -1
  66. package/dist/services/graphql.d.mts +24 -2
  67. package/dist/services/graphql.d.ts +24 -2
  68. package/dist/services/graphql.js +20 -16
  69. package/dist/services/graphql.js.map +1 -1
  70. package/dist/services/graphql.mjs +20 -16
  71. package/dist/services/graphql.mjs.map +1 -1
  72. package/dist/services/health.d.mts +175 -16
  73. package/dist/services/health.d.ts +175 -16
  74. package/dist/services/health.js +144 -115
  75. package/dist/services/health.js.map +1 -1
  76. package/dist/services/health.mjs +144 -115
  77. package/dist/services/health.mjs.map +1 -1
  78. package/dist/services/locale.js.map +1 -1
  79. package/dist/services/locale.mjs.map +1 -1
  80. package/dist/services/messaging.d.mts +1544 -262
  81. package/dist/services/messaging.d.ts +1544 -262
  82. package/dist/services/messaging.js +1417 -592
  83. package/dist/services/messaging.js.map +1 -1
  84. package/dist/services/messaging.mjs +1417 -592
  85. package/dist/services/messaging.mjs.map +1 -1
  86. package/dist/services/sites.d.mts +495 -99
  87. package/dist/services/sites.d.ts +495 -99
  88. package/dist/services/sites.js +371 -258
  89. package/dist/services/sites.js.map +1 -1
  90. package/dist/services/sites.mjs +371 -258
  91. package/dist/services/sites.mjs.map +1 -1
  92. package/dist/services/storage.d.mts +306 -63
  93. package/dist/services/storage.d.ts +306 -63
  94. package/dist/services/storage.js +225 -158
  95. package/dist/services/storage.js.map +1 -1
  96. package/dist/services/storage.mjs +225 -158
  97. package/dist/services/storage.mjs.map +1 -1
  98. package/dist/services/tables-db.d.mts +1744 -0
  99. package/dist/services/tables-db.d.ts +1744 -0
  100. package/dist/services/tables-db.js +2692 -0
  101. package/dist/services/tables-db.js.map +1 -0
  102. package/dist/services/tables-db.mjs +2691 -0
  103. package/dist/services/tables-db.mjs.map +1 -0
  104. package/dist/services/teams.d.mts +233 -39
  105. package/dist/services/teams.d.ts +233 -39
  106. package/dist/services/teams.js +170 -135
  107. package/dist/services/teams.js.map +1 -1
  108. package/dist/services/teams.mjs +170 -135
  109. package/dist/services/teams.mjs.map +1 -1
  110. package/dist/services/tokens.d.mts +76 -11
  111. package/dist/services/tokens.d.ts +76 -11
  112. package/dist/services/tokens.js +60 -45
  113. package/dist/services/tokens.js.map +1 -1
  114. package/dist/services/tokens.mjs +60 -45
  115. package/dist/services/tokens.mjs.map +1 -1
  116. package/dist/services/users.d.mts +842 -115
  117. package/dist/services/users.d.ts +842 -115
  118. package/dist/services/users.js +719 -408
  119. package/dist/services/users.js.map +1 -1
  120. package/dist/services/users.mjs +719 -408
  121. package/dist/services/users.mjs.map +1 -1
  122. package/package.json +1 -1
  123. package/dist/enums/v-c-s-deployment-type.js.map +0 -1
  124. package/dist/enums/v-c-s-deployment-type.mjs.map +0 -1
  125. /package/dist/enums/{v-c-s-deployment-type.d.mts → vcs-deployment-type.d.mts} +0 -0
  126. /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,348 @@ 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
+ createLineAttribute(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
+ key: rest[1],
1270
+ required: rest[2],
1271
+ xdefault: rest[3]
1272
+ };
1273
+ }
1274
+ const databaseId = params.databaseId;
1275
+ const collectionId = params.collectionId;
1276
+ const key = params.key;
1277
+ const required = params.required;
1278
+ const xdefault = params.xdefault;
1279
+ if (typeof databaseId === "undefined") {
1280
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1281
+ }
1282
+ if (typeof collectionId === "undefined") {
1283
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1284
+ }
1285
+ if (typeof key === "undefined") {
1286
+ throw new AppwriteException('Missing required parameter: "key"');
1287
+ }
1288
+ if (typeof required === "undefined") {
1289
+ throw new AppwriteException('Missing required parameter: "required"');
1290
+ }
1291
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/line".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId);
1292
+ const payload = {};
1293
+ if (typeof key !== "undefined") {
1294
+ payload["key"] = key;
1295
+ }
1296
+ if (typeof required !== "undefined") {
1297
+ payload["required"] = required;
1298
+ }
1299
+ if (typeof xdefault !== "undefined") {
1300
+ payload["default"] = xdefault;
1301
+ }
1302
+ const uri = new URL(this.client.config.endpoint + apiPath);
1303
+ const apiHeaders = {
1304
+ "content-type": "application/json"
1305
+ };
1306
+ return this.client.call(
1307
+ "post",
1308
+ uri,
1309
+ apiHeaders,
1310
+ payload
1311
+ );
1312
+ }
1313
+ updateLineAttribute(paramsOrFirst, ...rest) {
1314
+ let params;
1315
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1316
+ params = paramsOrFirst || {};
1317
+ } else {
1318
+ params = {
1319
+ databaseId: paramsOrFirst,
1320
+ collectionId: rest[0],
1321
+ key: rest[1],
1322
+ required: rest[2],
1323
+ xdefault: rest[3],
1324
+ newKey: rest[4]
1325
+ };
1326
+ }
1327
+ const databaseId = params.databaseId;
1328
+ const collectionId = params.collectionId;
1329
+ const key = params.key;
1330
+ const required = params.required;
1331
+ const xdefault = params.xdefault;
1332
+ const newKey = params.newKey;
1333
+ if (typeof databaseId === "undefined") {
1334
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1335
+ }
1336
+ if (typeof collectionId === "undefined") {
1337
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1338
+ }
1339
+ if (typeof key === "undefined") {
1340
+ throw new AppwriteException('Missing required parameter: "key"');
1341
+ }
1342
+ if (typeof required === "undefined") {
1343
+ throw new AppwriteException('Missing required parameter: "required"');
1344
+ }
1345
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/line/{key}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{key}", key);
1346
+ const payload = {};
1347
+ if (typeof required !== "undefined") {
1348
+ payload["required"] = required;
1349
+ }
1350
+ if (typeof xdefault !== "undefined") {
1351
+ payload["default"] = xdefault;
1352
+ }
1353
+ if (typeof newKey !== "undefined") {
1354
+ payload["newKey"] = newKey;
1355
+ }
1356
+ const uri = new URL(this.client.config.endpoint + apiPath);
1357
+ const apiHeaders = {
1358
+ "content-type": "application/json"
1359
+ };
1360
+ return this.client.call(
1361
+ "patch",
1362
+ uri,
1363
+ apiHeaders,
1364
+ payload
1365
+ );
1366
+ }
1367
+ createPointAttribute(paramsOrFirst, ...rest) {
1368
+ let params;
1369
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1370
+ params = paramsOrFirst || {};
1371
+ } else {
1372
+ params = {
1373
+ databaseId: paramsOrFirst,
1374
+ collectionId: rest[0],
1375
+ key: rest[1],
1376
+ required: rest[2],
1377
+ xdefault: rest[3]
1378
+ };
1379
+ }
1380
+ const databaseId = params.databaseId;
1381
+ const collectionId = params.collectionId;
1382
+ const key = params.key;
1383
+ const required = params.required;
1384
+ const xdefault = params.xdefault;
1385
+ if (typeof databaseId === "undefined") {
1386
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1387
+ }
1388
+ if (typeof collectionId === "undefined") {
1389
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1390
+ }
1391
+ if (typeof key === "undefined") {
1392
+ throw new AppwriteException('Missing required parameter: "key"');
1393
+ }
1394
+ if (typeof required === "undefined") {
1395
+ throw new AppwriteException('Missing required parameter: "required"');
1396
+ }
1397
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/point".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId);
1398
+ const payload = {};
1399
+ if (typeof key !== "undefined") {
1400
+ payload["key"] = key;
1401
+ }
1402
+ if (typeof required !== "undefined") {
1403
+ payload["required"] = required;
1404
+ }
1405
+ if (typeof xdefault !== "undefined") {
1406
+ payload["default"] = xdefault;
1407
+ }
1408
+ const uri = new URL(this.client.config.endpoint + apiPath);
1409
+ const apiHeaders = {
1410
+ "content-type": "application/json"
1411
+ };
1412
+ return this.client.call(
1413
+ "post",
1414
+ uri,
1415
+ apiHeaders,
1416
+ payload
1417
+ );
1418
+ }
1419
+ updatePointAttribute(paramsOrFirst, ...rest) {
1420
+ let params;
1421
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1422
+ params = paramsOrFirst || {};
1423
+ } else {
1424
+ params = {
1425
+ databaseId: paramsOrFirst,
1426
+ collectionId: rest[0],
1427
+ key: rest[1],
1428
+ required: rest[2],
1429
+ xdefault: rest[3],
1430
+ newKey: rest[4]
1431
+ };
1432
+ }
1433
+ const databaseId = params.databaseId;
1434
+ const collectionId = params.collectionId;
1435
+ const key = params.key;
1436
+ const required = params.required;
1437
+ const xdefault = params.xdefault;
1438
+ const newKey = params.newKey;
1439
+ if (typeof databaseId === "undefined") {
1440
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1441
+ }
1442
+ if (typeof collectionId === "undefined") {
1443
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1444
+ }
1445
+ if (typeof key === "undefined") {
1446
+ throw new AppwriteException('Missing required parameter: "key"');
1447
+ }
1448
+ if (typeof required === "undefined") {
1449
+ throw new AppwriteException('Missing required parameter: "required"');
1450
+ }
1451
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/point/{key}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{key}", key);
1452
+ const payload = {};
1453
+ if (typeof required !== "undefined") {
1454
+ payload["required"] = required;
1455
+ }
1456
+ if (typeof xdefault !== "undefined") {
1457
+ payload["default"] = xdefault;
1458
+ }
1459
+ if (typeof newKey !== "undefined") {
1460
+ payload["newKey"] = newKey;
1461
+ }
1462
+ const uri = new URL(this.client.config.endpoint + apiPath);
1463
+ const apiHeaders = {
1464
+ "content-type": "application/json"
1465
+ };
1466
+ return this.client.call(
1467
+ "patch",
1468
+ uri,
1469
+ apiHeaders,
1470
+ payload
1471
+ );
1472
+ }
1473
+ createPolygonAttribute(paramsOrFirst, ...rest) {
1474
+ let params;
1475
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1476
+ params = paramsOrFirst || {};
1477
+ } else {
1478
+ params = {
1479
+ databaseId: paramsOrFirst,
1480
+ collectionId: rest[0],
1481
+ key: rest[1],
1482
+ required: rest[2],
1483
+ xdefault: rest[3]
1484
+ };
1485
+ }
1486
+ const databaseId = params.databaseId;
1487
+ const collectionId = params.collectionId;
1488
+ const key = params.key;
1489
+ const required = params.required;
1490
+ const xdefault = params.xdefault;
1491
+ if (typeof databaseId === "undefined") {
1492
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1493
+ }
1494
+ if (typeof collectionId === "undefined") {
1495
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1496
+ }
1497
+ if (typeof key === "undefined") {
1498
+ throw new AppwriteException('Missing required parameter: "key"');
1499
+ }
1500
+ if (typeof required === "undefined") {
1501
+ throw new AppwriteException('Missing required parameter: "required"');
1502
+ }
1503
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/polygon".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId);
1504
+ const payload = {};
1505
+ if (typeof key !== "undefined") {
1506
+ payload["key"] = key;
1507
+ }
1508
+ if (typeof required !== "undefined") {
1509
+ payload["required"] = required;
1510
+ }
1511
+ if (typeof xdefault !== "undefined") {
1512
+ payload["default"] = xdefault;
1513
+ }
1514
+ const uri = new URL(this.client.config.endpoint + apiPath);
1515
+ const apiHeaders = {
1516
+ "content-type": "application/json"
1517
+ };
1518
+ return this.client.call(
1519
+ "post",
1520
+ uri,
1521
+ apiHeaders,
1522
+ payload
1523
+ );
1524
+ }
1525
+ updatePolygonAttribute(paramsOrFirst, ...rest) {
1526
+ let params;
1527
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1528
+ params = paramsOrFirst || {};
1529
+ } else {
1530
+ params = {
1531
+ databaseId: paramsOrFirst,
1532
+ collectionId: rest[0],
1533
+ key: rest[1],
1534
+ required: rest[2],
1535
+ xdefault: rest[3],
1536
+ newKey: rest[4]
1537
+ };
1538
+ }
1539
+ const databaseId = params.databaseId;
1540
+ const collectionId = params.collectionId;
1541
+ const key = params.key;
1542
+ const required = params.required;
1543
+ const xdefault = params.xdefault;
1544
+ const newKey = params.newKey;
1545
+ if (typeof databaseId === "undefined") {
1546
+ throw new AppwriteException('Missing required parameter: "databaseId"');
1547
+ }
1548
+ if (typeof collectionId === "undefined") {
1549
+ throw new AppwriteException('Missing required parameter: "collectionId"');
1550
+ }
1551
+ if (typeof key === "undefined") {
1552
+ throw new AppwriteException('Missing required parameter: "key"');
1553
+ }
1554
+ if (typeof required === "undefined") {
1555
+ throw new AppwriteException('Missing required parameter: "required"');
1556
+ }
1557
+ const apiPath = "/databases/{databaseId}/collections/{collectionId}/attributes/polygon/{key}".replace("{databaseId}", databaseId).replace("{collectionId}", collectionId).replace("{key}", key);
1558
+ const payload = {};
1559
+ if (typeof required !== "undefined") {
1560
+ payload["required"] = required;
1561
+ }
1562
+ if (typeof xdefault !== "undefined") {
1563
+ payload["default"] = xdefault;
1564
+ }
1565
+ if (typeof newKey !== "undefined") {
1566
+ payload["newKey"] = newKey;
1567
+ }
1568
+ const uri = new URL(this.client.config.endpoint + apiPath);
1569
+ const apiHeaders = {
1570
+ "content-type": "application/json"
1571
+ };
1572
+ return this.client.call(
1573
+ "patch",
1574
+ uri,
1575
+ apiHeaders,
1576
+ payload
1577
+ );
1578
+ }
1579
+ createRelationshipAttribute(paramsOrFirst, ...rest) {
1580
+ let params;
1581
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1582
+ params = paramsOrFirst || {};
1583
+ } else {
1584
+ params = {
1585
+ databaseId: paramsOrFirst,
1586
+ collectionId: rest[0],
1587
+ relatedCollectionId: rest[1],
1588
+ type: rest[2],
1589
+ twoWay: rest[3],
1590
+ key: rest[4],
1591
+ twoWayKey: rest[5],
1592
+ onDelete: rest[6]
1593
+ };
1594
+ }
1595
+ const databaseId = params.databaseId;
1596
+ const collectionId = params.collectionId;
1597
+ const relatedCollectionId = params.relatedCollectionId;
1598
+ const type = params.type;
1599
+ const twoWay = params.twoWay;
1600
+ const key = params.key;
1601
+ const twoWayKey = params.twoWayKey;
1602
+ const onDelete = params.onDelete;
1138
1603
  if (typeof databaseId === "undefined") {
1139
1604
  throw new AppwriteException('Missing required parameter: "databaseId"');
1140
1605
  }
@@ -1178,22 +1643,30 @@ var Databases = class {
1178
1643
  payload
1179
1644
  );
1180
1645
  }
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) {
1646
+ createStringAttribute(paramsOrFirst, ...rest) {
1647
+ let params;
1648
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1649
+ params = paramsOrFirst || {};
1650
+ } else {
1651
+ params = {
1652
+ databaseId: paramsOrFirst,
1653
+ collectionId: rest[0],
1654
+ key: rest[1],
1655
+ size: rest[2],
1656
+ required: rest[3],
1657
+ xdefault: rest[4],
1658
+ array: rest[5],
1659
+ encrypt: rest[6]
1660
+ };
1661
+ }
1662
+ const databaseId = params.databaseId;
1663
+ const collectionId = params.collectionId;
1664
+ const key = params.key;
1665
+ const size = params.size;
1666
+ const required = params.required;
1667
+ const xdefault = params.xdefault;
1668
+ const array = params.array;
1669
+ const encrypt = params.encrypt;
1197
1670
  if (typeof databaseId === "undefined") {
1198
1671
  throw new AppwriteException('Missing required parameter: "databaseId"');
1199
1672
  }
@@ -1240,21 +1713,28 @@ var Databases = class {
1240
1713
  payload
1241
1714
  );
1242
1715
  }
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) {
1716
+ updateStringAttribute(paramsOrFirst, ...rest) {
1717
+ let params;
1718
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1719
+ params = paramsOrFirst || {};
1720
+ } else {
1721
+ params = {
1722
+ databaseId: paramsOrFirst,
1723
+ collectionId: rest[0],
1724
+ key: rest[1],
1725
+ required: rest[2],
1726
+ xdefault: rest[3],
1727
+ size: rest[4],
1728
+ newKey: rest[5]
1729
+ };
1730
+ }
1731
+ const databaseId = params.databaseId;
1732
+ const collectionId = params.collectionId;
1733
+ const key = params.key;
1734
+ const required = params.required;
1735
+ const xdefault = params.xdefault;
1736
+ const size = params.size;
1737
+ const newKey = params.newKey;
1258
1738
  if (typeof databaseId === "undefined") {
1259
1739
  throw new AppwriteException('Missing required parameter: "databaseId"');
1260
1740
  }
@@ -1295,20 +1775,26 @@ var Databases = class {
1295
1775
  payload
1296
1776
  );
1297
1777
  }
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) {
1778
+ createUrlAttribute(paramsOrFirst, ...rest) {
1779
+ let params;
1780
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1781
+ params = paramsOrFirst || {};
1782
+ } else {
1783
+ params = {
1784
+ databaseId: paramsOrFirst,
1785
+ collectionId: rest[0],
1786
+ key: rest[1],
1787
+ required: rest[2],
1788
+ xdefault: rest[3],
1789
+ array: rest[4]
1790
+ };
1791
+ }
1792
+ const databaseId = params.databaseId;
1793
+ const collectionId = params.collectionId;
1794
+ const key = params.key;
1795
+ const required = params.required;
1796
+ const xdefault = params.xdefault;
1797
+ const array = params.array;
1312
1798
  if (typeof databaseId === "undefined") {
1313
1799
  throw new AppwriteException('Missing required parameter: "databaseId"');
1314
1800
  }
@@ -1346,20 +1832,26 @@ var Databases = class {
1346
1832
  payload
1347
1833
  );
1348
1834
  }
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) {
1835
+ updateUrlAttribute(paramsOrFirst, ...rest) {
1836
+ let params;
1837
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1838
+ params = paramsOrFirst || {};
1839
+ } else {
1840
+ params = {
1841
+ databaseId: paramsOrFirst,
1842
+ collectionId: rest[0],
1843
+ key: rest[1],
1844
+ required: rest[2],
1845
+ xdefault: rest[3],
1846
+ newKey: rest[4]
1847
+ };
1848
+ }
1849
+ const databaseId = params.databaseId;
1850
+ const collectionId = params.collectionId;
1851
+ const key = params.key;
1852
+ const required = params.required;
1853
+ const xdefault = params.xdefault;
1854
+ const newKey = params.newKey;
1363
1855
  if (typeof databaseId === "undefined") {
1364
1856
  throw new AppwriteException('Missing required parameter: "databaseId"');
1365
1857
  }
@@ -1397,16 +1889,20 @@ var Databases = class {
1397
1889
  payload
1398
1890
  );
1399
1891
  }
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) {
1892
+ getAttribute(paramsOrFirst, ...rest) {
1893
+ let params;
1894
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1895
+ params = paramsOrFirst || {};
1896
+ } else {
1897
+ params = {
1898
+ databaseId: paramsOrFirst,
1899
+ collectionId: rest[0],
1900
+ key: rest[1]
1901
+ };
1902
+ }
1903
+ const databaseId = params.databaseId;
1904
+ const collectionId = params.collectionId;
1905
+ const key = params.key;
1410
1906
  if (typeof databaseId === "undefined") {
1411
1907
  throw new AppwriteException('Missing required parameter: "databaseId"');
1412
1908
  }
@@ -1427,16 +1923,20 @@ var Databases = class {
1427
1923
  payload
1428
1924
  );
1429
1925
  }
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) {
1926
+ deleteAttribute(paramsOrFirst, ...rest) {
1927
+ let params;
1928
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1929
+ params = paramsOrFirst || {};
1930
+ } else {
1931
+ params = {
1932
+ databaseId: paramsOrFirst,
1933
+ collectionId: rest[0],
1934
+ key: rest[1]
1935
+ };
1936
+ }
1937
+ const databaseId = params.databaseId;
1938
+ const collectionId = params.collectionId;
1939
+ const key = params.key;
1440
1940
  if (typeof databaseId === "undefined") {
1441
1941
  throw new AppwriteException('Missing required parameter: "databaseId"');
1442
1942
  }
@@ -1459,19 +1959,24 @@ var Databases = class {
1459
1959
  payload
1460
1960
  );
1461
1961
  }
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) {
1962
+ updateRelationshipAttribute(paramsOrFirst, ...rest) {
1963
+ let params;
1964
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
1965
+ params = paramsOrFirst || {};
1966
+ } else {
1967
+ params = {
1968
+ databaseId: paramsOrFirst,
1969
+ collectionId: rest[0],
1970
+ key: rest[1],
1971
+ onDelete: rest[2],
1972
+ newKey: rest[3]
1973
+ };
1974
+ }
1975
+ const databaseId = params.databaseId;
1976
+ const collectionId = params.collectionId;
1977
+ const key = params.key;
1978
+ const onDelete = params.onDelete;
1979
+ const newKey = params.newKey;
1475
1980
  if (typeof databaseId === "undefined") {
1476
1981
  throw new AppwriteException('Missing required parameter: "databaseId"');
1477
1982
  }
@@ -1500,16 +2005,20 @@ var Databases = class {
1500
2005
  payload
1501
2006
  );
1502
2007
  }
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) {
2008
+ listDocuments(paramsOrFirst, ...rest) {
2009
+ let params;
2010
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2011
+ params = paramsOrFirst || {};
2012
+ } else {
2013
+ params = {
2014
+ databaseId: paramsOrFirst,
2015
+ collectionId: rest[0],
2016
+ queries: rest[1]
2017
+ };
2018
+ }
2019
+ const databaseId = params.databaseId;
2020
+ const collectionId = params.collectionId;
2021
+ const queries = params.queries;
1513
2022
  if (typeof databaseId === "undefined") {
1514
2023
  throw new AppwriteException('Missing required parameter: "databaseId"');
1515
2024
  }
@@ -1530,18 +2039,24 @@ var Databases = class {
1530
2039
  payload
1531
2040
  );
1532
2041
  }
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) {
2042
+ createDocument(paramsOrFirst, ...rest) {
2043
+ let params;
2044
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2045
+ params = paramsOrFirst || {};
2046
+ } else {
2047
+ params = {
2048
+ databaseId: paramsOrFirst,
2049
+ collectionId: rest[0],
2050
+ documentId: rest[1],
2051
+ data: rest[2],
2052
+ permissions: rest[3]
2053
+ };
2054
+ }
2055
+ const databaseId = params.databaseId;
2056
+ const collectionId = params.collectionId;
2057
+ const documentId = params.documentId;
2058
+ const data = params.data;
2059
+ const permissions = params.permissions;
1545
2060
  if (typeof databaseId === "undefined") {
1546
2061
  throw new AppwriteException('Missing required parameter: "databaseId"');
1547
2062
  }
@@ -1576,18 +2091,20 @@ var Databases = class {
1576
2091
  payload
1577
2092
  );
1578
2093
  }
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) {
2094
+ createDocuments(paramsOrFirst, ...rest) {
2095
+ let params;
2096
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2097
+ params = paramsOrFirst || {};
2098
+ } else {
2099
+ params = {
2100
+ databaseId: paramsOrFirst,
2101
+ collectionId: rest[0],
2102
+ documents: rest[1]
2103
+ };
2104
+ }
2105
+ const databaseId = params.databaseId;
2106
+ const collectionId = params.collectionId;
2107
+ const documents = params.documents;
1591
2108
  if (typeof databaseId === "undefined") {
1592
2109
  throw new AppwriteException('Missing required parameter: "databaseId"');
1593
2110
  }
@@ -1613,19 +2130,20 @@ var Databases = class {
1613
2130
  payload
1614
2131
  );
1615
2132
  }
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) {
2133
+ upsertDocuments(paramsOrFirst, ...rest) {
2134
+ let params;
2135
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2136
+ params = paramsOrFirst || {};
2137
+ } else {
2138
+ params = {
2139
+ databaseId: paramsOrFirst,
2140
+ collectionId: rest[0],
2141
+ documents: rest[1]
2142
+ };
2143
+ }
2144
+ const databaseId = params.databaseId;
2145
+ const collectionId = params.collectionId;
2146
+ const documents = params.documents;
1629
2147
  if (typeof databaseId === "undefined") {
1630
2148
  throw new AppwriteException('Missing required parameter: "databaseId"');
1631
2149
  }
@@ -1651,19 +2169,22 @@ var Databases = class {
1651
2169
  payload
1652
2170
  );
1653
2171
  }
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) {
2172
+ updateDocuments(paramsOrFirst, ...rest) {
2173
+ let params;
2174
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2175
+ params = paramsOrFirst || {};
2176
+ } else {
2177
+ params = {
2178
+ databaseId: paramsOrFirst,
2179
+ collectionId: rest[0],
2180
+ data: rest[1],
2181
+ queries: rest[2]
2182
+ };
2183
+ }
2184
+ const databaseId = params.databaseId;
2185
+ const collectionId = params.collectionId;
2186
+ const data = params.data;
2187
+ const queries = params.queries;
1667
2188
  if (typeof databaseId === "undefined") {
1668
2189
  throw new AppwriteException('Missing required parameter: "databaseId"');
1669
2190
  }
@@ -1689,18 +2210,20 @@ var Databases = class {
1689
2210
  payload
1690
2211
  );
1691
2212
  }
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) {
2213
+ deleteDocuments(paramsOrFirst, ...rest) {
2214
+ let params;
2215
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2216
+ params = paramsOrFirst || {};
2217
+ } else {
2218
+ params = {
2219
+ databaseId: paramsOrFirst,
2220
+ collectionId: rest[0],
2221
+ queries: rest[1]
2222
+ };
2223
+ }
2224
+ const databaseId = params.databaseId;
2225
+ const collectionId = params.collectionId;
2226
+ const queries = params.queries;
1704
2227
  if (typeof databaseId === "undefined") {
1705
2228
  throw new AppwriteException('Missing required parameter: "databaseId"');
1706
2229
  }
@@ -1723,17 +2246,22 @@ var Databases = class {
1723
2246
  payload
1724
2247
  );
1725
2248
  }
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) {
2249
+ getDocument(paramsOrFirst, ...rest) {
2250
+ let params;
2251
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2252
+ params = paramsOrFirst || {};
2253
+ } else {
2254
+ params = {
2255
+ databaseId: paramsOrFirst,
2256
+ collectionId: rest[0],
2257
+ documentId: rest[1],
2258
+ queries: rest[2]
2259
+ };
2260
+ }
2261
+ const databaseId = params.databaseId;
2262
+ const collectionId = params.collectionId;
2263
+ const documentId = params.documentId;
2264
+ const queries = params.queries;
1737
2265
  if (typeof databaseId === "undefined") {
1738
2266
  throw new AppwriteException('Missing required parameter: "databaseId"');
1739
2267
  }
@@ -1757,20 +2285,24 @@ var Databases = class {
1757
2285
  payload
1758
2286
  );
1759
2287
  }
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) {
2288
+ upsertDocument(paramsOrFirst, ...rest) {
2289
+ let params;
2290
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2291
+ params = paramsOrFirst || {};
2292
+ } else {
2293
+ params = {
2294
+ databaseId: paramsOrFirst,
2295
+ collectionId: rest[0],
2296
+ documentId: rest[1],
2297
+ data: rest[2],
2298
+ permissions: rest[3]
2299
+ };
2300
+ }
2301
+ const databaseId = params.databaseId;
2302
+ const collectionId = params.collectionId;
2303
+ const documentId = params.documentId;
2304
+ const data = params.data;
2305
+ const permissions = params.permissions;
1774
2306
  if (typeof databaseId === "undefined") {
1775
2307
  throw new AppwriteException('Missing required parameter: "databaseId"');
1776
2308
  }
@@ -1802,18 +2334,24 @@ var Databases = class {
1802
2334
  payload
1803
2335
  );
1804
2336
  }
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) {
2337
+ updateDocument(paramsOrFirst, ...rest) {
2338
+ let params;
2339
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2340
+ params = paramsOrFirst || {};
2341
+ } else {
2342
+ params = {
2343
+ databaseId: paramsOrFirst,
2344
+ collectionId: rest[0],
2345
+ documentId: rest[1],
2346
+ data: rest[2],
2347
+ permissions: rest[3]
2348
+ };
2349
+ }
2350
+ const databaseId = params.databaseId;
2351
+ const collectionId = params.collectionId;
2352
+ const documentId = params.documentId;
2353
+ const data = params.data;
2354
+ const permissions = params.permissions;
1817
2355
  if (typeof databaseId === "undefined") {
1818
2356
  throw new AppwriteException('Missing required parameter: "databaseId"');
1819
2357
  }
@@ -1842,16 +2380,20 @@ var Databases = class {
1842
2380
  payload
1843
2381
  );
1844
2382
  }
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) {
2383
+ deleteDocument(paramsOrFirst, ...rest) {
2384
+ let params;
2385
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2386
+ params = paramsOrFirst || {};
2387
+ } else {
2388
+ params = {
2389
+ databaseId: paramsOrFirst,
2390
+ collectionId: rest[0],
2391
+ documentId: rest[1]
2392
+ };
2393
+ }
2394
+ const databaseId = params.databaseId;
2395
+ const collectionId = params.collectionId;
2396
+ const documentId = params.documentId;
1855
2397
  if (typeof databaseId === "undefined") {
1856
2398
  throw new AppwriteException('Missing required parameter: "databaseId"');
1857
2399
  }
@@ -1874,19 +2416,26 @@ var Databases = class {
1874
2416
  payload
1875
2417
  );
1876
2418
  }
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) {
2419
+ decrementDocumentAttribute(paramsOrFirst, ...rest) {
2420
+ let params;
2421
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2422
+ params = paramsOrFirst || {};
2423
+ } else {
2424
+ params = {
2425
+ databaseId: paramsOrFirst,
2426
+ collectionId: rest[0],
2427
+ documentId: rest[1],
2428
+ attribute: rest[2],
2429
+ value: rest[3],
2430
+ min: rest[4]
2431
+ };
2432
+ }
2433
+ const databaseId = params.databaseId;
2434
+ const collectionId = params.collectionId;
2435
+ const documentId = params.documentId;
2436
+ const attribute = params.attribute;
2437
+ const value = params.value;
2438
+ const min = params.min;
1890
2439
  if (typeof databaseId === "undefined") {
1891
2440
  throw new AppwriteException('Missing required parameter: "databaseId"');
1892
2441
  }
@@ -1918,19 +2467,26 @@ var Databases = class {
1918
2467
  payload
1919
2468
  );
1920
2469
  }
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) {
2470
+ incrementDocumentAttribute(paramsOrFirst, ...rest) {
2471
+ let params;
2472
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2473
+ params = paramsOrFirst || {};
2474
+ } else {
2475
+ params = {
2476
+ databaseId: paramsOrFirst,
2477
+ collectionId: rest[0],
2478
+ documentId: rest[1],
2479
+ attribute: rest[2],
2480
+ value: rest[3],
2481
+ max: rest[4]
2482
+ };
2483
+ }
2484
+ const databaseId = params.databaseId;
2485
+ const collectionId = params.collectionId;
2486
+ const documentId = params.documentId;
2487
+ const attribute = params.attribute;
2488
+ const value = params.value;
2489
+ const max = params.max;
1934
2490
  if (typeof databaseId === "undefined") {
1935
2491
  throw new AppwriteException('Missing required parameter: "databaseId"');
1936
2492
  }
@@ -1962,16 +2518,20 @@ var Databases = class {
1962
2518
  payload
1963
2519
  );
1964
2520
  }
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) {
2521
+ listIndexes(paramsOrFirst, ...rest) {
2522
+ let params;
2523
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2524
+ params = paramsOrFirst || {};
2525
+ } else {
2526
+ params = {
2527
+ databaseId: paramsOrFirst,
2528
+ collectionId: rest[0],
2529
+ queries: rest[1]
2530
+ };
2531
+ }
2532
+ const databaseId = params.databaseId;
2533
+ const collectionId = params.collectionId;
2534
+ const queries = params.queries;
1975
2535
  if (typeof databaseId === "undefined") {
1976
2536
  throw new AppwriteException('Missing required parameter: "databaseId"');
1977
2537
  }
@@ -1992,21 +2552,28 @@ var Databases = class {
1992
2552
  payload
1993
2553
  );
1994
2554
  }
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) {
2555
+ createIndex(paramsOrFirst, ...rest) {
2556
+ let params;
2557
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2558
+ params = paramsOrFirst || {};
2559
+ } else {
2560
+ params = {
2561
+ databaseId: paramsOrFirst,
2562
+ collectionId: rest[0],
2563
+ key: rest[1],
2564
+ type: rest[2],
2565
+ attributes: rest[3],
2566
+ orders: rest[4],
2567
+ lengths: rest[5]
2568
+ };
2569
+ }
2570
+ const databaseId = params.databaseId;
2571
+ const collectionId = params.collectionId;
2572
+ const key = params.key;
2573
+ const type = params.type;
2574
+ const attributes = params.attributes;
2575
+ const orders = params.orders;
2576
+ const lengths = params.lengths;
2010
2577
  if (typeof databaseId === "undefined") {
2011
2578
  throw new AppwriteException('Missing required parameter: "databaseId"');
2012
2579
  }
@@ -2050,16 +2617,20 @@ var Databases = class {
2050
2617
  payload
2051
2618
  );
2052
2619
  }
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) {
2620
+ getIndex(paramsOrFirst, ...rest) {
2621
+ let params;
2622
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2623
+ params = paramsOrFirst || {};
2624
+ } else {
2625
+ params = {
2626
+ databaseId: paramsOrFirst,
2627
+ collectionId: rest[0],
2628
+ key: rest[1]
2629
+ };
2630
+ }
2631
+ const databaseId = params.databaseId;
2632
+ const collectionId = params.collectionId;
2633
+ const key = params.key;
2063
2634
  if (typeof databaseId === "undefined") {
2064
2635
  throw new AppwriteException('Missing required parameter: "databaseId"');
2065
2636
  }
@@ -2080,16 +2651,20 @@ var Databases = class {
2080
2651
  payload
2081
2652
  );
2082
2653
  }
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) {
2654
+ deleteIndex(paramsOrFirst, ...rest) {
2655
+ let params;
2656
+ if (paramsOrFirst && typeof paramsOrFirst === "object" && !Array.isArray(paramsOrFirst)) {
2657
+ params = paramsOrFirst || {};
2658
+ } else {
2659
+ params = {
2660
+ databaseId: paramsOrFirst,
2661
+ collectionId: rest[0],
2662
+ key: rest[1]
2663
+ };
2664
+ }
2665
+ const databaseId = params.databaseId;
2666
+ const collectionId = params.collectionId;
2667
+ const key = params.key;
2093
2668
  if (typeof databaseId === "undefined") {
2094
2669
  throw new AppwriteException('Missing required parameter: "databaseId"');
2095
2670
  }