mirror of
https://github.com/zadam/trilium.git
synced 2024-09-21 16:16:04 +08:00
fixed initial demo import
This commit is contained in:
parent
ef847b9904
commit
c4cc48dfc9
|
@ -13,10 +13,10 @@ function getStatus() {
|
|||
};
|
||||
}
|
||||
|
||||
function setupNewDocument(req) {
|
||||
async function setupNewDocument(req) {
|
||||
const { username, password, theme } = req.body;
|
||||
|
||||
sqlInit.createInitialDatabase(username, password, theme);
|
||||
await sqlInit.createInitialDatabase(username, password, theme);
|
||||
}
|
||||
|
||||
function setupSyncFromServer(req) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
const utils = require('./utils');
|
||||
|
||||
function getOption(name) {
|
||||
const option = require('./repository').getOption(name);
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ function initDbConnection() {
|
|||
dbReady.resolve();
|
||||
}
|
||||
|
||||
function createInitialDatabase(username, password, theme) {
|
||||
async function createInitialDatabase(username, password, theme) {
|
||||
log.info("Creating initial database ...");
|
||||
|
||||
if (isDbInitialized()) {
|
||||
|
@ -65,13 +65,15 @@ function createInitialDatabase(username, password, theme) {
|
|||
const schema = fs.readFileSync(resourceDir.DB_INIT_DIR + '/schema.sql', 'UTF-8');
|
||||
const demoFile = fs.readFileSync(resourceDir.DB_INIT_DIR + '/demo.zip');
|
||||
|
||||
let rootNote;
|
||||
|
||||
sql.transactional(() => {
|
||||
sql.executeScript(schema);
|
||||
|
||||
const Note = require("../entities/note");
|
||||
const Branch = require("../entities/branch");
|
||||
|
||||
const rootNote = new Note({
|
||||
rootNote = new Note({
|
||||
noteId: 'root',
|
||||
title: 'root',
|
||||
type: 'text',
|
||||
|
@ -87,12 +89,16 @@ function createInitialDatabase(username, password, theme) {
|
|||
isExpanded: true,
|
||||
notePosition: 10
|
||||
}).save();
|
||||
});
|
||||
|
||||
const dummyTaskContext = new TaskContext("1", 'import', false);
|
||||
const dummyTaskContext = new TaskContext("initial-demo-import", 'import', false);
|
||||
|
||||
const zipImportService = require("./import/zip");
|
||||
zipImportService.importZip(dummyTaskContext, demoFile, rootNote);
|
||||
const zipImportService = require("./import/zip");
|
||||
await zipImportService.importZip(dummyTaskContext, demoFile, rootNote);
|
||||
|
||||
require('./sync_table').fillAllSyncRows();
|
||||
|
||||
sql.transactional(() => {
|
||||
const startNoteId = sql.getValue("SELECT noteId FROM branches WHERE parentNoteId = 'root' AND isDeleted = 0 ORDER BY notePosition");
|
||||
|
||||
const optionsInitService = require('./options_init');
|
||||
|
@ -100,8 +106,6 @@ function createInitialDatabase(username, password, theme) {
|
|||
optionsInitService.initDocumentOptions();
|
||||
optionsInitService.initSyncedOptions(username, password);
|
||||
optionsInitService.initNotSyncedOptions(true, startNoteId, { theme });
|
||||
|
||||
require('./sync_table').fillAllSyncRows();
|
||||
});
|
||||
|
||||
log.info("Schema and initial content generated.");
|
||||
|
|
|
@ -99,17 +99,19 @@ function fillSyncRows(entityName, entityPrimaryKey, condition = '') {
|
|||
}
|
||||
|
||||
function fillAllSyncRows() {
|
||||
sql.execute("DELETE FROM sync");
|
||||
sql.transactional(() => {
|
||||
sql.execute("DELETE FROM sync");
|
||||
|
||||
fillSyncRows("notes", "noteId");
|
||||
fillSyncRows("note_contents", "noteId");
|
||||
fillSyncRows("branches", "branchId");
|
||||
fillSyncRows("note_revisions", "noteRevisionId");
|
||||
fillSyncRows("note_revision_contents", "noteRevisionId");
|
||||
fillSyncRows("recent_notes", "noteId");
|
||||
fillSyncRows("attributes", "attributeId");
|
||||
fillSyncRows("api_tokens", "apiTokenId");
|
||||
fillSyncRows("options", "name", 'isSynced = 1');
|
||||
fillSyncRows("notes", "noteId");
|
||||
fillSyncRows("note_contents", "noteId");
|
||||
fillSyncRows("branches", "branchId");
|
||||
fillSyncRows("note_revisions", "noteRevisionId");
|
||||
fillSyncRows("note_revision_contents", "noteRevisionId");
|
||||
fillSyncRows("recent_notes", "noteId");
|
||||
fillSyncRows("attributes", "attributeId");
|
||||
fillSyncRows("api_tokens", "apiTokenId");
|
||||
fillSyncRows("options", "name", 'isSynced = 1');
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
|
|
@ -34,7 +34,7 @@ class TaskContext {
|
|||
increaseProgressCount() {
|
||||
this.progressCount++;
|
||||
|
||||
if (Date.now() - this.lastSentCountTs >= 300) {
|
||||
if (Date.now() - this.lastSentCountTs >= 300 && this.taskId !== 'initial-demo-import') {
|
||||
this.lastSentCountTs = Date.now();
|
||||
|
||||
ws.sendMessageToAllClients({
|
||||
|
@ -68,4 +68,4 @@ class TaskContext {
|
|||
}
|
||||
}
|
||||
|
||||
module.exports = TaskContext;
|
||||
module.exports = TaskContext;
|
||||
|
|
Loading…
Reference in a new issue