Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nasa/openmct.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tsay <3614296+davetsay@users.noreply.github.com>2022-11-11 02:25:35 +0300
committerGitHub <noreply@github.com>2022-11-11 02:25:35 +0300
commite70bcc414c608b6a6aeae2109a73436425930757 (patch)
tree338729d8ed4cc60a8564e2853f3b40d96f5048a6
parent7bb4a136d793044a0b21d61a5d52499a0b9e0ff6 (diff)
revert persisted time to last actual persisted time on save error (#5971)HEADmaster
-rw-r--r--src/api/objects/ObjectAPI.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/api/objects/ObjectAPI.js b/src/api/objects/ObjectAPI.js
index fc4cc1a8c..13ce738ef 100644
--- a/src/api/objects/ObjectAPI.js
+++ b/src/api/objects/ObjectAPI.js
@@ -357,6 +357,7 @@ export default class ObjectAPI {
async save(domainObject) {
const provider = this.getProvider(domainObject.identifier);
let result;
+ let lastPersistedTime;
if (!this.isPersistable(domainObject.identifier)) {
result = Promise.reject('Object provider does not support saving');
@@ -387,6 +388,7 @@ export default class ObjectAPI {
savedObjectPromise = provider.create(domainObject);
} else {
+ lastPersistedTime = domainObject.persisted;
const persistedTime = Date.now();
this.#mutate(domainObject, 'persisted', persistedTime);
@@ -397,6 +399,10 @@ export default class ObjectAPI {
savedObjectPromise.then(response => {
savedResolve(response);
}).catch((error) => {
+ if (lastPersistedTime !== undefined) {
+ this.#mutate(domainObject, 'persisted', lastPersistedTime);
+ }
+
savedReject(error);
});
} else {