sync fixes

This commit is contained in:
azivner
2017-11-05 20:37:25 -05:00
parent ba24281f22
commit 2a9a8da045
4 changed files with 38 additions and 23 deletions

View File

@@ -6,6 +6,7 @@ const sql = require('../../services/sql');
const options = require('../../services/options');
const utils = require('../../services/utils');
const auth = require('../../services/auth');
const log = require('../../services/log');
router.get('/', auth.checkApiAuth, async (req, res, next) => {
const notes = await sql.getResults("select "
@@ -24,33 +25,37 @@ router.get('/', auth.checkApiAuth, async (req, res, next) => {
const notes_map = {};
for (const note of notes) {
note['children'] = [];
note.children = [];
if (!note['note_pid']) {
if (!note.note_pid) {
root_notes.push(note);
}
notes_map[note['note_id']] = note;
notes_map[note.note_id] = note;
}
for (const note of notes) {
if (note['note_pid'] !== "") {
const parent = notes_map[note['note_pid']];
if (note.note_pid !== "") {
const parent = notes_map[note.note_pid];
parent['children'].push(note);
parent['folder'] = true;
if (!parent) {
log.error("Parent " + note.note_pid + ' has not been found');
continue;
}
parent.children.push(note);
parent.folder = true;
}
}
res.send({
'notes': root_notes,
'start_note_id': await options.getOption('start_node'),
'password_verification_salt': await options.getOption('password_verification_salt'),
'password_derived_key_salt': await options.getOption('password_derived_key_salt'),
'encrypted_data_key': await options.getOption('encrypted_data_key'),
'encryption_session_timeout': await options.getOption('encryption_session_timeout'),
'browser_id': utils.randomString(12),
'tree_load_time': utils.nowTimestamp()
notes: root_notes,
start_note_id: await options.getOption('start_node'),
password_verification_salt: await options.getOption('password_verification_salt'),
password_derived_key_salt: await options.getOption('password_derived_key_salt'),
encrypted_data_key: await options.getOption('encrypted_data_key'),
encryption_session_timeout: await options.getOption('encryption_session_timeout'),
browser_id: utils.randomString(12),
tree_load_time: utils.nowTimestamp()
});
});