appwrite-cli 10.1.0 → 10.2.2

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.
@@ -119,6 +119,211 @@ const databasesCreate = async ({databaseId,name,enabled,parseOutput = true, over
119
119
 
120
120
  return response;
121
121
 
122
+ }
123
+ /**
124
+ * @typedef {Object} DatabasesListTransactionsRequestParams
125
+ * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).
126
+ * @property {boolean} overrideForCli
127
+ * @property {boolean} parseOutput
128
+ * @property {libClient | undefined} sdk
129
+ */
130
+
131
+ /**
132
+ * @param {DatabasesListTransactionsRequestParams} params
133
+ */
134
+ const databasesListTransactions = async ({queries,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
135
+ let client = !sdk ? await sdkForProject() :
136
+ sdk;
137
+ let apiPath = '/databases/transactions';
138
+ let payload = {};
139
+ if (typeof queries !== 'undefined') {
140
+ payload['queries'] = queries;
141
+ }
142
+
143
+ let response = undefined;
144
+
145
+ response = await client.call('get', apiPath, {
146
+ }, payload);
147
+
148
+ if (parseOutput) {
149
+ if(console) {
150
+ showConsoleLink('databases', 'listTransactions');
151
+ } else {
152
+ parse(response)
153
+ }
154
+ }
155
+
156
+ return response;
157
+
158
+ }
159
+ /**
160
+ * @typedef {Object} DatabasesCreateTransactionRequestParams
161
+ * @property {number} ttl Seconds before the transaction expires.
162
+ * @property {boolean} overrideForCli
163
+ * @property {boolean} parseOutput
164
+ * @property {libClient | undefined} sdk
165
+ */
166
+
167
+ /**
168
+ * @param {DatabasesCreateTransactionRequestParams} params
169
+ */
170
+ const databasesCreateTransaction = async ({ttl,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
171
+ let client = !sdk ? await sdkForProject() :
172
+ sdk;
173
+ let apiPath = '/databases/transactions';
174
+ let payload = {};
175
+ if (typeof ttl !== 'undefined') {
176
+ payload['ttl'] = ttl;
177
+ }
178
+
179
+ let response = undefined;
180
+
181
+ response = await client.call('post', apiPath, {
182
+ 'content-type': 'application/json',
183
+ }, payload);
184
+
185
+ if (parseOutput) {
186
+ parse(response)
187
+ }
188
+
189
+ return response;
190
+
191
+ }
192
+ /**
193
+ * @typedef {Object} DatabasesGetTransactionRequestParams
194
+ * @property {string} transactionId Transaction ID.
195
+ * @property {boolean} overrideForCli
196
+ * @property {boolean} parseOutput
197
+ * @property {libClient | undefined} sdk
198
+ */
199
+
200
+ /**
201
+ * @param {DatabasesGetTransactionRequestParams} params
202
+ */
203
+ const databasesGetTransaction = async ({transactionId,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
204
+ let client = !sdk ? await sdkForProject() :
205
+ sdk;
206
+ let apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
207
+ let payload = {};
208
+
209
+ let response = undefined;
210
+
211
+ response = await client.call('get', apiPath, {
212
+ }, payload);
213
+
214
+ if (parseOutput) {
215
+ if(console) {
216
+ showConsoleLink('databases', 'getTransaction', transactionId);
217
+ } else {
218
+ parse(response)
219
+ }
220
+ }
221
+
222
+ return response;
223
+
224
+ }
225
+ /**
226
+ * @typedef {Object} DatabasesUpdateTransactionRequestParams
227
+ * @property {string} transactionId Transaction ID.
228
+ * @property {boolean} commit Commit transaction?
229
+ * @property {boolean} rollback Rollback transaction?
230
+ * @property {boolean} overrideForCli
231
+ * @property {boolean} parseOutput
232
+ * @property {libClient | undefined} sdk
233
+ */
234
+
235
+ /**
236
+ * @param {DatabasesUpdateTransactionRequestParams} params
237
+ */
238
+ const databasesUpdateTransaction = async ({transactionId,commit,rollback,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
239
+ let client = !sdk ? await sdkForProject() :
240
+ sdk;
241
+ let apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
242
+ let payload = {};
243
+ if (typeof commit !== 'undefined') {
244
+ payload['commit'] = commit;
245
+ }
246
+ if (typeof rollback !== 'undefined') {
247
+ payload['rollback'] = rollback;
248
+ }
249
+
250
+ let response = undefined;
251
+
252
+ response = await client.call('patch', apiPath, {
253
+ 'content-type': 'application/json',
254
+ }, payload);
255
+
256
+ if (parseOutput) {
257
+ parse(response)
258
+ }
259
+
260
+ return response;
261
+
262
+ }
263
+ /**
264
+ * @typedef {Object} DatabasesDeleteTransactionRequestParams
265
+ * @property {string} transactionId Transaction ID.
266
+ * @property {boolean} overrideForCli
267
+ * @property {boolean} parseOutput
268
+ * @property {libClient | undefined} sdk
269
+ */
270
+
271
+ /**
272
+ * @param {DatabasesDeleteTransactionRequestParams} params
273
+ */
274
+ const databasesDeleteTransaction = async ({transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
275
+ let client = !sdk ? await sdkForProject() :
276
+ sdk;
277
+ let apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
278
+ let payload = {};
279
+
280
+ let response = undefined;
281
+
282
+ response = await client.call('delete', apiPath, {
283
+ 'content-type': 'application/json',
284
+ }, payload);
285
+
286
+ if (parseOutput) {
287
+ parse(response)
288
+ }
289
+
290
+ return response;
291
+
292
+ }
293
+ /**
294
+ * @typedef {Object} DatabasesCreateOperationsRequestParams
295
+ * @property {string} transactionId Transaction ID.
296
+ * @property {object[]} operations Array of staged operations.
297
+ * @property {boolean} overrideForCli
298
+ * @property {boolean} parseOutput
299
+ * @property {libClient | undefined} sdk
300
+ */
301
+
302
+ /**
303
+ * @param {DatabasesCreateOperationsRequestParams} params
304
+ */
305
+ const databasesCreateOperations = async ({transactionId,operations,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
306
+ let client = !sdk ? await sdkForProject() :
307
+ sdk;
308
+ let apiPath = '/databases/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);
309
+ let payload = {};
310
+ operations = operations === true ? [] : operations;
311
+ if (typeof operations !== 'undefined') {
312
+ payload['operations'] = operations;
313
+ }
314
+
315
+ let response = undefined;
316
+
317
+ response = await client.call('post', apiPath, {
318
+ 'content-type': 'application/json',
319
+ }, payload);
320
+
321
+ if (parseOutput) {
322
+ parse(response)
323
+ }
324
+
325
+ return response;
326
+
122
327
  }
123
328
  /**
124
329
  * @typedef {Object} DatabasesListUsageRequestParams
@@ -1803,6 +2008,7 @@ const databasesUpdateRelationshipAttribute = async ({databaseId,collectionId,key
1803
2008
  * @property {string} databaseId Database ID.
1804
2009
  * @property {string} collectionId Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1805
2010
  * @property {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.
2011
+ * @property {string} transactionId Transaction ID to read uncommitted changes within the transaction.
1806
2012
  * @property {boolean} overrideForCli
1807
2013
  * @property {boolean} parseOutput
1808
2014
  * @property {libClient | undefined} sdk
@@ -1811,7 +2017,7 @@ const databasesUpdateRelationshipAttribute = async ({databaseId,collectionId,key
1811
2017
  /**
1812
2018
  * @param {DatabasesListDocumentsRequestParams} params
1813
2019
  */
1814
- const databasesListDocuments = async ({databaseId,collectionId,queries,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
2020
+ const databasesListDocuments = async ({databaseId,collectionId,queries,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
1815
2021
  let client = !sdk ? await sdkForProject() :
1816
2022
  sdk;
1817
2023
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -1819,6 +2025,9 @@ const databasesListDocuments = async ({databaseId,collectionId,queries,parseOutp
1819
2025
  if (typeof queries !== 'undefined') {
1820
2026
  payload['queries'] = queries;
1821
2027
  }
2028
+ if (typeof transactionId !== 'undefined') {
2029
+ payload['transactionId'] = transactionId;
2030
+ }
1822
2031
 
1823
2032
  let response = undefined;
1824
2033
 
@@ -1843,6 +2052,7 @@ const databasesListDocuments = async ({databaseId,collectionId,queries,parseOutp
1843
2052
  * @property {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.
1844
2053
  * @property {object} data Document data as JSON object.
1845
2054
  * @property {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).
2055
+ * @property {string} transactionId Transaction ID for staging the operation.
1846
2056
  * @property {boolean} overrideForCli
1847
2057
  * @property {boolean} parseOutput
1848
2058
  * @property {libClient | undefined} sdk
@@ -1851,7 +2061,7 @@ const databasesListDocuments = async ({databaseId,collectionId,queries,parseOutp
1851
2061
  /**
1852
2062
  * @param {DatabasesCreateDocumentRequestParams} params
1853
2063
  */
1854
- const databasesCreateDocument = async ({databaseId,collectionId,documentId,data,permissions,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2064
+ const databasesCreateDocument = async ({databaseId,collectionId,documentId,data,permissions,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
1855
2065
  let client = !sdk ? await sdkForProject() :
1856
2066
  sdk;
1857
2067
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -1866,6 +2076,9 @@ const databasesCreateDocument = async ({databaseId,collectionId,documentId,data,
1866
2076
  if (typeof permissions !== 'undefined') {
1867
2077
  payload['permissions'] = permissions;
1868
2078
  }
2079
+ if (typeof transactionId !== 'undefined') {
2080
+ payload['transactionId'] = transactionId;
2081
+ }
1869
2082
 
1870
2083
  let response = undefined;
1871
2084
 
@@ -1885,6 +2098,7 @@ const databasesCreateDocument = async ({databaseId,collectionId,documentId,data,
1885
2098
  * @property {string} databaseId Database ID.
1886
2099
  * @property {string} collectionId Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). Make sure to define attributes before creating documents.
1887
2100
  * @property {object[]} documents Array of documents data as JSON objects.
2101
+ * @property {string} transactionId Transaction ID for staging the operation.
1888
2102
  * @property {boolean} overrideForCli
1889
2103
  * @property {boolean} parseOutput
1890
2104
  * @property {libClient | undefined} sdk
@@ -1893,7 +2107,7 @@ const databasesCreateDocument = async ({databaseId,collectionId,documentId,data,
1893
2107
  /**
1894
2108
  * @param {DatabasesCreateDocumentsRequestParams} params
1895
2109
  */
1896
- const databasesCreateDocuments = async ({databaseId,collectionId,documents,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2110
+ const databasesCreateDocuments = async ({databaseId,collectionId,documents,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
1897
2111
  let client = !sdk ? await sdkForProject() :
1898
2112
  sdk;
1899
2113
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -1902,6 +2116,9 @@ const databasesCreateDocuments = async ({databaseId,collectionId,documents,parse
1902
2116
  if (typeof documents !== 'undefined') {
1903
2117
  payload['documents'] = documents;
1904
2118
  }
2119
+ if (typeof transactionId !== 'undefined') {
2120
+ payload['transactionId'] = transactionId;
2121
+ }
1905
2122
 
1906
2123
  let response = undefined;
1907
2124
 
@@ -1921,6 +2138,7 @@ const databasesCreateDocuments = async ({databaseId,collectionId,documents,parse
1921
2138
  * @property {string} databaseId Database ID.
1922
2139
  * @property {string} collectionId Collection ID.
1923
2140
  * @property {object[]} documents Array of document data as JSON objects. May contain partial documents.
2141
+ * @property {string} transactionId Transaction ID for staging the operation.
1924
2142
  * @property {boolean} overrideForCli
1925
2143
  * @property {boolean} parseOutput
1926
2144
  * @property {libClient | undefined} sdk
@@ -1929,7 +2147,7 @@ const databasesCreateDocuments = async ({databaseId,collectionId,documents,parse
1929
2147
  /**
1930
2148
  * @param {DatabasesUpsertDocumentsRequestParams} params
1931
2149
  */
1932
- const databasesUpsertDocuments = async ({databaseId,collectionId,documents,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2150
+ const databasesUpsertDocuments = async ({databaseId,collectionId,documents,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
1933
2151
  let client = !sdk ? await sdkForProject() :
1934
2152
  sdk;
1935
2153
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -1938,6 +2156,9 @@ const databasesUpsertDocuments = async ({databaseId,collectionId,documents,parse
1938
2156
  if (typeof documents !== 'undefined') {
1939
2157
  payload['documents'] = documents;
1940
2158
  }
2159
+ if (typeof transactionId !== 'undefined') {
2160
+ payload['transactionId'] = transactionId;
2161
+ }
1941
2162
 
1942
2163
  let response = undefined;
1943
2164
 
@@ -1958,6 +2179,7 @@ const databasesUpsertDocuments = async ({databaseId,collectionId,documents,parse
1958
2179
  * @property {string} collectionId Collection ID.
1959
2180
  * @property {object} data Document data as JSON object. Include only attribute and value pairs to be updated.
1960
2181
  * @property {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.
2182
+ * @property {string} transactionId Transaction ID for staging the operation.
1961
2183
  * @property {boolean} overrideForCli
1962
2184
  * @property {boolean} parseOutput
1963
2185
  * @property {libClient | undefined} sdk
@@ -1966,7 +2188,7 @@ const databasesUpsertDocuments = async ({databaseId,collectionId,documents,parse
1966
2188
  /**
1967
2189
  * @param {DatabasesUpdateDocumentsRequestParams} params
1968
2190
  */
1969
- const databasesUpdateDocuments = async ({databaseId,collectionId,data,queries,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2191
+ const databasesUpdateDocuments = async ({databaseId,collectionId,data,queries,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
1970
2192
  let client = !sdk ? await sdkForProject() :
1971
2193
  sdk;
1972
2194
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -1978,6 +2200,9 @@ const databasesUpdateDocuments = async ({databaseId,collectionId,data,queries,pa
1978
2200
  if (typeof queries !== 'undefined') {
1979
2201
  payload['queries'] = queries;
1980
2202
  }
2203
+ if (typeof transactionId !== 'undefined') {
2204
+ payload['transactionId'] = transactionId;
2205
+ }
1981
2206
 
1982
2207
  let response = undefined;
1983
2208
 
@@ -1997,6 +2222,7 @@ const databasesUpdateDocuments = async ({databaseId,collectionId,data,queries,pa
1997
2222
  * @property {string} databaseId Database ID.
1998
2223
  * @property {string} collectionId Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1999
2224
  * @property {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.
2225
+ * @property {string} transactionId Transaction ID for staging the operation.
2000
2226
  * @property {boolean} overrideForCli
2001
2227
  * @property {boolean} parseOutput
2002
2228
  * @property {libClient | undefined} sdk
@@ -2005,7 +2231,7 @@ const databasesUpdateDocuments = async ({databaseId,collectionId,data,queries,pa
2005
2231
  /**
2006
2232
  * @param {DatabasesDeleteDocumentsRequestParams} params
2007
2233
  */
2008
- const databasesDeleteDocuments = async ({databaseId,collectionId,queries,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2234
+ const databasesDeleteDocuments = async ({databaseId,collectionId,queries,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2009
2235
  let client = !sdk ? await sdkForProject() :
2010
2236
  sdk;
2011
2237
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
@@ -2014,6 +2240,9 @@ const databasesDeleteDocuments = async ({databaseId,collectionId,queries,parseOu
2014
2240
  if (typeof queries !== 'undefined') {
2015
2241
  payload['queries'] = queries;
2016
2242
  }
2243
+ if (typeof transactionId !== 'undefined') {
2244
+ payload['transactionId'] = transactionId;
2245
+ }
2017
2246
 
2018
2247
  let response = undefined;
2019
2248
 
@@ -2034,6 +2263,7 @@ const databasesDeleteDocuments = async ({databaseId,collectionId,queries,parseOu
2034
2263
  * @property {string} collectionId Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
2035
2264
  * @property {string} documentId Document ID.
2036
2265
  * @property {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.
2266
+ * @property {string} transactionId Transaction ID to read uncommitted changes within the transaction.
2037
2267
  * @property {boolean} overrideForCli
2038
2268
  * @property {boolean} parseOutput
2039
2269
  * @property {libClient | undefined} sdk
@@ -2042,7 +2272,7 @@ const databasesDeleteDocuments = async ({databaseId,collectionId,queries,parseOu
2042
2272
  /**
2043
2273
  * @param {DatabasesGetDocumentRequestParams} params
2044
2274
  */
2045
- const databasesGetDocument = async ({databaseId,collectionId,documentId,queries,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
2275
+ const databasesGetDocument = async ({databaseId,collectionId,documentId,queries,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
2046
2276
  let client = !sdk ? await sdkForProject() :
2047
2277
  sdk;
2048
2278
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
@@ -2050,6 +2280,9 @@ const databasesGetDocument = async ({databaseId,collectionId,documentId,queries,
2050
2280
  if (typeof queries !== 'undefined') {
2051
2281
  payload['queries'] = queries;
2052
2282
  }
2283
+ if (typeof transactionId !== 'undefined') {
2284
+ payload['transactionId'] = transactionId;
2285
+ }
2053
2286
 
2054
2287
  let response = undefined;
2055
2288
 
@@ -2074,6 +2307,7 @@ const databasesGetDocument = async ({databaseId,collectionId,documentId,queries,
2074
2307
  * @property {string} documentId Document ID.
2075
2308
  * @property {object} data Document data as JSON object. Include all required attributes of the document to be created or updated.
2076
2309
  * @property {string[]} permissions An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
2310
+ * @property {string} transactionId Transaction ID for staging the operation.
2077
2311
  * @property {boolean} overrideForCli
2078
2312
  * @property {boolean} parseOutput
2079
2313
  * @property {libClient | undefined} sdk
@@ -2082,7 +2316,7 @@ const databasesGetDocument = async ({databaseId,collectionId,documentId,queries,
2082
2316
  /**
2083
2317
  * @param {DatabasesUpsertDocumentRequestParams} params
2084
2318
  */
2085
- const databasesUpsertDocument = async ({databaseId,collectionId,documentId,data,permissions,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2319
+ const databasesUpsertDocument = async ({databaseId,collectionId,documentId,data,permissions,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2086
2320
  let client = !sdk ? await sdkForProject() :
2087
2321
  sdk;
2088
2322
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
@@ -2094,6 +2328,9 @@ const databasesUpsertDocument = async ({databaseId,collectionId,documentId,data,
2094
2328
  if (typeof permissions !== 'undefined') {
2095
2329
  payload['permissions'] = permissions;
2096
2330
  }
2331
+ if (typeof transactionId !== 'undefined') {
2332
+ payload['transactionId'] = transactionId;
2333
+ }
2097
2334
 
2098
2335
  let response = undefined;
2099
2336
 
@@ -2115,6 +2352,7 @@ const databasesUpsertDocument = async ({databaseId,collectionId,documentId,data,
2115
2352
  * @property {string} documentId Document ID.
2116
2353
  * @property {object} data Document data as JSON object. Include only attribute and value pairs to be updated.
2117
2354
  * @property {string[]} permissions An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
2355
+ * @property {string} transactionId Transaction ID for staging the operation.
2118
2356
  * @property {boolean} overrideForCli
2119
2357
  * @property {boolean} parseOutput
2120
2358
  * @property {libClient | undefined} sdk
@@ -2123,7 +2361,7 @@ const databasesUpsertDocument = async ({databaseId,collectionId,documentId,data,
2123
2361
  /**
2124
2362
  * @param {DatabasesUpdateDocumentRequestParams} params
2125
2363
  */
2126
- const databasesUpdateDocument = async ({databaseId,collectionId,documentId,data,permissions,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2364
+ const databasesUpdateDocument = async ({databaseId,collectionId,documentId,data,permissions,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2127
2365
  let client = !sdk ? await sdkForProject() :
2128
2366
  sdk;
2129
2367
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
@@ -2135,6 +2373,9 @@ const databasesUpdateDocument = async ({databaseId,collectionId,documentId,data,
2135
2373
  if (typeof permissions !== 'undefined') {
2136
2374
  payload['permissions'] = permissions;
2137
2375
  }
2376
+ if (typeof transactionId !== 'undefined') {
2377
+ payload['transactionId'] = transactionId;
2378
+ }
2138
2379
 
2139
2380
  let response = undefined;
2140
2381
 
@@ -2154,6 +2395,7 @@ const databasesUpdateDocument = async ({databaseId,collectionId,documentId,data,
2154
2395
  * @property {string} databaseId Database ID.
2155
2396
  * @property {string} collectionId Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
2156
2397
  * @property {string} documentId Document ID.
2398
+ * @property {string} transactionId Transaction ID for staging the operation.
2157
2399
  * @property {boolean} overrideForCli
2158
2400
  * @property {boolean} parseOutput
2159
2401
  * @property {libClient | undefined} sdk
@@ -2162,11 +2404,14 @@ const databasesUpdateDocument = async ({databaseId,collectionId,documentId,data,
2162
2404
  /**
2163
2405
  * @param {DatabasesDeleteDocumentRequestParams} params
2164
2406
  */
2165
- const databasesDeleteDocument = async ({databaseId,collectionId,documentId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2407
+ const databasesDeleteDocument = async ({databaseId,collectionId,documentId,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2166
2408
  let client = !sdk ? await sdkForProject() :
2167
2409
  sdk;
2168
2410
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
2169
2411
  let payload = {};
2412
+ if (typeof transactionId !== 'undefined') {
2413
+ payload['transactionId'] = transactionId;
2414
+ }
2170
2415
 
2171
2416
  let response = undefined;
2172
2417
 
@@ -2224,6 +2469,7 @@ const databasesListDocumentLogs = async ({databaseId,collectionId,documentId,que
2224
2469
  * @property {string} attribute Attribute key.
2225
2470
  * @property {number} value Value to increment the attribute by. The value must be a number.
2226
2471
  * @property {number} min Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.
2472
+ * @property {string} transactionId Transaction ID for staging the operation.
2227
2473
  * @property {boolean} overrideForCli
2228
2474
  * @property {boolean} parseOutput
2229
2475
  * @property {libClient | undefined} sdk
@@ -2232,7 +2478,7 @@ const databasesListDocumentLogs = async ({databaseId,collectionId,documentId,que
2232
2478
  /**
2233
2479
  * @param {DatabasesDecrementDocumentAttributeRequestParams} params
2234
2480
  */
2235
- const databasesDecrementDocumentAttribute = async ({databaseId,collectionId,documentId,attribute,value,min,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2481
+ const databasesDecrementDocumentAttribute = async ({databaseId,collectionId,documentId,attribute,value,min,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2236
2482
  let client = !sdk ? await sdkForProject() :
2237
2483
  sdk;
2238
2484
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);
@@ -2243,6 +2489,9 @@ const databasesDecrementDocumentAttribute = async ({databaseId,collectionId,docu
2243
2489
  if (typeof min !== 'undefined') {
2244
2490
  payload['min'] = min;
2245
2491
  }
2492
+ if (typeof transactionId !== 'undefined') {
2493
+ payload['transactionId'] = transactionId;
2494
+ }
2246
2495
 
2247
2496
  let response = undefined;
2248
2497
 
@@ -2265,6 +2514,7 @@ const databasesDecrementDocumentAttribute = async ({databaseId,collectionId,docu
2265
2514
  * @property {string} attribute Attribute key.
2266
2515
  * @property {number} value Value to increment the attribute by. The value must be a number.
2267
2516
  * @property {number} max Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.
2517
+ * @property {string} transactionId Transaction ID for staging the operation.
2268
2518
  * @property {boolean} overrideForCli
2269
2519
  * @property {boolean} parseOutput
2270
2520
  * @property {libClient | undefined} sdk
@@ -2273,7 +2523,7 @@ const databasesDecrementDocumentAttribute = async ({databaseId,collectionId,docu
2273
2523
  /**
2274
2524
  * @param {DatabasesIncrementDocumentAttributeRequestParams} params
2275
2525
  */
2276
- const databasesIncrementDocumentAttribute = async ({databaseId,collectionId,documentId,attribute,value,max,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2526
+ const databasesIncrementDocumentAttribute = async ({databaseId,collectionId,documentId,attribute,value,max,transactionId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
2277
2527
  let client = !sdk ? await sdkForProject() :
2278
2528
  sdk;
2279
2529
  let apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);
@@ -2284,6 +2534,9 @@ const databasesIncrementDocumentAttribute = async ({databaseId,collectionId,docu
2284
2534
  if (typeof max !== 'undefined') {
2285
2535
  payload['max'] = max;
2286
2536
  }
2537
+ if (typeof transactionId !== 'undefined') {
2538
+ payload['transactionId'] = transactionId;
2539
+ }
2287
2540
 
2288
2541
  let response = undefined;
2289
2542
 
@@ -2603,6 +2856,47 @@ databases
2603
2856
  .option(`--enabled [value]`, `Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.`, (value) => value === undefined ? true : parseBool(value))
2604
2857
  .action(actionRunner(databasesCreate))
2605
2858
 
2859
+ databases
2860
+ .command(`list-transactions`)
2861
+ .description(`List transactions across all databases.`)
2862
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).`)
2863
+ .option(`--console`, `Get the resource console url`)
2864
+ .action(actionRunner(databasesListTransactions))
2865
+
2866
+ databases
2867
+ .command(`create-transaction`)
2868
+ .description(`Create a new transaction.`)
2869
+ .option(`--ttl <ttl>`, `Seconds before the transaction expires.`, parseInteger)
2870
+ .action(actionRunner(databasesCreateTransaction))
2871
+
2872
+ databases
2873
+ .command(`get-transaction`)
2874
+ .description(`Get a transaction by its unique ID.`)
2875
+ .requiredOption(`--transaction-id <transaction-id>`, `Transaction ID.`)
2876
+ .option(`--console`, `Get the resource console url`)
2877
+ .action(actionRunner(databasesGetTransaction))
2878
+
2879
+ databases
2880
+ .command(`update-transaction`)
2881
+ .description(`Update a transaction, to either commit or roll back its operations.`)
2882
+ .requiredOption(`--transaction-id <transaction-id>`, `Transaction ID.`)
2883
+ .option(`--commit [value]`, `Commit transaction?`, (value) => value === undefined ? true : parseBool(value))
2884
+ .option(`--rollback [value]`, `Rollback transaction?`, (value) => value === undefined ? true : parseBool(value))
2885
+ .action(actionRunner(databasesUpdateTransaction))
2886
+
2887
+ databases
2888
+ .command(`delete-transaction`)
2889
+ .description(`Delete a transaction by its unique ID.`)
2890
+ .requiredOption(`--transaction-id <transaction-id>`, `Transaction ID.`)
2891
+ .action(actionRunner(databasesDeleteTransaction))
2892
+
2893
+ databases
2894
+ .command(`create-operations`)
2895
+ .description(`Create multiple operations in a single transaction.`)
2896
+ .requiredOption(`--transaction-id <transaction-id>`, `Transaction ID.`)
2897
+ .option(`--operations [operations...]`, `Array of staged operations.`)
2898
+ .action(actionRunner(databasesCreateOperations))
2899
+
2606
2900
  databases
2607
2901
  .command(`list-usage`)
2608
2902
  .description(`[**DEPRECATED** - This command is deprecated. Please use 'tables-db list-usage' instead] List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.`)
@@ -3005,6 +3299,7 @@ databases
3005
3299
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3006
3300
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).`)
3007
3301
  .option(`--queries [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.`)
3302
+ .option(`--transaction-id <transaction-id>`, `Transaction ID to read uncommitted changes within the transaction.`)
3008
3303
  .option(`--console`, `Get the resource console url`)
3009
3304
  .action(actionRunner(databasesListDocuments))
3010
3305
 
@@ -3016,6 +3311,7 @@ databases
3016
3311
  .requiredOption(`--document-id <document-id>`, `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.`)
3017
3312
  .requiredOption(`--data <data>`, `Document data as JSON object.`)
3018
3313
  .option(`--permissions [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).`)
3314
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3019
3315
  .action(actionRunner(databasesCreateDocument))
3020
3316
 
3021
3317
  databases
@@ -3024,6 +3320,7 @@ databases
3024
3320
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3025
3321
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). Make sure to define attributes before creating documents.`)
3026
3322
  .requiredOption(`--documents [documents...]`, `Array of documents data as JSON objects.`)
3323
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3027
3324
  .action(actionRunner(databasesCreateDocuments))
3028
3325
 
3029
3326
  databases
@@ -3032,6 +3329,7 @@ databases
3032
3329
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3033
3330
  .requiredOption(`--collection-id <collection-id>`, `Collection ID.`)
3034
3331
  .requiredOption(`--documents [documents...]`, `Array of document data as JSON objects. May contain partial documents.`)
3332
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3035
3333
  .action(actionRunner(databasesUpsertDocuments))
3036
3334
 
3037
3335
  databases
@@ -3041,6 +3339,7 @@ databases
3041
3339
  .requiredOption(`--collection-id <collection-id>`, `Collection ID.`)
3042
3340
  .option(`--data <data>`, `Document data as JSON object. Include only attribute and value pairs to be updated.`)
3043
3341
  .option(`--queries [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.`)
3342
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3044
3343
  .action(actionRunner(databasesUpdateDocuments))
3045
3344
 
3046
3345
  databases
@@ -3049,6 +3348,7 @@ databases
3049
3348
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3050
3349
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).`)
3051
3350
  .option(`--queries [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.`)
3351
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3052
3352
  .action(actionRunner(databasesDeleteDocuments))
3053
3353
 
3054
3354
  databases
@@ -3058,6 +3358,7 @@ databases
3058
3358
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).`)
3059
3359
  .requiredOption(`--document-id <document-id>`, `Document ID.`)
3060
3360
  .option(`--queries [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.`)
3361
+ .option(`--transaction-id <transaction-id>`, `Transaction ID to read uncommitted changes within the transaction.`)
3061
3362
  .option(`--console`, `Get the resource console url`)
3062
3363
  .action(actionRunner(databasesGetDocument))
3063
3364
 
@@ -3069,6 +3370,7 @@ databases
3069
3370
  .requiredOption(`--document-id <document-id>`, `Document ID.`)
3070
3371
  .requiredOption(`--data <data>`, `Document data as JSON object. Include all required attributes of the document to be created or updated.`)
3071
3372
  .option(`--permissions [permissions...]`, `An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).`)
3373
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3072
3374
  .action(actionRunner(databasesUpsertDocument))
3073
3375
 
3074
3376
  databases
@@ -3079,6 +3381,7 @@ databases
3079
3381
  .requiredOption(`--document-id <document-id>`, `Document ID.`)
3080
3382
  .option(`--data <data>`, `Document data as JSON object. Include only attribute and value pairs to be updated.`)
3081
3383
  .option(`--permissions [permissions...]`, `An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).`)
3384
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3082
3385
  .action(actionRunner(databasesUpdateDocument))
3083
3386
 
3084
3387
  databases
@@ -3087,6 +3390,7 @@ databases
3087
3390
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3088
3391
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).`)
3089
3392
  .requiredOption(`--document-id <document-id>`, `Document ID.`)
3393
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3090
3394
  .action(actionRunner(databasesDeleteDocument))
3091
3395
 
3092
3396
  databases
@@ -3107,6 +3411,7 @@ databases
3107
3411
  .requiredOption(`--attribute <attribute>`, `Attribute key.`)
3108
3412
  .option(`--value <value>`, `Value to increment the attribute by. The value must be a number.`, parseInteger)
3109
3413
  .option(`--min <min>`, `Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.`, parseInteger)
3414
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3110
3415
  .action(actionRunner(databasesDecrementDocumentAttribute))
3111
3416
 
3112
3417
  databases
@@ -3118,6 +3423,7 @@ databases
3118
3423
  .requiredOption(`--attribute <attribute>`, `Attribute key.`)
3119
3424
  .option(`--value <value>`, `Value to increment the attribute by. The value must be a number.`, parseInteger)
3120
3425
  .option(`--max <max>`, `Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.`, parseInteger)
3426
+ .option(`--transaction-id <transaction-id>`, `Transaction ID for staging the operation.`)
3121
3427
  .action(actionRunner(databasesIncrementDocumentAttribute))
3122
3428
 
3123
3429
  databases
@@ -3143,7 +3449,7 @@ databases
3143
3449
 
3144
3450
  databases
3145
3451
  .command(`get-index`)
3146
- .description(`[**DEPRECATED** - This command is deprecated. Please use 'tables-db get-index' instead] Get index by ID.`)
3452
+ .description(`[**DEPRECATED** - This command is deprecated. Please use 'tables-db get-index' instead] Get an index by its unique ID.`)
3147
3453
  .requiredOption(`--database-id <database-id>`, `Database ID.`)
3148
3454
  .requiredOption(`--collection-id <collection-id>`, `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).`)
3149
3455
  .requiredOption(`--key <key>`, `Index Key.`)
@@ -3191,6 +3497,12 @@ module.exports = {
3191
3497
  databases,
3192
3498
  databasesList,
3193
3499
  databasesCreate,
3500
+ databasesListTransactions,
3501
+ databasesCreateTransaction,
3502
+ databasesGetTransaction,
3503
+ databasesUpdateTransaction,
3504
+ databasesDeleteTransaction,
3505
+ databasesCreateOperations,
3194
3506
  databasesListUsage,
3195
3507
  databasesGet,
3196
3508
  databasesUpdate,