From 3789ead2daacdfc8779e07b7208562345db05c32 Mon Sep 17 00:00:00 2001 From: azivner Date: Mon, 4 Dec 2017 00:17:08 -0500 Subject: [PATCH] creating new starting page when creating database --- services/options.js | 4 ++-- services/sql.js | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/services/options.js b/services/options.js index 839838409..bac7f6da8 100644 --- a/services/options.js +++ b/services/options.js @@ -28,7 +28,7 @@ async function setOption(optName, optValue) { }); } -async function initOptions() { +async function initOptions(startNoteTreeId) { await setOption('document_id', utils.randomSecureToken(16)); await setOption('document_secret', utils.randomSecureToken(16)); @@ -39,7 +39,7 @@ async function initOptions() { await setOption('encrypted_data_key', ''); await setOption('encrypted_data_key_iv', ''); - await setOption('start_note_tree_id', ''); + await setOption('start_note_tree_id', startNoteTreeId); await setOption('protected_session_timeout', 600); await setOption('history_snapshot_time_interval', 600); await setOption('last_backup_date', utils.nowTimestamp()); diff --git a/services/sql.js b/services/sql.js index 611760ffe..8c232a3b7 100644 --- a/services/sql.js +++ b/services/sql.js @@ -4,6 +4,7 @@ const log = require('./log'); const dataDir = require('./data_dir'); const fs = require('fs'); const sqlite = require('sqlite'); +const utils = require('./utils'); async function createConnection() { return await sqlite.open(dataDir.DOCUMENT_PATH, {Promise}); @@ -25,7 +26,28 @@ const dbReady = new Promise((resolve, reject) => { await doInTransaction(async () => { await executeScript(schema); - await require('./options').initOptions(); + const noteId = utils.newNoteId(); + + await insert('notes_tree', { + note_tree_id: utils.newNoteTreeId(), + note_id: noteId, + note_pid: 'root', + note_pos: 1, + is_deleted: 0, + date_modified: utils.nowTimestamp() + }); + + await insert('notes', { + note_id: noteId, + note_title: 'Welcome to Trilium!', + note_text: 'Text', + is_protected: 0, + is_deleted: 0, + date_created: utils.nowTimestamp(), + date_modified: utils.nowTimestamp() + }); + + await require('./options').initOptions(noteId); }); // we don't resolve dbReady promise because user needs to setup the username and password to initialize