Files
ontime/apps/server/src/api-data/settings/settings.parser.ts
T
Alex Christoffer Rasmussen c1fcdf7065 Remove serverport from project file (#1957)
* feat: get server port from app satate or env

optional startup port from env will always override

function for parsing port from env

populate default port in app state

add test for migration

* bump version
2026-03-02 06:02:29 -08:00

27 lines
942 B
TypeScript

import { DatabaseModel, Settings } from 'ontime-types';
import { getPartialProject } from '../../models/dataModel.js';
/**
* Parse settings portion of a project file
*/
export function parseSettings(data: Partial<DatabaseModel>): Settings {
const defaultSettings: Settings = getPartialProject('settings');
// skip if file definition is missing
// TODO: skip parsing if the version is not correct
if (!data.settings || data.settings?.version == null) {
throw new Error('ERROR: unable to parse settings, missing or incorrect version');
}
console.log('Found settings, importing...');
return {
version: defaultSettings.version,
editorKey: data.settings.editorKey ?? defaultSettings.editorKey,
operatorKey: data.settings.operatorKey ?? defaultSettings.operatorKey,
timeFormat: data.settings.timeFormat ?? defaultSettings.timeFormat,
language: data.settings.language ?? defaultSettings.language,
};
}