server-ts: Port migration, port, sql_init services

This commit is contained in:
Elian Doran 2024-02-17 19:51:22 +02:00
parent 246a90d73c
commit 56ca0ea5d0
No known key found for this signature in database
17 changed files with 40 additions and 39 deletions

View File

@ -10,7 +10,7 @@ if (config.Network.https) {
process.exit(0); process.exit(0);
} }
const port = require('./src/services/port.js'); const port = require('./src/services/port.ts');
const host = require('./src/services/host.js'); const host = require('./src/services/host.js');
const options = { timeout: 2000 }; const options = { timeout: 2000 };

View File

@ -1,7 +1,7 @@
'use strict'; 'use strict';
const {app, globalShortcut, BrowserWindow} = require('electron'); const {app, globalShortcut, BrowserWindow} = require('electron');
const sqlInit = require('./src/services/sql_init.js'); const sqlInit = require('./src/services/sql_init');
const appIconService = require('./src/services/app_icon.js'); const appIconService = require('./src/services/app_icon.js');
const windowService = require('./src/services/window.js'); const windowService = require('./src/services/window.js');
const tray = require('./src/services/tray.js'); const tray = require('./src/services/tray.js');

View File

@ -1,5 +1,5 @@
const anonymizationService = require('./services/anonymization'); const anonymizationService = require('./services/anonymization');
const sqlInit = require('./services/sql_init.js'); const sqlInit = require('./services/sql_init');
require('./becca/entity_constructor.js'); require('./becca/entity_constructor.js');
sqlInit.dbReady.then(async () => { sqlInit.dbReady.then(async () => {

View File

@ -8,7 +8,7 @@ const passwordEncryptionService = require('../../services/encryption/password_en
const protectedSessionService = require('../../services/protected_session'); const protectedSessionService = require('../../services/protected_session');
const appInfo = require('../../services/app_info'); const appInfo = require('../../services/app_info');
const eventService = require('../../services/events'); const eventService = require('../../services/events');
const sqlInit = require('../../services/sql_init.js'); const sqlInit = require('../../services/sql_init');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const ws = require('../../services/ws'); const ws = require('../../services/ws');
const etapiTokenService = require('../../services/etapi_tokens.js'); const etapiTokenService = require('../../services/etapi_tokens.js');

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const sqlInit = require('../../services/sql_init.js'); const sqlInit = require('../../services/sql_init');
const setupService = require('../../services/setup.js'); const setupService = require('../../services/setup.js');
const log = require('../../services/log'); const log = require('../../services/log');
const appInfo = require('../../services/app_info'); const appInfo = require('../../services/app_info');

View File

@ -4,7 +4,7 @@ const syncService = require('../../services/sync.js');
const syncUpdateService = require('../../services/sync_update.js'); const syncUpdateService = require('../../services/sync_update.js');
const entityChangesService = require('../../services/entity_changes'); const entityChangesService = require('../../services/entity_changes');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const sqlInit = require('../../services/sql_init.js'); const sqlInit = require('../../services/sql_init');
const optionService = require('../../services/options'); const optionService = require('../../services/options');
const contentHashService = require('../../services/content_hash.js'); const contentHashService = require('../../services/content_hash.js');
const log = require('../../services/log'); const log = require('../../services/log');

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const sqlInit = require('../services/sql_init.js'); const sqlInit = require('../services/sql_init');
const setupService = require('../services/setup.js'); const setupService = require('../services/setup.js');
const utils = require('../services/utils'); const utils = require('../services/utils');
const assetPath = require('../services/asset_path'); const assetPath = require('../services/asset_path');

View File

@ -2,7 +2,7 @@
const etapiTokenService = require('./etapi_tokens.js'); const etapiTokenService = require('./etapi_tokens.js');
const log = require('./log'); const log = require('./log');
const sqlInit = require('./sql_init.js'); const sqlInit = require('./sql_init');
const utils = require('./utils'); const utils = require('./utils');
const passwordEncryptionService = require('./encryption/password_encryption'); const passwordEncryptionService = require('./encryption/password_encryption');
const config = require('./config'); const config = require('./config');

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const sql = require('./sql'); const sql = require('./sql');
const sqlInit = require('./sql_init.js'); const sqlInit = require('./sql_init');
const log = require('./log'); const log = require('./log');
const ws = require('./ws'); const ws = require('./ws');
const syncMutexService = require('./sync_mutex'); const syncMutexService = require('./sync_mutex');

View File

@ -4,7 +4,7 @@ const log = require("./log.ts");
const entityChangesService = require("./entity_changes"); const entityChangesService = require("./entity_changes");
const optionService = require("./options"); const optionService = require("./options");
const dateUtils = require("./date_utils"); const dateUtils = require("./date_utils");
const sqlInit = require("./sql_init.js"); const sqlInit = require("./sql_init");
const cls = require("./cls"); const cls = require("./cls");
function eraseNotes(noteIdsToErase) { function eraseNotes(noteIdsToErase) {

View File

@ -143,7 +143,7 @@ async function migrateIfNecessary() {
} }
} }
module.exports = { export = {
migrateIfNecessary, migrateIfNecessary,
isDbUpToDate isDbUpToDate
}; };

View File

@ -1,9 +1,9 @@
const config = require('./config'); import config = require('./config');
const utils = require('./utils'); import utils = require('./utils');
const env = require('./env'); import env = require('./env');
const dataDir = require('./data_dir'); import dataDir = require('./data_dir');
function parseAndValidate(portStr, source) { function parseAndValidate(portStr: string, source: string) {
const portNum = parseInt(portStr); const portNum = parseInt(portStr);
if (isNaN(portNum) || portNum < 0 || portNum >= 65536) { if (isNaN(portNum) || portNum < 0 || portNum >= 65536) {
@ -14,7 +14,7 @@ function parseAndValidate(portStr, source) {
return portNum; return portNum;
} }
let port; let port: number;
if (process.env.TRILIUM_PORT) { if (process.env.TRILIUM_PORT) {
port = parseAndValidate(process.env.TRILIUM_PORT, "environment variable TRILIUM_PORT"); port = parseAndValidate(process.env.TRILIUM_PORT, "environment variable TRILIUM_PORT");
@ -24,4 +24,4 @@ if (process.env.TRILIUM_PORT) {
port = parseAndValidate(config['Network']['port'] || '3000', `Network.port in ${dataDir.CONFIG_INI_PATH}`); port = parseAndValidate(config['Network']['port'] || '3000', `Network.port in ${dataDir.CONFIG_INI_PATH}`);
} }
module.exports = port; export = port;

View File

@ -1,6 +1,6 @@
const scriptService = require('./script.js'); const scriptService = require('./script.js');
const cls = require('./cls'); const cls = require('./cls');
const sqlInit = require('./sql_init.js'); const sqlInit = require('./sql_init');
const config = require('./config'); const config = require('./config');
const log = require('./log'); const log = require('./log');
const attributeService = require('../services/attributes.js'); const attributeService = require('../services/attributes.js');

View File

@ -1,6 +1,6 @@
const syncService = require('./sync.js'); const syncService = require('./sync.js');
const log = require('./log'); const log = require('./log');
const sqlInit = require('./sql_init.js'); const sqlInit = require('./sql_init');
const optionService = require('./options'); const optionService = require('./options');
const syncOptions = require('./sync_options.js'); const syncOptions = require('./sync_options.js');
const request = require('./request.js'); const request = require('./request.js');

View File

@ -1,15 +1,16 @@
const log = require('./log'); import log = require('./log');
const fs = require('fs'); import fs = require('fs');
const resourceDir = require('./resource_dir'); import resourceDir = require('./resource_dir');
const sql = require('./sql'); import sql = require('./sql');
const utils = require('./utils'); import utils = require('./utils');
const optionService = require('./options'); import optionService = require('./options');
const port = require('./port.js'); import port = require('./port');
const BOption = require('../becca/entities/boption'); import BOption = require('../becca/entities/boption');
const TaskContext = require('./task_context'); import TaskContext = require('./task_context');
const migrationService = require('./migration'); import migrationService = require('./migration');
const cls = require('./cls'); import cls = require('./cls');
const config = require('./config'); import config = require('./config');
import { OptionRow } from '../becca/entities/rows';
const dbReady = utils.deferred(); const dbReady = utils.deferred();
@ -42,7 +43,7 @@ async function initDbConnection() {
sql.execute('CREATE TEMP TABLE "param_list" (`paramId` TEXT NOT NULL PRIMARY KEY)'); sql.execute('CREATE TEMP TABLE "param_list" (`paramId` TEXT NOT NULL PRIMARY KEY)');
dbReady.resolve(); dbReady.resolve(undefined);
} }
async function createInitialDatabase() { async function createInitialDatabase() {
@ -50,7 +51,7 @@ async function createInitialDatabase() {
throw new Error("DB is already initialized"); throw new Error("DB is already initialized");
} }
const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, 'UTF-8'); const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, "utf-8");
const demoFile = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/demo.zip`); const demoFile = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/demo.zip`);
let rootNote; let rootNote;
@ -119,14 +120,14 @@ async function createInitialDatabase() {
initDbConnection(); initDbConnection();
} }
function createDatabaseForSync(options, syncServerHost = '', syncProxy = '') { function createDatabaseForSync(options: OptionRow[], syncServerHost = '', syncProxy = '') {
log.info("Creating database for sync"); log.info("Creating database for sync");
if (isDbInitialized()) { if (isDbInitialized()) {
throw new Error("DB is already initialized"); throw new Error("DB is already initialized");
} }
const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, 'UTF-8'); const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, "utf8");
sql.transactional(() => { sql.transactional(() => {
sql.executeScript(schema); sql.executeScript(schema);

View File

@ -1,10 +1,10 @@
const path = require('path'); const path = require('path');
const url = require("url"); const url = require("url");
const port = require('./port.js'); const port = require('./port.ts');
const optionService = require('./options'); const optionService = require('./options');
const env = require('./env'); const env = require('./env');
const log = require('./log'); const log = require('./log');
const sqlInit = require('./sql_init.js'); const sqlInit = require('./sql_init');
const cls = require('./cls'); const cls = require('./cls');
const keyboardActionsService = require('./keyboard_actions'); const keyboardActionsService = require('./keyboard_actions');
const {ipcMain} = require('electron'); const {ipcMain} = require('electron');

View File

@ -4,7 +4,7 @@
*/ */
require('../becca/entity_constructor.js'); require('../becca/entity_constructor.js');
const sqlInit = require('../services/sql_init.js'); const sqlInit = require('../services/sql_init');
const noteService = require('../services/notes.js'); const noteService = require('../services/notes.js');
const attributeService = require('../services/attributes.js'); const attributeService = require('../services/attributes.js');
const cls = require('../services/cls'); const cls = require('../services/cls');