new "disable_inclusion" attribute

This commit is contained in:
azivner 2018-03-04 22:09:51 -05:00
parent 5c91e38dfe
commit 1c6fc9029f
4 changed files with 14 additions and 2 deletions

View File

@ -47,6 +47,13 @@ class Note extends Entity {
return map;
}
async hasAttribute(name) {
const map = await this.getAttributeMap();
return map.hasOwnProperty(name);
}
// WARNING: this doesn't take into account the possibility to have multi-valued attributes!
async getAttribute(name) {
return this.repository.getEntity("SELECT * FROM attributes WHERE noteId = ? AND name = ?", [this.noteId, name]);
}

View File

@ -12,7 +12,8 @@ const BUILTIN_ATTRIBUTES = [
'hide_in_autocomplete',
'exclude_from_export',
'run',
'manual_transaction_handling'
'manual_transaction_handling',
'disable_inclusion'
];
async function getNoteAttributeMap(noteId) {

View File

@ -19,7 +19,7 @@ async function runNotesWithAttribute(runAttrValue) {
}
}
setTimeout(() => runNotesWithAttribute('backend_startup'), 1 * 1000);
setTimeout(() => runNotesWithAttribute('backend_startup'), 10 * 1000);
setInterval(() => runNotesWithAttribute('hourly'), 3600 * 1000);

View File

@ -61,6 +61,10 @@ async function getScriptBundle(note, includedNoteIds = []) {
return;
}
if (await note.hasAttribute('disable_inclusion')) {
return;
}
const bundle = {
note: note,
script: '',