mirror of
https://github.com/zadam/trilium.git
synced 2025-01-19 05:33:19 +08:00
script related changes
This commit is contained in:
parent
587f3d833e
commit
9a091408e3
4 changed files with 15 additions and 25 deletions
|
@ -3,6 +3,14 @@
|
|||
const Entity = require('./entity');
|
||||
|
||||
class Note extends Entity {
|
||||
constructor(sql, row) {
|
||||
super(sql, row);
|
||||
|
||||
if (this.type === "code" && this.mime === "application/json") {
|
||||
this.jsonContent = JSON.parse(this.content);
|
||||
}
|
||||
}
|
||||
|
||||
async getAttributes() {
|
||||
return this.sql.getEntities("SELECT * FROM attributes WHERE noteId = ?", [this.noteId]);
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ async function getNotesWithAttribute(dataKey, name, value) {
|
|||
let notes;
|
||||
|
||||
if (value !== undefined) {
|
||||
notes = await sql.getRows(`SELECT notes.* FROM notes JOIN attributes USING(noteId)
|
||||
notes = await sql.getEntities(`SELECT notes.* FROM notes JOIN attributes USING(noteId)
|
||||
WHERE notes.isDeleted = 0 AND attributes.name = ? AND attributes.value = ?`, [name, value]);
|
||||
}
|
||||
else {
|
||||
notes = await sql.getRows(`SELECT notes.* FROM notes JOIN attributes USING(noteId)
|
||||
notes = await sql.getEntities(`SELECT notes.* FROM notes JOIN attributes USING(noteId)
|
||||
WHERE notes.isDeleted = 0 AND attributes.name = ?`, [name]);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ const attributes = require('./attributes');
|
|||
const protected_session = require('./protected_session');
|
||||
|
||||
async function getNoteById(noteId, dataKey) {
|
||||
const note = await sql.getRow("SELECT * FROM notes WHERE noteId = ?", [noteId]);
|
||||
const note = await sql.getEntity("SELECT * FROM notes WHERE noteId = ?", [noteId]);
|
||||
|
||||
protected_session.decryptNote(dataKey, note);
|
||||
|
||||
|
|
|
@ -10,32 +10,16 @@ function ScriptContext(noteId, dataKey) {
|
|||
this.scriptNoteId = noteId;
|
||||
this.dataKey = protected_session.getDataKey(dataKey);
|
||||
|
||||
function deserializePayload(note) {
|
||||
if (note && note.type === "code" && note.mime === "application/json") {
|
||||
note.payload = JSON.parse(note.content);
|
||||
}
|
||||
}
|
||||
|
||||
function serializePayload(payload) {
|
||||
return JSON.stringify(payload, null, '\t');
|
||||
}
|
||||
|
||||
this.getNoteById = async function(noteId) {
|
||||
const note = await notes.getNoteById(noteId, this.dataKey);
|
||||
|
||||
deserializePayload(note);
|
||||
|
||||
return note;
|
||||
return notes.getNoteById(noteId, this.dataKey);
|
||||
};
|
||||
|
||||
this.getNotesWithAttribute = async function (attrName, attrValue) {
|
||||
const notes = await attributes.getNotesWithAttribute(this.dataKey, attrName, attrValue);
|
||||
|
||||
for (const note of notes) {
|
||||
deserializePayload(note);
|
||||
}
|
||||
|
||||
return notes;
|
||||
return await attributes.getNotesWithAttribute(this.dataKey, attrName, attrValue);
|
||||
};
|
||||
|
||||
this.getNoteWithAttribute = async function (attrName, attrValue) {
|
||||
|
@ -77,12 +61,10 @@ function ScriptContext(noteId, dataKey) {
|
|||
|
||||
this.updateNote = async function (note) {
|
||||
if (note.type === 'code' && note.mime === 'application/json') {
|
||||
note.content = serializePayload(note.payload);
|
||||
note.content = serializePayload(note.jsonContent);
|
||||
}
|
||||
|
||||
log.info("new note text: ", note.content);
|
||||
|
||||
delete note.payload;
|
||||
delete note.jsonContent;
|
||||
|
||||
if (note.isProtected) {
|
||||
protected_session.encryptNote(this.dataKey, note);
|
||||
|
|
Loading…
Reference in a new issue