From 3eceb4fde71e4e76459bbef3c4cf7820fda62057 Mon Sep 17 00:00:00 2001 From: Kenson Date: Sat, 15 Feb 2020 12:44:52 +0800 Subject: [PATCH] add an option --- package-lock.json | 20 ++++++++++---------- src/ParseObject.js | 6 ++++++ src/RESTController.js | 7 +++++++ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e4a460a0..ea372b435 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10594,33 +10594,33 @@ "@parse/push-adapter": "3.2.0", "@parse/s3-files-adapter": "1.4.0", "@parse/simple-mailgun-adapter": "1.1.0", - "apollo-server-express": "2.9.16", - "bcrypt": "3.0.7", + "apollo-server-express": "2.10.1", + "bcrypt": "3.0.8", "bcryptjs": "2.4.3", "body-parser": "1.19.0", - "commander": "4.0.1", + "commander": "4.1.1", "cors": "2.8.5", "deepcopy": "2.0.0", "express": "4.17.1", - "follow-redirects": "1.9.0", - "graphql": "14.5.8", + "follow-redirects": "1.9.1", + "graphql": "14.6.0", "graphql-list-fields": "2.0.2", "graphql-relay": "^0.6.0", "graphql-tools": "^4.0.5", - "graphql-upload": "9.0.0", + "graphql-upload": "10.0.0", "intersect": "1.0.1", "jsonwebtoken": "8.5.1", "ldapjs": "1.0.2", "lodash": "4.17.15", "lru-cache": "5.1.1", "mime": "2.4.4", - "mongodb": "3.4.1", + "mongodb": "3.5.3", "node-rsa": "1.0.7", "parse": "2.11.0", - "pg-promise": "10.3.3", + "pg-promise": "10.4.3", "pluralize": "^8.0.0", - "redis": "2.8.0", - "semver": "7.1.1", + "redis": "3.0.0", + "semver": "7.1.3", "subscriptions-transport-ws": "0.9.16", "tv4": "1.3.0", "uuid": "3.3.3", diff --git a/src/ParseObject.js b/src/ParseObject.js index b2d6c58d7..0c86c15fa 100644 --- a/src/ParseObject.js +++ b/src/ParseObject.js @@ -1640,6 +1640,9 @@ class ParseObject { if (options.hasOwnProperty('batchSize') && typeof options.batchSize === 'number') { destroyOptions.batchSize = options.batchSize; } + if (options.hasOwnProperty('transaction')) { + destroyOptions.transaction = options.transaction; + } return CoreManager.getObjectController().destroy( list, destroyOptions @@ -1681,6 +1684,9 @@ class ParseObject { if (options.hasOwnProperty('batchSize') && typeof options.batchSize === 'number') { saveOptions.batchSize = options.batchSize; } + if (options.hasOwnProperty('transaction')) { + saveOptions.transaction = options.transaction; + } return CoreManager.getObjectController().save( list, saveOptions diff --git a/src/RESTController.js b/src/RESTController.js index 392c8d4ce..b77557bff 100644 --- a/src/RESTController.js +++ b/src/RESTController.js @@ -21,6 +21,7 @@ export type RequestOptions = { batchSize?: number; include?: any; progress?: any; + transaction?: boolean; }; export type FullOptions = { @@ -30,6 +31,7 @@ export type FullOptions = { sessionToken?: string; installationId?: string; progress?: any; + transaction?: boolean; }; let XHR = null; @@ -230,6 +232,11 @@ const RESTController = { } } + const transaction = options.transaction; + if (transaction) { + payload.transaction = true; + } + if (CoreManager.get('FORCE_REVOCABLE_SESSION')) { payload._RevocableSession = '1'; }