reconcileAssignments
module.exports = function (note, categoryRootNote, assignedCategories, labelName, isTaskDone) {
const found = {};
for (const categoryNote of categoryRootNote.getChildNotes()) {
const label = categoryNote.getLabel(labelName);
if (label) {
found[label.value] = !isTaskDone && assignedCategories.includes(label.value);
api.toggleNoteInParent(found[label.value], note.noteId, categoryNote.noteId);
}
}
if (!isTaskDone) {
for (const assignedCategory of assignedCategories) {
if (!found[assignedCategory]) {
const categoryNote = api.createTextNote(categoryRootNote.noteId, assignedCategory, "").note;
categoryNote.addLabel(labelName, assignedCategory);
api.ensureNoteIsPresentInParent(note.noteId, categoryNote.noteId);
}
}
}
}