server-ts: Port services/options_init

This commit is contained in:
Elian Doran 2024-02-18 13:32:00 +02:00
parent 45cb7ced2c
commit 5f4f30f84b
No known key found for this signature in database
4 changed files with 32 additions and 22 deletions

View File

@ -3,19 +3,11 @@
import optionService = require('./options');
import log = require('./log');
import utils = require('./utils');
import { KeyboardShortcut } from './keyboard_actions_interface';
const isMac = process.platform === "darwin";
const isElectron = utils.isElectron();
interface KeyboardShortcut {
separator?: string;
actionName?: string;
description?: string;
defaultShortcuts?: string[];
effectiveShortcuts?: string[];
scope?: string;
}
/**
* Scope here means on which element the keyboard shortcuts are attached - this means that for the shortcut to work,
* the focus has to be inside the element.

View File

@ -0,0 +1,12 @@
export interface KeyboardShortcut {
separator?: string;
actionName?: string;
description?: string;
defaultShortcuts?: string[];
effectiveShortcuts?: string[];
scope?: string;
}
export interface KeyboardShortcutWithRequiredActionName extends KeyboardShortcut {
actionName: string;
}

View File

@ -1,16 +1,22 @@
const optionService = require('./options');
const appInfo = require('./app_info');
const utils = require('./utils');
const log = require('./log');
const dateUtils = require('./date_utils');
const keyboardActions = require('./keyboard_actions');
import optionService = require('./options');
import appInfo = require('./app_info');
import utils = require('./utils');
import log = require('./log');
import dateUtils = require('./date_utils');
import keyboardActions = require('./keyboard_actions');
import { KeyboardShortcutWithRequiredActionName } from './keyboard_actions_interface';
function initDocumentOptions() {
optionService.createOption('documentId', utils.randomSecureToken(16), false);
optionService.createOption('documentSecret', utils.randomSecureToken(16), false);
}
function initNotSyncedOptions(initialized, opts = {}) {
interface NotSyncedOpts {
syncServerHost?: string;
syncProxy?: string;
}
function initNotSyncedOptions(initialized: boolean, opts: NotSyncedOpts = {}) {
optionService.createOption('openNoteContexts', JSON.stringify([
{
notePath: 'root',
@ -21,7 +27,7 @@ function initNotSyncedOptions(initialized, opts = {}) {
optionService.createOption('lastDailyBackupDate', dateUtils.utcNowDateTime(), false);
optionService.createOption('lastWeeklyBackupDate', dateUtils.utcNowDateTime(), false);
optionService.createOption('lastMonthlyBackupDate', dateUtils.utcNowDateTime(), false);
optionService.createOption('dbVersion', appInfo.dbVersion, false);
optionService.createOption('dbVersion', appInfo.dbVersion.toString(), false);
optionService.createOption('initialized', initialized ? 'true' : 'false', false);
@ -117,8 +123,8 @@ function initStartupOptions() {
}
function getKeyboardDefaultOptions() {
return keyboardActions.DEFAULT_KEYBOARD_ACTIONS
.filter(ka => !!ka.actionName)
return (keyboardActions.DEFAULT_KEYBOARD_ACTIONS
.filter(ka => !!ka.actionName) as KeyboardShortcutWithRequiredActionName[])
.map(ka => ({
name: `keyboardShortcuts${ka.actionName.charAt(0).toUpperCase()}${ka.actionName.slice(1)}`,
value: JSON.stringify(ka.defaultShortcuts),
@ -126,7 +132,7 @@ function getKeyboardDefaultOptions() {
}));
}
module.exports = {
export = {
initDocumentOptions,
initNotSyncedOptions,
initStartupOptions

View File

@ -84,7 +84,7 @@ async function createInitialDatabase() {
notePosition: 10
}).save();
const optionsInitService = require('./options_init.js');
const optionsInitService = require('./options_init');
optionsInitService.initDocumentOptions();
optionsInitService.initNotSyncedOptions(true, {});
@ -132,7 +132,7 @@ function createDatabaseForSync(options: OptionRow[], syncServerHost = '', syncPr
sql.transactional(() => {
sql.executeScript(schema);
require('./options_init.js').initNotSyncedOptions(false, { syncServerHost, syncProxy });
require('./options_init').initNotSyncedOptions(false, { syncServerHost, syncProxy });
// document options required for sync to kick off
for (const opt of options) {