react-native-appwrite 0.16.0 → 0.17.1
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.
- package/CHANGELOG.md +4 -0
- package/dist/cjs/sdk.js +371 -17
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/esm/sdk.js +371 -17
- package/dist/esm/sdk.js.map +1 -1
- package/docs/examples/databases/create-document.md +2 -1
- package/docs/examples/databases/create-operations.md +24 -0
- package/docs/examples/databases/create-transaction.md +13 -0
- package/docs/examples/databases/decrement-document-attribute.md +2 -1
- package/docs/examples/databases/delete-document.md +2 -1
- package/docs/examples/databases/delete-transaction.md +13 -0
- package/docs/examples/databases/get-document.md +2 -1
- package/docs/examples/databases/get-transaction.md +13 -0
- package/docs/examples/databases/increment-document-attribute.md +2 -1
- package/docs/examples/databases/list-documents.md +2 -1
- package/docs/examples/databases/list-transactions.md +13 -0
- package/docs/examples/databases/update-document.md +2 -1
- package/docs/examples/databases/update-transaction.md +15 -0
- package/docs/examples/databases/upsert-document.md +2 -1
- package/docs/examples/tablesdb/create-operations.md +24 -0
- package/docs/examples/tablesdb/create-row.md +2 -1
- package/docs/examples/tablesdb/create-transaction.md +13 -0
- package/docs/examples/tablesdb/decrement-row-column.md +2 -1
- package/docs/examples/tablesdb/delete-row.md +2 -1
- package/docs/examples/tablesdb/delete-transaction.md +13 -0
- package/docs/examples/tablesdb/get-row.md +2 -1
- package/docs/examples/tablesdb/get-transaction.md +13 -0
- package/docs/examples/tablesdb/increment-row-column.md +2 -1
- package/docs/examples/tablesdb/list-rows.md +2 -1
- package/docs/examples/tablesdb/list-transactions.md +13 -0
- package/docs/examples/tablesdb/update-row.md +2 -1
- package/docs/examples/tablesdb/update-transaction.md +15 -0
- package/docs/examples/tablesdb/upsert-row.md +2 -1
- package/package.json +1 -1
- package/src/client.ts +1 -1
- package/src/models.ts +44 -0
- package/src/services/databases.ts +414 -56
- package/src/services/tables-db.ts +414 -56
- package/types/models.d.ts +42 -0
- package/types/services/databases.d.ts +155 -8
- package/types/services/tables-db.d.ts +155 -8
|
@@ -13,47 +13,345 @@ 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.
|
|
22
317
|
* @throws {AppwriteException}
|
|
23
318
|
* @returns {Promise}
|
|
24
319
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.listRows` instead.
|
|
25
320
|
*/
|
|
26
|
-
listDocuments<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, queries?: string[] }): Promise<Models.DocumentList<Document>>;
|
|
321
|
+
listDocuments<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string }): Promise<Models.DocumentList<Document>>;
|
|
27
322
|
/**
|
|
28
323
|
* Get a list of all the user's documents in a given collection. You can use the query params to filter your results.
|
|
29
324
|
*
|
|
30
325
|
* @param {string} databaseId - Database ID.
|
|
31
326
|
* @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
327
|
* @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.
|
|
328
|
+
* @param {string} transactionId - Transaction ID to read uncommitted changes within the transaction.
|
|
33
329
|
* @throws {AppwriteException}
|
|
34
330
|
* @returns {Promise<Models.DocumentList<Document>>}
|
|
35
331
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
36
332
|
*/
|
|
37
|
-
listDocuments<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, queries?: string[]): Promise<Models.DocumentList<Document>>;
|
|
333
|
+
listDocuments<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, queries?: string[], transactionId?: string): Promise<Models.DocumentList<Document>>;
|
|
38
334
|
listDocuments<Document extends Models.Document = Models.DefaultDocument>(
|
|
39
|
-
paramsOrFirst: { databaseId: string, collectionId: string, queries?: string[] } | string,
|
|
40
|
-
...rest: [(string)?, (string[])?]
|
|
335
|
+
paramsOrFirst: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string } | string,
|
|
336
|
+
...rest: [(string)?, (string[])?, (string)?]
|
|
41
337
|
): Promise<Models.DocumentList<Document>> {
|
|
42
|
-
let params: { databaseId: string, collectionId: string, queries?: string[] };
|
|
338
|
+
let params: { databaseId: string, collectionId: string, queries?: string[], transactionId?: string };
|
|
43
339
|
|
|
44
340
|
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
|
|
45
|
-
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, queries?: string[] };
|
|
341
|
+
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, queries?: string[], transactionId?: string };
|
|
46
342
|
} else {
|
|
47
343
|
params = {
|
|
48
344
|
databaseId: paramsOrFirst as string,
|
|
49
345
|
collectionId: rest[0] as string,
|
|
50
|
-
queries: rest[1] as string[]
|
|
346
|
+
queries: rest[1] as string[],
|
|
347
|
+
transactionId: rest[2] as string
|
|
51
348
|
};
|
|
52
349
|
}
|
|
53
350
|
|
|
54
351
|
const databaseId = params.databaseId;
|
|
55
352
|
const collectionId = params.collectionId;
|
|
56
353
|
const queries = params.queries;
|
|
354
|
+
const transactionId = params.transactionId;
|
|
57
355
|
|
|
58
356
|
if (typeof databaseId === 'undefined') {
|
|
59
357
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -70,6 +368,10 @@ export class Databases extends Service {
|
|
|
70
368
|
payload['queries'] = queries;
|
|
71
369
|
}
|
|
72
370
|
|
|
371
|
+
if (typeof transactionId !== 'undefined') {
|
|
372
|
+
payload['transactionId'] = transactionId;
|
|
373
|
+
}
|
|
374
|
+
|
|
73
375
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
74
376
|
return this.client.call('get', uri, {
|
|
75
377
|
}, payload);
|
|
@@ -83,11 +385,12 @@ export class Databases extends Service {
|
|
|
83
385
|
* @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
386
|
* @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
387
|
* @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).
|
|
388
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
86
389
|
* @throws {AppwriteException}
|
|
87
390
|
* @returns {Promise}
|
|
88
391
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.createRow` instead.
|
|
89
392
|
*/
|
|
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>;
|
|
393
|
+
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
394
|
/**
|
|
92
395
|
* 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
396
|
*
|
|
@@ -96,26 +399,28 @@ export class Databases extends Service {
|
|
|
96
399
|
* @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
400
|
* @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
401
|
* @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).
|
|
402
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
99
403
|
* @throws {AppwriteException}
|
|
100
404
|
* @returns {Promise<Document>}
|
|
101
405
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
102
406
|
*/
|
|
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>;
|
|
407
|
+
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
408
|
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[])?]
|
|
409
|
+
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,
|
|
410
|
+
...rest: [(string)?, (string)?, (Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>)?, (string[])?, (string)?]
|
|
107
411
|
): 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[] };
|
|
412
|
+
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
413
|
|
|
110
414
|
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[] };
|
|
415
|
+
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
416
|
} else {
|
|
113
417
|
params = {
|
|
114
418
|
databaseId: paramsOrFirst as string,
|
|
115
419
|
collectionId: rest[0] as string,
|
|
116
420
|
documentId: rest[1] as string,
|
|
117
421
|
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[]
|
|
422
|
+
permissions: rest[3] as string[],
|
|
423
|
+
transactionId: rest[4] as string
|
|
119
424
|
};
|
|
120
425
|
}
|
|
121
426
|
|
|
@@ -124,6 +429,7 @@ export class Databases extends Service {
|
|
|
124
429
|
const documentId = params.documentId;
|
|
125
430
|
const data = params.data;
|
|
126
431
|
const permissions = params.permissions;
|
|
432
|
+
const transactionId = params.transactionId;
|
|
127
433
|
|
|
128
434
|
if (typeof databaseId === 'undefined') {
|
|
129
435
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -156,6 +462,10 @@ export class Databases extends Service {
|
|
|
156
462
|
payload['permissions'] = permissions;
|
|
157
463
|
}
|
|
158
464
|
|
|
465
|
+
if (typeof transactionId !== 'undefined') {
|
|
466
|
+
payload['transactionId'] = transactionId;
|
|
467
|
+
}
|
|
468
|
+
|
|
159
469
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
160
470
|
return this.client.call('post', uri, {
|
|
161
471
|
'content-type': 'application/json',
|
|
@@ -169,11 +479,12 @@ export class Databases extends Service {
|
|
|
169
479
|
* @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
480
|
* @param {string} params.documentId - Document ID.
|
|
171
481
|
* @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.
|
|
482
|
+
* @param {string} params.transactionId - Transaction ID to read uncommitted changes within the transaction.
|
|
172
483
|
* @throws {AppwriteException}
|
|
173
484
|
* @returns {Promise}
|
|
174
485
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.getRow` instead.
|
|
175
486
|
*/
|
|
176
|
-
getDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, queries?: string[] }): Promise<Document>;
|
|
487
|
+
getDocument<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string }): Promise<Document>;
|
|
177
488
|
/**
|
|
178
489
|
* Get a document by its unique ID. This endpoint response returns a JSON object with the document data.
|
|
179
490
|
*
|
|
@@ -181,25 +492,27 @@ export class Databases extends Service {
|
|
|
181
492
|
* @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
493
|
* @param {string} documentId - Document ID.
|
|
183
494
|
* @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.
|
|
495
|
+
* @param {string} transactionId - Transaction ID to read uncommitted changes within the transaction.
|
|
184
496
|
* @throws {AppwriteException}
|
|
185
497
|
* @returns {Promise<Document>}
|
|
186
498
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
187
499
|
*/
|
|
188
|
-
getDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, queries?: string[]): Promise<Document>;
|
|
500
|
+
getDocument<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string): Promise<Document>;
|
|
189
501
|
getDocument<Document extends Models.Document = Models.DefaultDocument>(
|
|
190
|
-
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, queries?: string[] } | string,
|
|
191
|
-
...rest: [(string)?, (string)?, (string[])?]
|
|
502
|
+
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string } | string,
|
|
503
|
+
...rest: [(string)?, (string)?, (string[])?, (string)?]
|
|
192
504
|
): Promise<Document> {
|
|
193
|
-
let params: { databaseId: string, collectionId: string, documentId: string, queries?: string[] };
|
|
505
|
+
let params: { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string };
|
|
194
506
|
|
|
195
507
|
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
|
|
196
|
-
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, queries?: string[] };
|
|
508
|
+
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, queries?: string[], transactionId?: string };
|
|
197
509
|
} else {
|
|
198
510
|
params = {
|
|
199
511
|
databaseId: paramsOrFirst as string,
|
|
200
512
|
collectionId: rest[0] as string,
|
|
201
513
|
documentId: rest[1] as string,
|
|
202
|
-
queries: rest[2] as string[]
|
|
514
|
+
queries: rest[2] as string[],
|
|
515
|
+
transactionId: rest[3] as string
|
|
203
516
|
};
|
|
204
517
|
}
|
|
205
518
|
|
|
@@ -207,6 +520,7 @@ export class Databases extends Service {
|
|
|
207
520
|
const collectionId = params.collectionId;
|
|
208
521
|
const documentId = params.documentId;
|
|
209
522
|
const queries = params.queries;
|
|
523
|
+
const transactionId = params.transactionId;
|
|
210
524
|
|
|
211
525
|
if (typeof databaseId === 'undefined') {
|
|
212
526
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -227,6 +541,10 @@ export class Databases extends Service {
|
|
|
227
541
|
payload['queries'] = queries;
|
|
228
542
|
}
|
|
229
543
|
|
|
544
|
+
if (typeof transactionId !== 'undefined') {
|
|
545
|
+
payload['transactionId'] = transactionId;
|
|
546
|
+
}
|
|
547
|
+
|
|
230
548
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
231
549
|
return this.client.call('get', uri, {
|
|
232
550
|
}, payload);
|
|
@@ -240,11 +558,12 @@ export class Databases extends Service {
|
|
|
240
558
|
* @param {string} params.documentId - Document ID.
|
|
241
559
|
* @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
560
|
* @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).
|
|
561
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
243
562
|
* @throws {AppwriteException}
|
|
244
563
|
* @returns {Promise}
|
|
245
564
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.upsertRow` instead.
|
|
246
565
|
*/
|
|
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>;
|
|
566
|
+
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
567
|
/**
|
|
249
568
|
* 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
569
|
*
|
|
@@ -253,26 +572,28 @@ export class Databases extends Service {
|
|
|
253
572
|
* @param {string} documentId - Document ID.
|
|
254
573
|
* @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
574
|
* @param {string[]} permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
|
575
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
256
576
|
* @throws {AppwriteException}
|
|
257
577
|
* @returns {Promise<Document>}
|
|
258
578
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
259
579
|
*/
|
|
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>;
|
|
580
|
+
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
581
|
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[])?]
|
|
582
|
+
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,
|
|
583
|
+
...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
584
|
): 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[] };
|
|
585
|
+
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
586
|
|
|
267
587
|
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[] };
|
|
588
|
+
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
589
|
} else {
|
|
270
590
|
params = {
|
|
271
591
|
databaseId: paramsOrFirst as string,
|
|
272
592
|
collectionId: rest[0] as string,
|
|
273
593
|
documentId: rest[1] as string,
|
|
274
594
|
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[]
|
|
595
|
+
permissions: rest[3] as string[],
|
|
596
|
+
transactionId: rest[4] as string
|
|
276
597
|
};
|
|
277
598
|
}
|
|
278
599
|
|
|
@@ -281,6 +602,7 @@ export class Databases extends Service {
|
|
|
281
602
|
const documentId = params.documentId;
|
|
282
603
|
const data = params.data;
|
|
283
604
|
const permissions = params.permissions;
|
|
605
|
+
const transactionId = params.transactionId;
|
|
284
606
|
|
|
285
607
|
if (typeof databaseId === 'undefined') {
|
|
286
608
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -309,6 +631,10 @@ export class Databases extends Service {
|
|
|
309
631
|
payload['permissions'] = permissions;
|
|
310
632
|
}
|
|
311
633
|
|
|
634
|
+
if (typeof transactionId !== 'undefined') {
|
|
635
|
+
payload['transactionId'] = transactionId;
|
|
636
|
+
}
|
|
637
|
+
|
|
312
638
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
313
639
|
return this.client.call('put', uri, {
|
|
314
640
|
'content-type': 'application/json',
|
|
@@ -323,11 +649,12 @@ export class Databases extends Service {
|
|
|
323
649
|
* @param {string} params.documentId - Document ID.
|
|
324
650
|
* @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
651
|
* @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).
|
|
652
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
326
653
|
* @throws {AppwriteException}
|
|
327
654
|
* @returns {Promise}
|
|
328
655
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.updateRow` instead.
|
|
329
656
|
*/
|
|
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>;
|
|
657
|
+
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
658
|
/**
|
|
332
659
|
* Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.
|
|
333
660
|
*
|
|
@@ -336,26 +663,28 @@ export class Databases extends Service {
|
|
|
336
663
|
* @param {string} documentId - Document ID.
|
|
337
664
|
* @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
665
|
* @param {string[]} permissions - An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
|
666
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
339
667
|
* @throws {AppwriteException}
|
|
340
668
|
* @returns {Promise<Document>}
|
|
341
669
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
342
670
|
*/
|
|
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>;
|
|
671
|
+
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
672
|
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[])?]
|
|
673
|
+
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,
|
|
674
|
+
...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
675
|
): 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[] };
|
|
676
|
+
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
677
|
|
|
350
678
|
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[] };
|
|
679
|
+
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
680
|
} else {
|
|
353
681
|
params = {
|
|
354
682
|
databaseId: paramsOrFirst as string,
|
|
355
683
|
collectionId: rest[0] as string,
|
|
356
684
|
documentId: rest[1] as string,
|
|
357
685
|
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[]
|
|
686
|
+
permissions: rest[3] as string[],
|
|
687
|
+
transactionId: rest[4] as string
|
|
359
688
|
};
|
|
360
689
|
}
|
|
361
690
|
|
|
@@ -364,6 +693,7 @@ export class Databases extends Service {
|
|
|
364
693
|
const documentId = params.documentId;
|
|
365
694
|
const data = params.data;
|
|
366
695
|
const permissions = params.permissions;
|
|
696
|
+
const transactionId = params.transactionId;
|
|
367
697
|
|
|
368
698
|
if (typeof databaseId === 'undefined') {
|
|
369
699
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -388,6 +718,10 @@ export class Databases extends Service {
|
|
|
388
718
|
payload['permissions'] = permissions;
|
|
389
719
|
}
|
|
390
720
|
|
|
721
|
+
if (typeof transactionId !== 'undefined') {
|
|
722
|
+
payload['transactionId'] = transactionId;
|
|
723
|
+
}
|
|
724
|
+
|
|
391
725
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
392
726
|
return this.client.call('patch', uri, {
|
|
393
727
|
'content-type': 'application/json',
|
|
@@ -400,41 +734,45 @@ export class Databases extends Service {
|
|
|
400
734
|
* @param {string} params.databaseId - Database ID.
|
|
401
735
|
* @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
736
|
* @param {string} params.documentId - Document ID.
|
|
737
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
403
738
|
* @throws {AppwriteException}
|
|
404
739
|
* @returns {Promise}
|
|
405
740
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.deleteRow` instead.
|
|
406
741
|
*/
|
|
407
|
-
deleteDocument(params: { databaseId: string, collectionId: string, documentId: string }): Promise<{}>;
|
|
742
|
+
deleteDocument(params: { databaseId: string, collectionId: string, documentId: string, transactionId?: string }): Promise<{}>;
|
|
408
743
|
/**
|
|
409
744
|
* Delete a document by its unique ID.
|
|
410
745
|
*
|
|
411
746
|
* @param {string} databaseId - Database ID.
|
|
412
747
|
* @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
748
|
* @param {string} documentId - Document ID.
|
|
749
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
414
750
|
* @throws {AppwriteException}
|
|
415
751
|
* @returns {Promise<{}>}
|
|
416
752
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
417
753
|
*/
|
|
418
|
-
deleteDocument(databaseId: string, collectionId: string, documentId: string): Promise<{}>;
|
|
754
|
+
deleteDocument(databaseId: string, collectionId: string, documentId: string, transactionId?: string): Promise<{}>;
|
|
419
755
|
deleteDocument(
|
|
420
|
-
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string } | string,
|
|
421
|
-
...rest: [(string)?, (string)?]
|
|
756
|
+
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, transactionId?: string } | string,
|
|
757
|
+
...rest: [(string)?, (string)?, (string)?]
|
|
422
758
|
): Promise<{}> {
|
|
423
|
-
let params: { databaseId: string, collectionId: string, documentId: string };
|
|
759
|
+
let params: { databaseId: string, collectionId: string, documentId: string, transactionId?: string };
|
|
424
760
|
|
|
425
761
|
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
|
|
426
|
-
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string };
|
|
762
|
+
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, transactionId?: string };
|
|
427
763
|
} else {
|
|
428
764
|
params = {
|
|
429
765
|
databaseId: paramsOrFirst as string,
|
|
430
766
|
collectionId: rest[0] as string,
|
|
431
|
-
documentId: rest[1] as string
|
|
767
|
+
documentId: rest[1] as string,
|
|
768
|
+
transactionId: rest[2] as string
|
|
432
769
|
};
|
|
433
770
|
}
|
|
434
771
|
|
|
435
772
|
const databaseId = params.databaseId;
|
|
436
773
|
const collectionId = params.collectionId;
|
|
437
774
|
const documentId = params.documentId;
|
|
775
|
+
const transactionId = params.transactionId;
|
|
438
776
|
|
|
439
777
|
if (typeof databaseId === 'undefined') {
|
|
440
778
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -451,6 +789,10 @@ export class Databases extends Service {
|
|
|
451
789
|
const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
|
|
452
790
|
const payload: Payload = {};
|
|
453
791
|
|
|
792
|
+
if (typeof transactionId !== 'undefined') {
|
|
793
|
+
payload['transactionId'] = transactionId;
|
|
794
|
+
}
|
|
795
|
+
|
|
454
796
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
455
797
|
return this.client.call('delete', uri, {
|
|
456
798
|
'content-type': 'application/json',
|
|
@@ -466,11 +808,12 @@ export class Databases extends Service {
|
|
|
466
808
|
* @param {string} params.attribute - Attribute key.
|
|
467
809
|
* @param {number} params.value - Value to increment the attribute by. The value must be a number.
|
|
468
810
|
* @param {number} params.min - Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.
|
|
811
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
469
812
|
* @throws {AppwriteException}
|
|
470
813
|
* @returns {Promise}
|
|
471
814
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.decrementRowColumn` instead.
|
|
472
815
|
*/
|
|
473
|
-
decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number }): Promise<Document>;
|
|
816
|
+
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
817
|
/**
|
|
475
818
|
* Decrement a specific attribute of a document by a given value.
|
|
476
819
|
*
|
|
@@ -480,19 +823,20 @@ export class Databases extends Service {
|
|
|
480
823
|
* @param {string} attribute - Attribute key.
|
|
481
824
|
* @param {number} value - Value to increment the attribute by. The value must be a number.
|
|
482
825
|
* @param {number} min - Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.
|
|
826
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
483
827
|
* @throws {AppwriteException}
|
|
484
828
|
* @returns {Promise<Document>}
|
|
485
829
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
486
830
|
*/
|
|
487
|
-
decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number): Promise<Document>;
|
|
831
|
+
decrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string): Promise<Document>;
|
|
488
832
|
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)?]
|
|
833
|
+
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string } | string,
|
|
834
|
+
...rest: [(string)?, (string)?, (string)?, (number)?, (number)?, (string)?]
|
|
491
835
|
): Promise<Document> {
|
|
492
|
-
let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number };
|
|
836
|
+
let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string };
|
|
493
837
|
|
|
494
838
|
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
|
|
495
|
-
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number };
|
|
839
|
+
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, min?: number, transactionId?: string };
|
|
496
840
|
} else {
|
|
497
841
|
params = {
|
|
498
842
|
databaseId: paramsOrFirst as string,
|
|
@@ -500,7 +844,8 @@ export class Databases extends Service {
|
|
|
500
844
|
documentId: rest[1] as string,
|
|
501
845
|
attribute: rest[2] as string,
|
|
502
846
|
value: rest[3] as number,
|
|
503
|
-
min: rest[4] as number
|
|
847
|
+
min: rest[4] as number,
|
|
848
|
+
transactionId: rest[5] as string
|
|
504
849
|
};
|
|
505
850
|
}
|
|
506
851
|
|
|
@@ -510,6 +855,7 @@ export class Databases extends Service {
|
|
|
510
855
|
const attribute = params.attribute;
|
|
511
856
|
const value = params.value;
|
|
512
857
|
const min = params.min;
|
|
858
|
+
const transactionId = params.transactionId;
|
|
513
859
|
|
|
514
860
|
if (typeof databaseId === 'undefined') {
|
|
515
861
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -538,6 +884,10 @@ export class Databases extends Service {
|
|
|
538
884
|
payload['min'] = min;
|
|
539
885
|
}
|
|
540
886
|
|
|
887
|
+
if (typeof transactionId !== 'undefined') {
|
|
888
|
+
payload['transactionId'] = transactionId;
|
|
889
|
+
}
|
|
890
|
+
|
|
541
891
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
542
892
|
return this.client.call('patch', uri, {
|
|
543
893
|
'content-type': 'application/json',
|
|
@@ -553,11 +903,12 @@ export class Databases extends Service {
|
|
|
553
903
|
* @param {string} params.attribute - Attribute key.
|
|
554
904
|
* @param {number} params.value - Value to increment the attribute by. The value must be a number.
|
|
555
905
|
* @param {number} params.max - Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.
|
|
906
|
+
* @param {string} params.transactionId - Transaction ID for staging the operation.
|
|
556
907
|
* @throws {AppwriteException}
|
|
557
908
|
* @returns {Promise}
|
|
558
909
|
* @deprecated This API has been deprecated since 1.8.0. Please use `TablesDB.incrementRowColumn` instead.
|
|
559
910
|
*/
|
|
560
|
-
incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number }): Promise<Document>;
|
|
911
|
+
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
912
|
/**
|
|
562
913
|
* Increment a specific attribute of a document by a given value.
|
|
563
914
|
*
|
|
@@ -567,19 +918,20 @@ export class Databases extends Service {
|
|
|
567
918
|
* @param {string} attribute - Attribute key.
|
|
568
919
|
* @param {number} value - Value to increment the attribute by. The value must be a number.
|
|
569
920
|
* @param {number} max - Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.
|
|
921
|
+
* @param {string} transactionId - Transaction ID for staging the operation.
|
|
570
922
|
* @throws {AppwriteException}
|
|
571
923
|
* @returns {Promise<Document>}
|
|
572
924
|
* @deprecated Use the object parameter style method for a better developer experience.
|
|
573
925
|
*/
|
|
574
|
-
incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number): Promise<Document>;
|
|
926
|
+
incrementDocumentAttribute<Document extends Models.Document = Models.DefaultDocument>(databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string): Promise<Document>;
|
|
575
927
|
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)?]
|
|
928
|
+
paramsOrFirst: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string } | string,
|
|
929
|
+
...rest: [(string)?, (string)?, (string)?, (number)?, (number)?, (string)?]
|
|
578
930
|
): Promise<Document> {
|
|
579
|
-
let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number };
|
|
931
|
+
let params: { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string };
|
|
580
932
|
|
|
581
933
|
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
|
|
582
|
-
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number };
|
|
934
|
+
params = (paramsOrFirst || {}) as { databaseId: string, collectionId: string, documentId: string, attribute: string, value?: number, max?: number, transactionId?: string };
|
|
583
935
|
} else {
|
|
584
936
|
params = {
|
|
585
937
|
databaseId: paramsOrFirst as string,
|
|
@@ -587,7 +939,8 @@ export class Databases extends Service {
|
|
|
587
939
|
documentId: rest[1] as string,
|
|
588
940
|
attribute: rest[2] as string,
|
|
589
941
|
value: rest[3] as number,
|
|
590
|
-
max: rest[4] as number
|
|
942
|
+
max: rest[4] as number,
|
|
943
|
+
transactionId: rest[5] as string
|
|
591
944
|
};
|
|
592
945
|
}
|
|
593
946
|
|
|
@@ -597,6 +950,7 @@ export class Databases extends Service {
|
|
|
597
950
|
const attribute = params.attribute;
|
|
598
951
|
const value = params.value;
|
|
599
952
|
const max = params.max;
|
|
953
|
+
const transactionId = params.transactionId;
|
|
600
954
|
|
|
601
955
|
if (typeof databaseId === 'undefined') {
|
|
602
956
|
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
@@ -625,6 +979,10 @@ export class Databases extends Service {
|
|
|
625
979
|
payload['max'] = max;
|
|
626
980
|
}
|
|
627
981
|
|
|
982
|
+
if (typeof transactionId !== 'undefined') {
|
|
983
|
+
payload['transactionId'] = transactionId;
|
|
984
|
+
}
|
|
985
|
+
|
|
628
986
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
629
987
|
return this.client.call('patch', uri, {
|
|
630
988
|
'content-type': 'application/json',
|