don't persist offset mode

This commit is contained in:
arc-alex
2025-03-13 12:08:24 +01:00
parent ee39bc296f
commit 932bb8102c
11 changed files with 6 additions and 61 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ import * as projectService from '../../services/project-service/ProjectService.j
export async function patchPartialProjectFile(req: Request, res: Response<DatabaseModel | ErrorResponse>) { export async function patchPartialProjectFile(req: Request, res: Response<DatabaseModel | ErrorResponse>) {
try { try {
const { rundown, project, settings, viewSettings, urlPresets, customFields, automation } = req.body; const { rundown, project, settings, viewSettings, urlPresets, customFields, automation } = req.body;
const patchDb: Partial<DatabaseModel> = { const patchDb: DatabaseModel = {
rundown, rundown,
project, project,
settings, settings,
-3
View File
@@ -170,8 +170,6 @@ export const startServer = async (
socket.init(expressServer, showWelcome, prefix); socket.init(expressServer, showWelcome, prefix);
const offsetMode = getDataProvider().getOffsetMode();
/** /**
* Module initialises the services and provides initial payload for the store * Module initialises the services and provides initial payload for the store
*/ */
@@ -212,7 +210,6 @@ export const startServer = async (
// TODO: pass event store to rundownservice // TODO: pass event store to rundownservice
runtimeService.init(maybeRestorePoint); runtimeService.init(maybeRestorePoint);
runtimeService.setOffsetMode(offsetMode);
const nif = getNetworkInterfaces(); const nif = getNetworkInterfaces();
consoleSuccess(`Local: http://localhost:${resultPort}${prefix}/editor`); consoleSuccess(`Local: http://localhost:${resultPort}${prefix}/editor`);
@@ -7,7 +7,6 @@ import {
CustomFields, CustomFields,
URLPreset, URLPreset,
AutomationSettings, AutomationSettings,
OffsetMode,
} from 'ontime-types'; } from 'ontime-types';
import type { Low } from 'lowdb'; import type { Low } from 'lowdb';
@@ -56,8 +55,6 @@ export function getDataProvider() {
setAutomation, setAutomation,
getRundown, getRundown,
mergeIntoData, mergeIntoData,
getOffsetMode,
setOffsetMode,
}; };
} }
@@ -135,17 +132,6 @@ function getRundown(): Readonly<OntimeRundown> {
return db.data.rundown; return db.data.rundown;
} }
function getOffsetMode(): Readonly<OffsetMode> {
return db.data.offsetMode;
}
async function setOffsetMode(mode): ReadonlyPromise<OffsetMode> {
db.data.offsetMode = mode;
//TODO: should this maybe not be persisted every time
await persist();
return db.data.offsetMode;
}
async function mergeIntoData(newData: Partial<DatabaseModel>): ReadonlyPromise<DatabaseModel> { async function mergeIntoData(newData: Partial<DatabaseModel>): ReadonlyPromise<DatabaseModel> {
const mergedData = safeMerge(db.data, newData); const mergedData = safeMerge(db.data, newData);
db.data.project = mergedData.project; db.data.project = mergedData.project;
@@ -1,4 +1,4 @@
import { DatabaseModel, OffsetMode, OntimeRundown, Settings, URLPreset, ViewSettings } from 'ontime-types'; import { DatabaseModel, OntimeRundown, Settings, URLPreset, ViewSettings } from 'ontime-types';
import { safeMerge } from '../DataProvider.utils.js'; import { safeMerge } from '../DataProvider.utils.js';
describe('safeMerge', () => { describe('safeMerge', () => {
@@ -42,7 +42,6 @@ describe('safeMerge', () => {
triggers: [], triggers: [],
automations: {}, automations: {},
}, },
offsetMode: OffsetMode.Absolute,
} as DatabaseModel; } as DatabaseModel;
it('returns existing data if new data is not provided', () => { it('returns existing data if new data is not provided', () => {
+1 -2
View File
@@ -1,4 +1,4 @@
import { DatabaseModel, OffsetMode } from 'ontime-types'; import { DatabaseModel } from 'ontime-types';
import { ONTIME_VERSION } from '../ONTIME_VERSION.js'; import { ONTIME_VERSION } from '../ONTIME_VERSION.js';
export const dbModel: DatabaseModel = { export const dbModel: DatabaseModel = {
@@ -38,5 +38,4 @@ export const dbModel: DatabaseModel = {
triggers: [], triggers: [],
automations: {}, automations: {},
}, },
offsetMode: OffsetMode.Absolute,
}; };
+1 -2
View File
@@ -1,4 +1,4 @@
import { DatabaseModel, EndAction, OffsetMode, SupportedEvent, TimeStrategy, TimerType } from 'ontime-types'; import { DatabaseModel, EndAction, SupportedEvent, TimeStrategy, TimerType } from 'ontime-types';
export const demoDb: DatabaseModel = { export const demoDb: DatabaseModel = {
rundown: [ rundown: [
@@ -457,5 +457,4 @@ export const demoDb: DatabaseModel = {
triggers: [], triggers: [],
automations: {}, automations: {},
}, },
offsetMode: OffsetMode.Absolute,
}; };
@@ -38,7 +38,6 @@ import {
import { getForceUpdate, getShouldClockUpdate, getShouldTimerUpdate } from './rundownService.utils.js'; import { getForceUpdate, getShouldClockUpdate, getShouldTimerUpdate } from './rundownService.utils.js';
import { skippedOutOfEvent } from '../timerUtils.js'; import { skippedOutOfEvent } from '../timerUtils.js';
import { triggerAutomations } from '../../api-data/automation/automation.service.js'; import { triggerAutomations } from '../../api-data/automation/automation.service.js';
import { getDataProvider } from '../../classes/data-provider/DataProvider.js';
type RuntimeStateEventKeys = keyof Pick<RuntimeState, 'eventNext' | 'eventNow' | 'publicEventNow' | 'publicEventNext'>; type RuntimeStateEventKeys = keyof Pick<RuntimeState, 'eventNext' | 'eventNow' | 'publicEventNow' | 'publicEventNext'>;
@@ -73,9 +72,6 @@ class RuntimeService {
@broadcastResult @broadcastResult
setOffsetMode(mode: OffsetMode) { setOffsetMode(mode: OffsetMode) {
runtimeState.setOffsetMode(mode); runtimeState.setOffsetMode(mode);
process.nextTick(() => {
getDataProvider().setOffsetMode(mode);
});
} }
/** /**
+1 -9
View File
@@ -27,14 +27,7 @@ import { logger } from '../classes/Logger.js';
import { event as eventDef } from '../models/eventsDefinition.js'; import { event as eventDef } from '../models/eventsDefinition.js';
import { makeString } from './parserUtils.js'; import { makeString } from './parserUtils.js';
import { import { parseProject, parseRundown, parseSettings, parseUrlPresets, parseViewSettings } from './parserFunctions.js';
parseOffsetMode,
parseProject,
parseRundown,
parseSettings,
parseUrlPresets,
parseViewSettings,
} from './parserFunctions.js';
import { parseExcelDate } from './time.js'; import { parseExcelDate } from './time.js';
export type ErrorEmitter = (message: string) => void; export type ErrorEmitter = (message: string) => void;
@@ -343,7 +336,6 @@ export function parseDatabaseModel(jsonData: Partial<DatabaseModel>): { data: Da
urlPresets: parseUrlPresets(jsonData, makeEmitError('URL Presets')), urlPresets: parseUrlPresets(jsonData, makeEmitError('URL Presets')),
customFields, customFields,
automation: parseAutomationSettings(jsonData), automation: parseAutomationSettings(jsonData),
offsetMode: parseOffsetMode(jsonData, makeEmitError('OffsetMode')),
}; };
return { data, errors }; return { data, errors };
-21
View File
@@ -2,7 +2,6 @@ import {
CustomField, CustomField,
CustomFields, CustomFields,
DatabaseModel, DatabaseModel,
OffsetMode,
OntimeBlock, OntimeBlock,
OntimeDelay, OntimeDelay,
OntimeEvent, OntimeEvent,
@@ -21,7 +20,6 @@ import { customFieldLabelToKey, generateId, isAlphanumericWithSpace } from 'onti
import { dbModel } from '../models/dataModel.js'; import { dbModel } from '../models/dataModel.js';
import { block as blockDef, delay as delayDef } from '../models/eventsDefinition.js'; import { block as blockDef, delay as delayDef } from '../models/eventsDefinition.js';
import { createEvent, type ErrorEmitter } from './parser.js'; import { createEvent, type ErrorEmitter } from './parser.js';
import { coerceEnum } from './coerceType.js';
/** /**
* Parse rundown array of an entry * Parse rundown array of an entry
@@ -119,25 +117,6 @@ export function parseProject(data: Partial<DatabaseModel>, emitError?: ErrorEmit
}; };
} }
/**
* Parse offsetmode
*/
export function parseOffsetMode(data: Partial<DatabaseModel>, emitError?: ErrorEmitter): OffsetMode {
if (!data.offsetMode) {
emitError?.('No offsetmode found to import');
return dbModel.offsetMode;
}
console.log('Found offsetmode, importing...');
try {
return coerceEnum<OffsetMode>(data.offsetMode, OffsetMode);
} catch (error) {
emitError?.('Invalid offsetmode found');
return dbModel.offsetMode;
}
}
/** /**
* Parse settings portion of an entry * Parse settings portion of an entry
*/ */
@@ -1,7 +1,6 @@
import type { import type {
AutomationSettings, AutomationSettings,
CustomFields, CustomFields,
OffsetMode,
OntimeRundown, OntimeRundown,
ProjectData, ProjectData,
Settings, Settings,
@@ -17,5 +16,4 @@ export type DatabaseModel = {
urlPresets: URLPreset[]; urlPresets: URLPreset[];
customFields: CustomFields; customFields: CustomFields;
automation: AutomationSettings; automation: AutomationSettings;
offsetMode: OffsetMode;
}; };
@@ -14,5 +14,5 @@ export type Runtime = {
actualStart: MaybeNumber; actualStart: MaybeNumber;
plannedEnd: MaybeNumber; plannedEnd: MaybeNumber;
expectedEnd: MaybeNumber; expectedEnd: MaybeNumber;
offsetMode: OffsetMode; // TODO: get proper names offsetMode: OffsetMode;
}; };