diff --git a/src/becca/entities/abstract_becca_entity.js b/src/becca/entities/abstract_becca_entity.js index bcebb5ee6..863d2bb6f 100644 --- a/src/becca/entities/abstract_becca_entity.js +++ b/src/becca/entities/abstract_becca_entity.js @@ -274,6 +274,8 @@ class AbstractBeccaEntity { [this.dateModified, entityId]); } + console.trace("DELETE"); + log.info(`Marking ${entityName} ${entityId} as deleted`); this.addEntityChange(true); @@ -291,6 +293,8 @@ class AbstractBeccaEntity { WHERE ${this.constructor.primaryKeyName} = ?`, [this.utcDateModified, entityId]); + console.trace("DELETE"); + log.info(`Marking ${entityName} ${entityId} as deleted`); this.addEntityChange(true); diff --git a/src/becca/entities/bnote.js b/src/becca/entities/bnote.js index b009cef29..dc47ce9ca 100644 --- a/src/becca/entities/bnote.js +++ b/src/becca/entities/bnote.js @@ -317,6 +317,9 @@ class BNote extends AbstractBeccaEntity { } /** + * Beware that the method must not create a copy of the array, but actually returns its internal array + * (for performance reasons) + * * @param {string} [type] - (optional) attribute type to filter * @param {string} [name] - (optional) attribute name to filter * @returns {BAttribute[]} all note's attributes, including inherited ones @@ -335,7 +338,6 @@ class BNote extends AbstractBeccaEntity { return this.__attributeCache.filter(attr => attr.name === name); } else { - // a bit unsafe to return the original array, but defensive copy would be costly return this.__attributeCache; } } @@ -646,6 +648,9 @@ class BNote extends AbstractBeccaEntity { } /** + * Beware that the method must not create a copy of the array, but actually returns its internal array + * (for performance reasons) + * * @param {string|null} [type] - (optional) attribute type to filter * @param {string|null} [name] - (optional) attribute name to filter * @param {string|null} [value] - (optional) attribute value to filter diff --git a/src/routes/api/attributes.js b/src/routes/api/attributes.js index 2a2ac7333..978cec67a 100644 --- a/src/routes/api/attributes.js +++ b/src/routes/api/attributes.js @@ -116,7 +116,7 @@ function updateNoteAttributes(req) { const note = becca.getNote(noteId); - let existingAttrs = note.getOwnedAttributes(); + let existingAttrs = note.getOwnedAttributes().slice(); let position = 0;