mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
smaller refactorings continued
This commit is contained in:
parent
8ba830c04b
commit
15d951b04e
@ -3,6 +3,7 @@
|
||||
const Entity = require('./entity');
|
||||
const repository = require('../services/repository');
|
||||
const utils = require('../services/utils');
|
||||
const sql = require('../services/sql');
|
||||
|
||||
class Label extends Entity {
|
||||
static get tableName() { return "labels"; }
|
||||
@ -12,7 +13,24 @@ class Label extends Entity {
|
||||
return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]);
|
||||
}
|
||||
|
||||
beforeSaving() {
|
||||
async beforeSaving() {
|
||||
if (!this.labelId) {
|
||||
this.labelId = utils.newLabelId();
|
||||
}
|
||||
|
||||
if (this.value) {
|
||||
// null value isn't allowed
|
||||
this.value = "";
|
||||
}
|
||||
|
||||
if (this.position === undefined) {
|
||||
this.position = 1 + await sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM labels WHERE noteId = ?`, [noteId]);
|
||||
}
|
||||
|
||||
if (!this.isDeleted) {
|
||||
this.isDeleted = false;
|
||||
}
|
||||
|
||||
if (!this.dateCreated) {
|
||||
this.dateCreated = utils.nowDate();
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
const sql = require('./sql');
|
||||
const utils = require('./utils');
|
||||
const sync_table = require('./sync_table');
|
||||
const repository = require('./repository');
|
||||
const Label = require('../entities/label');
|
||||
|
||||
@ -58,21 +57,15 @@ async function getNoteIdsWithLabel(name) {
|
||||
}
|
||||
|
||||
async function createLabel(noteId, name, value = "") {
|
||||
if (value === null || value === undefined) {
|
||||
value = "";
|
||||
}
|
||||
|
||||
const labelId = utils.newLabelId();
|
||||
const position = 1 + await sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM labels WHERE noteId = ?`, [noteId]);
|
||||
|
||||
await (new Label({
|
||||
labelId: labelId,
|
||||
const label = new Label({
|
||||
noteId: noteId,
|
||||
name: name,
|
||||
value: value,
|
||||
position: position,
|
||||
isDeleted: false
|
||||
})).save();
|
||||
value: value
|
||||
});
|
||||
|
||||
await label.save();
|
||||
|
||||
return label;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
@ -43,18 +43,20 @@ async function getLabel(labelId) {
|
||||
|
||||
async function updateEntity(entity) {
|
||||
if (entity.beforeSaving) {
|
||||
entity.beforeSaving();
|
||||
await entity.beforeSaving();
|
||||
}
|
||||
|
||||
const clone = Object.assign({}, entity);
|
||||
|
||||
delete clone.jsonContent;
|
||||
|
||||
await sql.replace(entity.constructor.tableName, clone);
|
||||
await sql.doInTransaction(async () => {
|
||||
await sql.replace(entity.constructor.tableName, clone);
|
||||
|
||||
const primaryKey = entity[entity.constructor.primaryKeyName];
|
||||
const primaryKey = entity[entity.constructor.primaryKeyName];
|
||||
|
||||
await sync_table.addEntitySync(entity.constructor.tableName, primaryKey);
|
||||
await sync_table.addEntitySync(entity.constructor.tableName, primaryKey);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
@ -40,9 +40,12 @@ function ScriptApi(startNote, currentNote) {
|
||||
|
||||
this.getInstanceName = () => config.General ? config.General.instanceName : null;
|
||||
|
||||
this.getNoteById = async function(noteId) {
|
||||
return await repository.getNote(noteId);
|
||||
};
|
||||
this.getNote = repository.getNote;
|
||||
this.getBranch = repository.getBranch;
|
||||
this.getLabel = repository.getLabel;
|
||||
this.getImage = repository.getImage;
|
||||
this.getEntity = repository.getEntity;
|
||||
this.getEntities = repository.getEntities;
|
||||
|
||||
this.getNotesWithLabel = async function (labelName, labelValue) {
|
||||
return await labels.getNotesWithLabel(labelName, labelValue);
|
||||
@ -60,8 +63,6 @@ function ScriptApi(startNote, currentNote) {
|
||||
|
||||
this.createLabel = labels.createLabel;
|
||||
|
||||
this.updateEntity = repository.updateEntity;
|
||||
|
||||
this.log = message => log.info(`Script ${currentNote.noteId}: ${message}`);
|
||||
|
||||
this.getRootCalendarNoteId = date_notes.getRootCalendarNoteId;
|
||||
|
@ -4,11 +4,9 @@ const sql = require('./sql');
|
||||
const cls = require('./cls');
|
||||
|
||||
async function saveSourceId(sourceId) {
|
||||
await sql.doInTransaction(async () => {
|
||||
await sql.insert("source_ids", {
|
||||
sourceId: sourceId,
|
||||
dateCreated: utils.nowDate()
|
||||
});
|
||||
await sql.insert("source_ids", {
|
||||
sourceId: sourceId,
|
||||
dateCreated: utils.nowDate()
|
||||
});
|
||||
|
||||
await refreshSourceIds();
|
||||
|
@ -95,9 +95,7 @@ async function getLastSyncedPull() {
|
||||
}
|
||||
|
||||
async function setLastSyncedPull(syncId) {
|
||||
await sql.doInTransaction(async () => {
|
||||
await options.setOption('last_synced_pull', syncId);
|
||||
});
|
||||
await options.setOption('last_synced_pull', syncId);
|
||||
}
|
||||
|
||||
async function pullSync(syncContext) {
|
||||
@ -168,9 +166,7 @@ async function getLastSyncedPush() {
|
||||
}
|
||||
|
||||
async function setLastSyncedPush(lastSyncedPush) {
|
||||
await sql.doInTransaction(async () => {
|
||||
await options.setOption('last_synced_push', lastSyncedPush);
|
||||
});
|
||||
await options.setOption('last_synced_push', lastSyncedPush);
|
||||
}
|
||||
|
||||
async function pushSync(syncContext) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user