moving deleteNote and deleteBranch into entities to make them accessible to scripts, #2792

This commit is contained in:
zadam
2022-04-19 23:06:46 +02:00
parent f6ebc76917
commit 643a5e5b16
22 changed files with 734 additions and 193 deletions

View File

@@ -36,6 +36,7 @@ const dateUtils = require('../../services/date_utils');
const entityChangesService = require('../../services/entity_changes');
const AbstractEntity = require("./abstract_entity");
const NoteRevision = require("./note_revision");
const TaskContext = require("../../services/task_context.js");
const LABEL = 'label';
const RELATION = 'relation';
@@ -1153,6 +1154,26 @@ class Note extends AbstractEntity {
return cloningService.cloneNoteToBranch(this.noteId, branch.branchId);
}
/**
* (Soft) delete a note and all its descendants.
*
* @param {string} [deleteId] - optional delete identified
* @param {TaskContext} [taskContext]
*/
deleteNote(deleteId, taskContext) {
if (!deleteId) {
deleteId = utils.randomString(10);
}
if (!taskContext) {
taskContext = new TaskContext('no-progress-reporting');
}
for (const branch of this.getParentBranches()) {
branch.deleteBranch(deleteId, taskContext);
}
}
decrypt() {
if (this.isProtected && !this.isDecrypted && protectedSessionService.isProtectedSessionAvailable()) {
try {