script related changes

This commit is contained in:
azivner 2018-01-29 20:57:55 -05:00
parent 587f3d833e
commit 9a091408e3
4 changed files with 15 additions and 25 deletions

View file

@ -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]);
}

View file

@ -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]);
}

View file

@ -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);

View file

@ -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);