react-native-appwrite 0.16.0 → 0.18.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 (64) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/sdk.js +707 -31
  3. package/dist/cjs/sdk.js.map +1 -1
  4. package/dist/esm/sdk.js +707 -32
  5. package/dist/esm/sdk.js.map +1 -1
  6. package/docs/examples/account/list-identities.md +2 -1
  7. package/docs/examples/account/list-logs.md +2 -1
  8. package/docs/examples/databases/create-document.md +3 -2
  9. package/docs/examples/databases/create-operations.md +24 -0
  10. package/docs/examples/databases/create-transaction.md +13 -0
  11. package/docs/examples/databases/decrement-document-attribute.md +2 -1
  12. package/docs/examples/databases/delete-document.md +2 -1
  13. package/docs/examples/databases/delete-transaction.md +13 -0
  14. package/docs/examples/databases/get-document.md +2 -1
  15. package/docs/examples/databases/get-transaction.md +13 -0
  16. package/docs/examples/databases/increment-document-attribute.md +2 -1
  17. package/docs/examples/databases/list-documents.md +3 -1
  18. package/docs/examples/databases/list-transactions.md +13 -0
  19. package/docs/examples/databases/update-document.md +3 -2
  20. package/docs/examples/databases/update-transaction.md +15 -0
  21. package/docs/examples/databases/upsert-document.md +3 -2
  22. package/docs/examples/functions/list-executions.md +2 -1
  23. package/docs/examples/storage/create-file.md +1 -1
  24. package/docs/examples/storage/list-files.md +2 -1
  25. package/docs/examples/storage/update-file.md +1 -1
  26. package/docs/examples/tablesdb/create-operations.md +24 -0
  27. package/docs/examples/tablesdb/create-row.md +3 -2
  28. package/docs/examples/tablesdb/create-transaction.md +13 -0
  29. package/docs/examples/tablesdb/decrement-row-column.md +2 -1
  30. package/docs/examples/tablesdb/delete-row.md +2 -1
  31. package/docs/examples/tablesdb/delete-transaction.md +13 -0
  32. package/docs/examples/tablesdb/get-row.md +2 -1
  33. package/docs/examples/tablesdb/get-transaction.md +13 -0
  34. package/docs/examples/tablesdb/increment-row-column.md +2 -1
  35. package/docs/examples/tablesdb/list-rows.md +3 -1
  36. package/docs/examples/tablesdb/list-transactions.md +13 -0
  37. package/docs/examples/tablesdb/update-row.md +3 -2
  38. package/docs/examples/tablesdb/update-transaction.md +15 -0
  39. package/docs/examples/tablesdb/upsert-row.md +3 -2
  40. package/docs/examples/teams/list-memberships.md +2 -1
  41. package/docs/examples/teams/list.md +2 -1
  42. package/package.json +2 -3
  43. package/src/client.ts +1 -1
  44. package/src/enums/execution-status.ts +1 -0
  45. package/src/index.ts +3 -0
  46. package/src/models.ts +45 -1
  47. package/src/operator.ts +308 -0
  48. package/src/query.ts +6 -6
  49. package/src/services/account.ts +30 -12
  50. package/src/services/databases.ts +422 -56
  51. package/src/services/functions.ts +15 -7
  52. package/src/services/storage.ts +15 -7
  53. package/src/services/tables-db.ts +422 -56
  54. package/src/services/teams.ts +30 -14
  55. package/types/enums/execution-status.d.ts +2 -1
  56. package/types/index.d.ts +3 -0
  57. package/types/models.d.ts +43 -1
  58. package/types/operator.d.ts +180 -0
  59. package/types/services/account.d.ts +8 -2
  60. package/types/services/databases.d.ts +158 -8
  61. package/types/services/functions.d.ts +4 -1
  62. package/types/services/storage.d.ts +4 -1
  63. package/types/services/tables-db.d.ts +158 -8
  64. package/types/services/teams.d.ts +8 -2
@@ -13,47 +13,349 @@ export class Databases extends Service {
13
13
  super(client);
14
14
  }
15
15
 
16
+ /**
17
+ * List transactions across all databases.
18
+ *
19
+ * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).
20
+ * @throws {AppwriteException}
21
+ * @returns {Promise}
22
+ */
23
+ listTransactions(params?: { queries?: string[] }): Promise<Models.TransactionList>;
24
+ /**
25
+ * List transactions across all databases.
26
+ *
27
+ * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).
28
+ * @throws {AppwriteException}
29
+ * @returns {Promise<Models.TransactionList>}
30
+ * @deprecated Use the object parameter style method for a better developer experience.
31
+ */
32
+ listTransactions(queries?: string[]): Promise<Models.TransactionList>;
33
+ listTransactions(
34
+ paramsOrFirst?: { queries?: string[] } | string[]
35
+ ): Promise<Models.TransactionList> {
36
+ let params: { queries?: string[] };
37
+
38
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
39
+ params = (paramsOrFirst || {}) as { queries?: string[] };
40
+ } else {
41
+ params = {
42
+ queries: paramsOrFirst as string[]
43
+ };
44
+ }
45
+
46
+ const queries = params.queries;
47
+
48
+ const apiPath = '/databases/transactions';
49
+ const payload: Payload = {};
50
+
51
+ if (typeof queries !== 'undefined') {
52
+ payload['queries'] = queries;
53
+ }
54
+
55
+ const uri = new URL(this.client.config.endpoint + apiPath);
56
+ return this.client.call('get', uri, {
57
+ }, payload);
58
+ }
59
+
60
+ /**
61
+ * Create a new transaction.
62
+ *
63
+ * @param {number} params.ttl - Seconds before the transaction expires.
64
+ * @throws {AppwriteException}
65
+ * @returns {Promise}
66
+ */
67
+ createTransaction(params?: { ttl?: number }): Promise<Models.Transaction>;
68
+ /**
69
+ * Create a new transaction.
70
+ *
71
+ * @param {number} ttl - Seconds before the transaction expires.
72
+ * @throws {AppwriteException}
73
+ * @returns {Promise<Models.Transaction>}
74
+ * @deprecated Use the object parameter style method for a better developer experience.
75
+ */
76
+ createTransaction(ttl?: number): Promise<Models.Transaction>;
77
+ createTransaction(
78
+ paramsOrFirst?: { ttl?: number } | number
79
+ ): Promise<Models.Transaction> {
80
+ let params: { ttl?: number };
81
+
82
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
83
+ params = (paramsOrFirst || {}) as { ttl?: number };
84
+ } else {
85
+ params = {
86
+ ttl: paramsOrFirst as number
87
+ };
88
+ }
89
+
90
+ const ttl = params.ttl;
91
+
92
+ const apiPath = '/databases/transactions';
93
+ const payload: Payload = {};
94
+
95
+ if (typeof ttl !== 'undefined') {
96
+ payload['ttl'] = ttl;
97
+ }
98
+
99
+ const uri = new URL(this.client.config.endpoint + apiPath);
100
+ return this.client.call('post', uri, {
101
+ 'content-type': 'application/json',
102
+ }, payload);
103
+ }
104
+
105
+ /**
106
+ * Get a transaction by its unique ID.
107
+ *
108
+ * @param {string} params.transactionId - Transaction ID.
109
+ * @throws {AppwriteException}
110
+ * @returns {Promise}
111
+ */
112
+ getTransaction(params: { transactionId: string }): Promise<Models.Transaction>;
113
+ /**
114
+ * Get a transaction by its unique ID.
115
+ *
116
+ * @param {string} transactionId - Transaction ID.
117
+ * @throws {AppwriteException}
118
+ * @returns {Promise<Models.Transaction>}
119
+ * @deprecated Use the object parameter style method for a better developer experience.
120
+ */
121
+ getTransaction(transactionId: string): Promise<Models.Transaction>;
122
+ getTransaction(
123
+ paramsOrFirst: { transactionId: string } | string
124
+ ): Promise<Models.Transaction> {
125
+ let params: { transactionId: string };
126
+
127
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
128
+ params = (paramsOrFirst || {}) as { transactionId: string };
129
+ } else {
130
+ params = {
131
+ transactionId: paramsOrFirst as string
132
+ };
133
+ }
134
+
135
+ const transactionId = params.transactionId;
136
+
137
+ if (typeof transactionId === 'undefined') {
138
+ throw new AppwriteException('Missing required parameter: "transactionId"');
139
+ }
140
+
141
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
142
+ const payload: Payload = {};
143
+
144
+ const uri = new URL(this.client.config.endpoint + apiPath);
145
+ return this.client.call('get', uri, {
146
+ }, payload);
147
+ }
148
+
149
+ /**
150
+ * Update a transaction, to either commit or roll back its operations.
151
+ *
152
+ * @param {string} params.transactionId - Transaction ID.
153
+ * @param {boolean} params.commit - Commit transaction?
154
+ * @param {boolean} params.rollback - Rollback transaction?
155
+ * @throws {AppwriteException}
156
+ * @returns {Promise}
157
+ */
158
+ updateTransaction(params: { transactionId: string, commit?: boolean, rollback?: boolean }): Promise<Models.Transaction>;
159
+ /**
160
+ * Update a transaction, to either commit or roll back its operations.
161
+ *
162
+ * @param {string} transactionId - Transaction ID.
163
+ * @param {boolean} commit - Commit transaction?
164
+ * @param {boolean} rollback - Rollback transaction?
165
+ * @throws {AppwriteException}
166
+ * @returns {Promise<Models.Transaction>}
167
+ * @deprecated Use the object parameter style method for a better developer experience.
168
+ */
169
+ updateTransaction(transactionId: string, commit?: boolean, rollback?: boolean): Promise<Models.Transaction>;
170
+ updateTransaction(
171
+ paramsOrFirst: { transactionId: string, commit?: boolean, rollback?: boolean } | string,
172
+ ...rest: [(boolean)?, (boolean)?]
173
+ ): Promise<Models.Transaction> {
174
+ let params: { transactionId: string, commit?: boolean, rollback?: boolean };
175
+
176
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
177
+ params = (paramsOrFirst || {}) as { transactionId: string, commit?: boolean, rollback?: boolean };
178
+ } else {
179
+ params = {
180
+ transactionId: paramsOrFirst as string,
181
+ commit: rest[0] as boolean,
182
+ rollback: rest[1] as boolean
183
+ };
184
+ }
185
+
186
+ const transactionId = params.transactionId;
187
+ const commit = params.commit;
188
+ const rollback = params.rollback;
189
+
190
+ if (typeof transactionId === 'undefined') {
191
+ throw new AppwriteException('Missing required parameter: "transactionId"');
192
+ }
193
+
194
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
195
+ const payload: Payload = {};
196
+
197
+ if (typeof commit !== 'undefined') {
198
+ payload['commit'] = commit;
199
+ }
200
+
201
+ if (typeof rollback !== 'undefined') {
202
+ payload['rollback'] = rollback;
203
+ }
204
+
205
+ const uri = new URL(this.client.config.endpoint + apiPath);
206
+ return this.client.call('patch', uri, {
207
+ 'content-type': 'application/json',
208
+ }, payload);
209
+ }
210
+
211
+ /**
212
+ * Delete a transaction by its unique ID.
213
+ *
214
+ * @param {string} params.transactionId - Transaction ID.
215
+ * @throws {AppwriteException}
216
+ * @returns {Promise}
217
+ */
218
+ deleteTransaction(params: { transactionId: string }): Promise<{}>;
219
+ /**
220
+ * Delete a transaction by its unique ID.
221
+ *
222
+ * @param {string} transactionId - Transaction ID.
223
+ * @throws {AppwriteException}
224
+ * @returns {Promise<{}>}
225
+ * @deprecated Use the object parameter style method for a better developer experience.
226
+ */
227
+ deleteTransaction(transactionId: string): Promise<{}>;
228
+ deleteTransaction(
229
+ paramsOrFirst: { transactionId: string } | string
230
+ ): Promise<{}> {
231
+ let params: { transactionId: string };
232
+
233
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
234
+ params = (paramsOrFirst || {}) as { transactionId: string };
235
+ } else {
236
+ params = {
237
+ transactionId: paramsOrFirst as string
238
+ };
239
+ }
240
+
241
+ const transactionId = params.transactionId;
242
+
243
+ if (typeof transactionId === 'undefined') {
244
+ throw new AppwriteException('Missing required parameter: "transactionId"');
245
+ }
246
+
247
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
248
+ const payload: Payload = {};
249
+
250
+ const uri = new URL(this.client.config.endpoint + apiPath);
251
+ return this.client.call('delete', uri, {
252
+ 'content-type': 'application/json',
253
+ }, payload);
254
+ }
255
+
256
+ /**
257
+ * Create multiple operations in a single transaction.
258
+ *
259
+ * @param {string} params.transactionId - Transaction ID.
260
+ * @param {object[]} params.operations - Array of staged operations.
261
+ * @throws {AppwriteException}
262
+ * @returns {Promise}
263
+ */
264
+ createOperations(params: { transactionId: string, operations?: object[] }): Promise<Models.Transaction>;
265
+ /**
266
+ * Create multiple operations in a single transaction.
267
+ *
268
+ * @param {string} transactionId - Transaction ID.
269
+ * @param {object[]} operations - Array of staged operations.
270
+ * @throws {AppwriteException}
271
+ * @returns {Promise<Models.Transaction>}
272
+ * @deprecated Use the object parameter style method for a better developer experience.
273
+ */
274
+ createOperations(transactionId: string, operations?: object[]): Promise<Models.Transaction>;
275
+ createOperations(
276
+ paramsOrFirst: { transactionId: string, operations?: object[] } | string,
277
+ ...rest: [(object[])?]
278
+ ): Promise<Models.Transaction> {
279
+ let params: { transactionId: string, operations?: object[] };
280
+
281
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
282
+ params = (paramsOrFirst || {}) as { transactionId: string, operations?: object[] };
283
+ } else {
284
+ params = {
285
+ transactionId: paramsOrFirst as string,
286
+ operations: rest[0] as object[]
287
+ };
288
+ }
289
+
290
+ const transactionId = params.transactionId;
291
+ const operations = params.operations;
292
+
293
+ if (typeof transactionId === 'undefined') {
294
+ throw new AppwriteException('Missing required parameter: "transactionId"');
295
+ }
296
+
297
+ const apiPath = '/databases/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);
298
+ const payload: Payload = {};
299
+
300
+ if (typeof operations !== 'undefined') {
301
+ payload['operations'] = operations;
302
+ }
303
+
304
+ const uri = new URL(this.client.config.endpoint + apiPath);
305
+ return this.client.call('post', uri, {
306
+ 'content-type': 'application/json',
307
+ }, payload);
308
+ }
309
+
16
310
  /**
17
311
  * Get a list of all the user's documents in a given collection. You can use the query params to filter your results.
18
312
  *
19
313
  * @param {string} params.databaseId - Database ID.
20
314
  * @param {string} params.collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
21
315
  * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
316
+ * @param {string} params.transactionId - Transaction ID to read uncommitted changes within the transaction.
317
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
22
318
  * @throws {AppwriteException}
23
319
  * @returns {Promise}
24
320
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.listRows` instead.
25
321
  */
26
- listDocuments<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, queries?: string[] }): Promise<Models.DocumentList<Document>>;
322
+ listDocuments<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string, total?: boolean }): Promise<Models.DocumentList<Document>>;
27
323
  /**
28
324
  * Get a list of all the user's documents in a given collection. You can use the query params to filter your results.
29
325
  *
30
326
  * @param {string} databaseId - Database ID.
31
327
  * @param {string} collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
32
328
  * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
329
+ * @param {string} transactionId - Transaction ID to read uncommitted changes within the transaction.
330
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
33
331
  * @throws {AppwriteException}
34
332
  * @returns {Promise<Models.DocumentList<Document>>}
35
333
  * @deprecated Use the object parameter style method for a better developer experience.
36
334
  */
37
- listDocuments<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, queries?: string[]): Promise<Models.DocumentList<Document>>;
335
+ listDocuments<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, queries?: string[], transactionId?: string, total?: boolean): Promise<Models.DocumentList<Document>>;
38
336
  listDocuments<Document extends Models.Document = Models.DefaultDocument>(
39
- paramsOrFirst: { databaseId: string, collectionId: string, queries?: string[] } | string,
40
- ...rest: [(string)?, (string[])?]
337
+ paramsOrFirst: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string, total?: boolean } | string,
338
+ ...rest: [(string)?, (string[])?, (string)?, (boolean)?]
41
339
  ): Promise<Models.DocumentList<Document>> {
42
- let params: { databaseId: string, collectionId: string, queries?: string[] };
340
+ let params: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string, total?: boolean };
43
341
 
44
342
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
45
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, queries?: string[] };
343
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, queries?: string[], transactionId?: string, total?: boolean };
46
344
  } else {
47
345
  params = {
48
346
  databaseId: paramsOrFirst as string,
49
347
  collectionId: rest[0] as string,
50
- queries: rest[1] as string[]
348
+ queries: rest[1] as string[],
349
+ transactionId: rest[2] as string,
350
+ total: rest[3] as boolean
51
351
  };
52
352
  }
53
353
 
54
354
  const databaseId = params.databaseId;
55
355
  const collectionId = params.collectionId;
56
356
  const queries = params.queries;
357
+ const transactionId = params.transactionId;
358
+ const total = params.total;
57
359
 
58
360
  if (typeof databaseId === 'undefined') {
59
361
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -70,6 +372,14 @@ export class Databases extends Service {
70
372
  payload['queries'] = queries;
71
373
  }
72
374
 
375
+ if (typeof transactionId !== 'undefined') {
376
+ payload['transactionId'] = transactionId;
377
+ }
378
+
379
+ if (typeof total !== 'undefined') {
380
+ payload['total'] = total;
381
+ }
382
+
73
383
  const uri = new URL(this.client.config.endpoint + apiPath);
74
384
  return this.client.call('get', uri, {
75
385
  }, payload);
@@ -83,11 +393,12 @@ export class Databases extends Service {
83
393
  * @param {string} params.documentId - Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
84
394
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>} params.data - Document data as JSON object.
85
395
  * @param {string[]} params.permissions - An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
396
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
86
397
  * @throws {AppwriteException}
87
398
  * @returns {Promise}
88
399
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.createRow` instead.
89
400
  */
90
- createDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[] }): Promise<Document>;
401
+ createDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[], transactionId?: string }): Promise<Document>;
91
402
  /**
92
403
  * 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.
93
404
  *
@@ -96,26 +407,28 @@ export class Databases extends Service {
96
407
  * @param {string} documentId - Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
97
408
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>} data - Document data as JSON object.
98
409
  * @param {string[]} permissions - An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
410
+ * @param {string} transactionId - Transaction ID for staging the operation.
99
411
  * @throws {AppwriteException}
100
412
  * @returns {Promise<Document>}
101
413
  * @deprecated Use the object parameter style method for a better developer experience.
102
414
  */
103
- createDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[]): Promise<Document>;
415
+ createDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[], transactionId?: string): Promise<Document>;
104
416
  createDocument<Document extends Models.Document = Models.DefaultDocument>(
105
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[] } | string,
106
- ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>)?, (string[])?]
417
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[], transactionId?: string } | string,
418
+ ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>)?, (string[])?, (string)?]
107
419
  ): Promise<Document> {
108
- let params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[] };
420
+ let params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[], transactionId?: string };
109
421
 
110
422
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
111
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[] };
423
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>, permissions?: string[], transactionId?: string };
112
424
  } else {
113
425
  params = {
114
426
  databaseId: paramsOrFirst as string,
115
427
  collectionId: rest[0] as string,
116
428
  documentId: rest[1] as string,
117
429
  data: rest[2] as Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>,
118
- permissions: rest[3] as string[]
430
+ permissions: rest[3] as string[],
431
+ transactionId: rest[4] as string
119
432
  };
120
433
  }
121
434
 
@@ -124,6 +437,7 @@ export class Databases extends Service {
124
437
  const documentId = params.documentId;
125
438
  const data = params.data;
126
439
  const permissions = params.permissions;
440
+ const transactionId = params.transactionId;
127
441
 
128
442
  if (typeof databaseId === 'undefined') {
129
443
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -156,6 +470,10 @@ export class Databases extends Service {
156
470
  payload['permissions'] = permissions;
157
471
  }
158
472
 
473
+ if (typeof transactionId !== 'undefined') {
474
+ payload['transactionId'] = transactionId;
475
+ }
476
+
159
477
  const uri = new URL(this.client.config.endpoint + apiPath);
160
478
  return this.client.call('post', uri, {
161
479
  'content-type': 'application/json',
@@ -169,11 +487,12 @@ export class Databases extends Service {
169
487
  * @param {string} params.collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
170
488
  * @param {string} params.documentId - Document ID.
171
489
  * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
490
+ * @param {string} params.transactionId - Transaction ID to read uncommitted changes within the transaction.
172
491
  * @throws {AppwriteException}
173
492
  * @returns {Promise}
174
493
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.getRow` instead.
175
494
  */
176
- getDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, queries?: string[] }): Promise<Document>;
495
+ getDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string }): Promise<Document>;
177
496
  /**
178
497
  * Get a document by its unique ID. This endpoint response returns a JSON object with the document data.
179
498
  *
@@ -181,25 +500,27 @@ export class Databases extends Service {
181
500
  * @param {string} collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
182
501
  * @param {string} documentId - Document ID.
183
502
  * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
503
+ * @param {string} transactionId - Transaction ID to read uncommitted changes within the transaction.
184
504
  * @throws {AppwriteException}
185
505
  * @returns {Promise<Document>}
186
506
  * @deprecated Use the object parameter style method for a better developer experience.
187
507
  */
188
- getDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, queries?: string[]): Promise<Document>;
508
+ getDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string): Promise<Document>;
189
509
  getDocument<Document extends Models.Document = Models.DefaultDocument>(
190
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, queries?: string[] } | string,
191
- ...rest: [(string)?, (string)?, (string[])?]
510
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string } | string,
511
+ ...rest: [(string)?, (string)?, (string[])?, (string)?]
192
512
  ): Promise<Document> {
193
- let params: { databaseId: string, collectionId: string, documentId: string, queries?: string[] };
513
+ let params: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string };
194
514
 
195
515
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
196
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, queries?: string[] };
516
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string };
197
517
  } else {
198
518
  params = {
199
519
  databaseId: paramsOrFirst as string,
200
520
  collectionId: rest[0] as string,
201
521
  documentId: rest[1] as string,
202
- queries: rest[2] as string[]
522
+ queries: rest[2] as string[],
523
+ transactionId: rest[3] as string
203
524
  };
204
525
  }
205
526
 
@@ -207,6 +528,7 @@ export class Databases extends Service {
207
528
  const collectionId = params.collectionId;
208
529
  const documentId = params.documentId;
209
530
  const queries = params.queries;
531
+ const transactionId = params.transactionId;
210
532
 
211
533
  if (typeof databaseId === 'undefined') {
212
534
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -227,6 +549,10 @@ export class Databases extends Service {
227
549
  payload['queries'] = queries;
228
550
  }
229
551
 
552
+ if (typeof transactionId !== 'undefined') {
553
+ payload['transactionId'] = transactionId;
554
+ }
555
+
230
556
  const uri = new URL(this.client.config.endpoint + apiPath);
231
557
  return this.client.call('get', uri, {
232
558
  }, payload);
@@ -240,11 +566,12 @@ export class Databases extends Service {
240
566
  * @param {string} params.documentId - Document ID.
241
567
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>} params.data - Document data as JSON object. Include all required attributes of the document to be created or updated.
242
568
  * @param {string[]} params.permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
569
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
243
570
  * @throws {AppwriteException}
244
571
  * @returns {Promise}
245
572
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.upsertRow` instead.
246
573
  */
247
- upsertDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] }): Promise<Document>;
574
+ upsertDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string }): Promise<Document>;
248
575
  /**
249
576
  * 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.
250
577
  *
@@ -253,26 +580,28 @@ export class Databases extends Service {
253
580
  * @param {string} documentId - Document ID.
254
581
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>} data - Document data as JSON object. Include all required attributes of the document to be created or updated.
255
582
  * @param {string[]} permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
583
+ * @param {string} transactionId - Transaction ID for staging the operation.
256
584
  * @throws {AppwriteException}
257
585
  * @returns {Promise<Document>}
258
586
  * @deprecated Use the object parameter style method for a better developer experience.
259
587
  */
260
- upsertDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[]): Promise<Document>;
588
+ upsertDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string): Promise<Document>;
261
589
  upsertDocument<Document extends Models.Document = Models.DefaultDocument>(
262
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] } | string,
263
- ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>)?, (string[])?]
590
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string } | string,
591
+ ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>)?, (string[])?, (string)?]
264
592
  ): Promise<Document> {
265
- let params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] };
593
+ let params: { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string };
266
594
 
267
595
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
268
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] };
596
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string };
269
597
  } else {
270
598
  params = {
271
599
  databaseId: paramsOrFirst as string,
272
600
  collectionId: rest[0] as string,
273
601
  documentId: rest[1] as string,
274
602
  data: rest[2] as Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>,
275
- permissions: rest[3] as string[]
603
+ permissions: rest[3] as string[],
604
+ transactionId: rest[4] as string
276
605
  };
277
606
  }
278
607
 
@@ -281,6 +610,7 @@ export class Databases extends Service {
281
610
  const documentId = params.documentId;
282
611
  const data = params.data;
283
612
  const permissions = params.permissions;
613
+ const transactionId = params.transactionId;
284
614
 
285
615
  if (typeof databaseId === 'undefined') {
286
616
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -309,6 +639,10 @@ export class Databases extends Service {
309
639
  payload['permissions'] = permissions;
310
640
  }
311
641
 
642
+ if (typeof transactionId !== 'undefined') {
643
+ payload['transactionId'] = transactionId;
644
+ }
645
+
312
646
  const uri = new URL(this.client.config.endpoint + apiPath);
313
647
  return this.client.call('put', uri, {
314
648
  'content-type': 'application/json',
@@ -323,11 +657,12 @@ export class Databases extends Service {
323
657
  * @param {string} params.documentId - Document ID.
324
658
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>} params.data - Document data as JSON object. Include only attribute and value pairs to be updated.
325
659
  * @param {string[]} params.permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
660
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
326
661
  * @throws {AppwriteException}
327
662
  * @returns {Promise}
328
663
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.updateRow` instead.
329
664
  */
330
- updateDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] }): Promise<Document>;
665
+ updateDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string }): Promise<Document>;
331
666
  /**
332
667
  * Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.
333
668
  *
@@ -336,26 +671,28 @@ export class Databases extends Service {
336
671
  * @param {string} documentId - Document ID.
337
672
  * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>} data - Document data as JSON object. Include only attribute and value pairs to be updated.
338
673
  * @param {string[]} permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
674
+ * @param {string} transactionId - Transaction ID for staging the operation.
339
675
  * @throws {AppwriteException}
340
676
  * @returns {Promise<Document>}
341
677
  * @deprecated Use the object parameter style method for a better developer experience.
342
678
  */
343
- updateDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[]): Promise<Document>;
679
+ updateDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string): Promise<Document>;
344
680
  updateDocument<Document extends Models.Document = Models.DefaultDocument>(
345
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] } | string,
346
- ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>)?, (string[])?]
681
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string } | string,
682
+ ...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>)?, (string[])?, (string)?]
347
683
  ): Promise<Document> {
348
- let params: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] };
684
+ let params: { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string };
349
685
 
350
686
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
351
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[] };
687
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, data?: Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>, permissions?: string[], transactionId?: string };
352
688
  } else {
353
689
  params = {
354
690
  databaseId: paramsOrFirst as string,
355
691
  collectionId: rest[0] as string,
356
692
  documentId: rest[1] as string,
357
693
  data: rest[2] as Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>,
358
- permissions: rest[3] as string[]
694
+ permissions: rest[3] as string[],
695
+ transactionId: rest[4] as string
359
696
  };
360
697
  }
361
698
 
@@ -364,6 +701,7 @@ export class Databases extends Service {
364
701
  const documentId = params.documentId;
365
702
  const data = params.data;
366
703
  const permissions = params.permissions;
704
+ const transactionId = params.transactionId;
367
705
 
368
706
  if (typeof databaseId === 'undefined') {
369
707
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -388,6 +726,10 @@ export class Databases extends Service {
388
726
  payload['permissions'] = permissions;
389
727
  }
390
728
 
729
+ if (typeof transactionId !== 'undefined') {
730
+ payload['transactionId'] = transactionId;
731
+ }
732
+
391
733
  const uri = new URL(this.client.config.endpoint + apiPath);
392
734
  return this.client.call('patch', uri, {
393
735
  'content-type': 'application/json',
@@ -400,41 +742,45 @@ export class Databases extends Service {
400
742
  * @param {string} params.databaseId - Database ID.
401
743
  * @param {string} params.collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
402
744
  * @param {string} params.documentId - Document ID.
745
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
403
746
  * @throws {AppwriteException}
404
747
  * @returns {Promise}
405
748
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.deleteRow` instead.
406
749
  */
407
- deleteDocument(params: { databaseId: string, collectionId: string, documentId: string }): Promise<{}>;
750
+ deleteDocument(params: { databaseId: string, collectionId: string, documentId: string, transactionId?: string }): Promise<{}>;
408
751
  /**
409
752
  * Delete a document by its unique ID.
410
753
  *
411
754
  * @param {string} databaseId - Database ID.
412
755
  * @param {string} collectionId - Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
413
756
  * @param {string} documentId - Document ID.
757
+ * @param {string} transactionId - Transaction ID for staging the operation.
414
758
  * @throws {AppwriteException}
415
759
  * @returns {Promise<{}>}
416
760
  * @deprecated Use the object parameter style method for a better developer experience.
417
761
  */
418
- deleteDocument(databaseId: string, collectionId: string, documentId: string): Promise<{}>;
762
+ deleteDocument(databaseId: string, collectionId: string, documentId: string, transactionId?: string): Promise<{}>;
419
763
  deleteDocument(
420
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string } | string,
421
- ...rest: [(string)?, (string)?]
764
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, transactionId?: string } | string,
765
+ ...rest: [(string)?, (string)?, (string)?]
422
766
  ): Promise<{}> {
423
- let params: { databaseId: string, collectionId: string, documentId: string };
767
+ let params: { databaseId: string, collectionId: string, documentId: string, transactionId?: string };
424
768
 
425
769
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
426
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string };
770
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, transactionId?: string };
427
771
  } else {
428
772
  params = {
429
773
  databaseId: paramsOrFirst as string,
430
774
  collectionId: rest[0] as string,
431
- documentId: rest[1] as string
775
+ documentId: rest[1] as string,
776
+ transactionId: rest[2] as string
432
777
  };
433
778
  }
434
779
 
435
780
  const databaseId = params.databaseId;
436
781
  const collectionId = params.collectionId;
437
782
  const documentId = params.documentId;
783
+ const transactionId = params.transactionId;
438
784
 
439
785
  if (typeof databaseId === 'undefined') {
440
786
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -451,6 +797,10 @@ export class Databases extends Service {
451
797
  const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
452
798
  const payload: Payload = {};
453
799
 
800
+ if (typeof transactionId !== 'undefined') {
801
+ payload['transactionId'] = transactionId;
802
+ }
803
+
454
804
  const uri = new URL(this.client.config.endpoint + apiPath);
455
805
  return this.client.call('delete', uri, {
456
806
  'content-type': 'application/json',
@@ -466,11 +816,12 @@ export class Databases extends Service {
466
816
  * @param {string} params.attribute - Attribute key.
467
817
  * @param {number} params.value - Value to increment the attribute by. The value must be a number.
468
818
  * @param {number} params.min - Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.
819
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
469
820
  * @throws {AppwriteException}
470
821
  * @returns {Promise}
471
822
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.decrementRowColumn` instead.
472
823
  */
473
- decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number }): Promise<Document>;
824
+ decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string }): Promise<Document>;
474
825
  /**
475
826
  * Decrement a specific attribute of a document by a given value.
476
827
  *
@@ -480,19 +831,20 @@ export class Databases extends Service {
480
831
  * @param {string} attribute - Attribute key.
481
832
  * @param {number} value - Value to increment the attribute by. The value must be a number.
482
833
  * @param {number} min - Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.
834
+ * @param {string} transactionId - Transaction ID for staging the operation.
483
835
  * @throws {AppwriteException}
484
836
  * @returns {Promise<Document>}
485
837
  * @deprecated Use the object parameter style method for a better developer experience.
486
838
  */
487
- decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number): Promise<Document>;
839
+ decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string): Promise<Document>;
488
840
  decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(
489
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number } | string,
490
- ...rest: [(string)?, (string)?, (string)?, (number)?, (number)?]
841
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string } | string,
842
+ ...rest: [(string)?, (string)?, (string)?, (number)?, (number)?, (string)?]
491
843
  ): Promise<Document> {
492
- let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number };
844
+ let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string };
493
845
 
494
846
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
495
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number };
847
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string };
496
848
  } else {
497
849
  params = {
498
850
  databaseId: paramsOrFirst as string,
@@ -500,7 +852,8 @@ export class Databases extends Service {
500
852
  documentId: rest[1] as string,
501
853
  attribute: rest[2] as string,
502
854
  value: rest[3] as number,
503
- min: rest[4] as number
855
+ min: rest[4] as number,
856
+ transactionId: rest[5] as string
504
857
  };
505
858
  }
506
859
 
@@ -510,6 +863,7 @@ export class Databases extends Service {
510
863
  const attribute = params.attribute;
511
864
  const value = params.value;
512
865
  const min = params.min;
866
+ const transactionId = params.transactionId;
513
867
 
514
868
  if (typeof databaseId === 'undefined') {
515
869
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -538,6 +892,10 @@ export class Databases extends Service {
538
892
  payload['min'] = min;
539
893
  }
540
894
 
895
+ if (typeof transactionId !== 'undefined') {
896
+ payload['transactionId'] = transactionId;
897
+ }
898
+
541
899
  const uri = new URL(this.client.config.endpoint + apiPath);
542
900
  return this.client.call('patch', uri, {
543
901
  'content-type': 'application/json',
@@ -553,11 +911,12 @@ export class Databases extends Service {
553
911
  * @param {string} params.attribute - Attribute key.
554
912
  * @param {number} params.value - Value to increment the attribute by. The value must be a number.
555
913
  * @param {number} params.max - Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.
914
+ * @param {string} params.transactionId - Transaction ID for staging the operation.
556
915
  * @throws {AppwriteException}
557
916
  * @returns {Promise}
558
917
  * @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.incrementRowColumn` instead.
559
918
  */
560
- incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number }): Promise<Document>;
919
+ incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string }): Promise<Document>;
561
920
  /**
562
921
  * Increment a specific attribute of a document by a given value.
563
922
  *
@@ -567,19 +926,20 @@ export class Databases extends Service {
567
926
  * @param {string} attribute - Attribute key.
568
927
  * @param {number} value - Value to increment the attribute by. The value must be a number.
569
928
  * @param {number} max - Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.
929
+ * @param {string} transactionId - Transaction ID for staging the operation.
570
930
  * @throws {AppwriteException}
571
931
  * @returns {Promise<Document>}
572
932
  * @deprecated Use the object parameter style method for a better developer experience.
573
933
  */
574
- incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number): Promise<Document>;
934
+ incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string): Promise<Document>;
575
935
  incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(
576
- paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number } | string,
577
- ...rest: [(string)?, (string)?, (string)?, (number)?, (number)?]
936
+ paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string } | string,
937
+ ...rest: [(string)?, (string)?, (string)?, (number)?, (number)?, (string)?]
578
938
  ): Promise<Document> {
579
- let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number };
939
+ let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string };
580
940
 
581
941
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
582
- params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number };
942
+ params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string };
583
943
  } else {
584
944
  params = {
585
945
  databaseId: paramsOrFirst as string,
@@ -587,7 +947,8 @@ export class Databases extends Service {
587
947
  documentId: rest[1] as string,
588
948
  attribute: rest[2] as string,
589
949
  value: rest[3] as number,
590
- max: rest[4] as number
950
+ max: rest[4] as number,
951
+ transactionId: rest[5] as string
591
952
  };
592
953
  }
593
954
 
@@ -597,6 +958,7 @@ export class Databases extends Service {
597
958
  const attribute = params.attribute;
598
959
  const value = params.value;
599
960
  const max = params.max;
961
+ const transactionId = params.transactionId;
600
962
 
601
963
  if (typeof databaseId === 'undefined') {
602
964
  throw new AppwriteException('Missing required parameter: "databaseId"');
@@ -625,6 +987,10 @@ export class Databases extends Service {
625
987
  payload['max'] = max;
626
988
  }
627
989
 
990
+ if (typeof transactionId !== 'undefined') {
991
+ payload['transactionId'] = transactionId;
992
+ }
993
+
628
994
  const uri = new URL(this.client.config.endpoint + apiPath);
629
995
  return this.client.call('patch', uri, {
630
996
  'content-type': 'application/json',