diff options
author | David Tsay <3614296+davetsay@users.noreply.github.com> | 2022-11-11 02:25:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-11 02:25:35 +0300 |
commit | e70bcc414c608b6a6aeae2109a73436425930757 (patch) | |
tree | 338729d8ed4cc60a8564e2853f3b40d96f5048a6 | |
parent | 7bb4a136d793044a0b21d61a5d52499a0b9e0ff6 (diff) |
-rw-r--r-- | src/api/objects/ObjectAPI.js | 6 |
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 { |