mirror of
https://github.com/zadam/trilium.git
synced 2025-10-30 18:05:55 +01:00
fixed syncing of erased notes, closes #2316
This commit is contained in:
@@ -9,7 +9,7 @@ function updateEntity(entityChange, entityRow) {
|
||||
if (!entityRow) {
|
||||
if (entityChange.isSynced) {
|
||||
if (entityChange.isErased) {
|
||||
entityChangesService.addEntityChange(entityChange, true);
|
||||
eraseEntity(entityChange);
|
||||
}
|
||||
else {
|
||||
log.info(`Encountered synced non-erased entity change without entity: ${JSON.stringify(entityChange)}`);
|
||||
@@ -105,6 +105,23 @@ function handleContent(content) {
|
||||
return content;
|
||||
}
|
||||
|
||||
function eraseEntity(entityChange) {
|
||||
const {entityName, entityId} = entityChange;
|
||||
|
||||
if (!["notes", "note_contents", "branches", "attributes", "note_revisions", "note_revision_contents"].includes(entityName)) {
|
||||
log.error(`Cannot erase entity ${entityName}, id ${entityId}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const keyName = entityConstructor.getEntityFromEntityName(entityName).primaryKeyName;
|
||||
|
||||
sql.execute(`DELETE FROM ${entityName} WHERE ${keyName} = ?`, [entityId]);
|
||||
|
||||
eventService.emit(eventService.ENTITY_DELETE_SYNCED, { entityName, entityId });
|
||||
|
||||
entityChangesService.addEntityChange(entityChange, true);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
updateEntity
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user