From b30792a3da3f104ea1b16f7154b88585bf167406 Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 21 Dec 2021 11:04:41 +0100 Subject: [PATCH] make sure that the info about periodically erased entities is sent to the frontend --- src/services/notes.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/services/notes.js b/src/services/notes.js index 4dee6eb2b..b137517e4 100644 --- a/src/services/notes.js +++ b/src/services/notes.js @@ -732,23 +732,26 @@ function eraseAttributes(attributeIdsToErase) { } function eraseDeletedEntities(eraseEntitiesAfterTimeInSeconds = null) { - if (eraseEntitiesAfterTimeInSeconds === null) { - eraseEntitiesAfterTimeInSeconds = optionService.getOptionInt('eraseEntitiesAfterTimeInSeconds'); - } + // this is important also so that the erased entity changes are sent to the connected clients + sql.transactional(() => { + if (eraseEntitiesAfterTimeInSeconds === null) { + eraseEntitiesAfterTimeInSeconds = optionService.getOptionInt('eraseEntitiesAfterTimeInSeconds'); + } - const cutoffDate = new Date(Date.now() - eraseEntitiesAfterTimeInSeconds * 1000); + const cutoffDate = new Date(Date.now() - eraseEntitiesAfterTimeInSeconds * 1000); - const noteIdsToErase = sql.getColumn("SELECT noteId FROM notes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const noteIdsToErase = sql.getColumn("SELECT noteId FROM notes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseNotes(noteIdsToErase); + eraseNotes(noteIdsToErase); - const branchIdsToErase = sql.getColumn("SELECT branchId FROM branches WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const branchIdsToErase = sql.getColumn("SELECT branchId FROM branches WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseBranches(branchIdsToErase); + eraseBranches(branchIdsToErase); - const attributeIdsToErase = sql.getColumn("SELECT attributeId FROM attributes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const attributeIdsToErase = sql.getColumn("SELECT attributeId FROM attributes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseAttributes(attributeIdsToErase); + eraseAttributes(attributeIdsToErase); + }); } function eraseNotesWithDeleteId(deleteId) {