From a154dc76ce8553e594489e48fdf444b1196ece51 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 3 Apr 2024 23:28:26 +0300 Subject: [PATCH] server-ts: Port services/options --- src/becca/entities/boption.ts | 2 +- src/routes/api/setup.js | 4 ++-- src/routes/setup.js | 4 ++-- src/services/options.ts | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/becca/entities/boption.ts b/src/becca/entities/boption.ts index c67d391e1..48abee024 100644 --- a/src/becca/entities/boption.ts +++ b/src/becca/entities/boption.ts @@ -13,7 +13,7 @@ class BOption extends AbstractBeccaEntity { static get hashedProperties() { return ["name", "value"]; } name!: string; - value!: string | number; + value!: string; isSynced!: boolean; constructor(row?: OptionRow) { diff --git a/src/routes/api/setup.js b/src/routes/api/setup.js index 000c3c21c..84f310725 100644 --- a/src/routes/api/setup.js +++ b/src/routes/api/setup.js @@ -1,7 +1,7 @@ "use strict"; const sqlInit = require('../../services/sql_init'); -const setupService = require('../../services/setup.js'); +const setupService = require('../../services/setup'); const log = require('../../services/log'); const appInfo = require('../../services/app_info'); @@ -24,7 +24,7 @@ function setupSyncFromServer(req) { } function saveSyncSeed(req) { - const {options, syncVersion} = req.body; + const { options, syncVersion } = req.body; if (appInfo.syncVersion !== syncVersion) { const message = `Could not setup sync since local sync protocol version is ${appInfo.syncVersion} while remote is ${syncVersion}. To fix this issue, use same Trilium version on all instances.`; diff --git a/src/routes/setup.js b/src/routes/setup.js index 0a1dca715..f99bc8c51 100644 --- a/src/routes/setup.js +++ b/src/routes/setup.js @@ -1,7 +1,7 @@ "use strict"; const sqlInit = require('../services/sql_init'); -const setupService = require('../services/setup.js'); +const setupService = require('../services/setup'); const utils = require('../services/utils'); const assetPath = require('../services/asset_path'); const appPath = require('../services/app_path'); @@ -10,7 +10,7 @@ function setupPage(req, res) { if (sqlInit.isDbInitialized()) { if (utils.isElectron()) { const windowService = require('../services/window'); - const {app} = require('electron'); + const { app } = require('electron'); windowService.createMainWindow(app); windowService.closeSetupWindow(); } diff --git a/src/services/options.ts b/src/services/options.ts index d2c413b51..b658e4ff7 100644 --- a/src/services/options.ts +++ b/src/services/options.ts @@ -15,7 +15,7 @@ function getOptionOrNull(name: string): string | null { return option ? option.value : null; } -function getOption(name: string): string { +function getOption(name: string) { const val = getOptionOrNull(name); if (val === null) { @@ -44,7 +44,7 @@ function getOptionInt(name: string, defaultValue?: number): number { function getOptionBool(name: string): boolean { const val = getOption(name); - if (!['true', 'false'].includes(val)) { + if (typeof val !== "string" || !['true', 'false'].includes(val)) { throw new Error(`Could not parse '${val}' into boolean for option '${name}'`); } @@ -52,7 +52,7 @@ function getOptionBool(name: string): boolean { } function setOption(name: string, value: string | number | boolean) { - if (value === true || value === false) { + if (value === true || value === false || typeof value === "number") { value = value.toString(); } @@ -68,7 +68,7 @@ function setOption(name: string, value: string | number | boolean) { } } -function createOption(name: string, value: string, isSynced: boolean) { +function createOption(name: string, value: string | number, isSynced: boolean) { // to avoid circular dependency, need to find a better solution const BOption = require('../becca/entities/boption'); @@ -84,7 +84,7 @@ function getOptions() { } function getOptionMap() { - const map: Record = {}; + const map: Record = {}; for (const option of Object.values(becca.options)) { map[option.name] = option.value;