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>) {
try {
const { rundown, project, settings, viewSettings, urlPresets, customFields, automation } = req.body;
const patchDb: Partial<DatabaseModel> = {
const patchDb: DatabaseModel = {
rundown,
project,
settings,
-3
View File
@@ -170,8 +170,6 @@ export const startServer = async (
socket.init(expressServer, showWelcome, prefix);
const offsetMode = getDataProvider().getOffsetMode();
/**
* 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
runtimeService.init(maybeRestorePoint);
runtimeService.setOffsetMode(offsetMode);
const nif = getNetworkInterfaces();
consoleSuccess(`Local: http://localhost:${resultPort}${prefix}/editor`);
@@ -7,7 +7,6 @@ import {
CustomFields,
URLPreset,
AutomationSettings,
OffsetMode,
} from 'ontime-types';
import type { Low } from 'lowdb';
@@ -56,8 +55,6 @@ export function getDataProvider() {
setAutomation,
getRundown,
mergeIntoData,
getOffsetMode,
setOffsetMode,
};
}
@@ -135,17 +132,6 @@ function getRundown(): Readonly<OntimeRundown> {
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> {
const mergedData = safeMerge(db.data, newData);
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';
describe('safeMerge', () => {
@@ -42,7 +42,6 @@ describe('safeMerge', () => {
triggers: [],
automations: {},
},
offsetMode: OffsetMode.Absolute,
} as DatabaseModel;
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';
export const dbModel: DatabaseModel = {
@@ -38,5 +38,4 @@ export const dbModel: DatabaseModel = {
triggers: [],
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 = {
rundown: [
@@ -457,5 +457,4 @@ export const demoDb: DatabaseModel = {
triggers: [],
automations: {},
},
offsetMode: OffsetMode.Absolute,
};
@@ -38,7 +38,6 @@ import {
import { getForceUpdate, getShouldClockUpdate, getShouldTimerUpdate } from './rundownService.utils.js';
import { skippedOutOfEvent } from '../timerUtils.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'>;
@@ -73,9 +72,6 @@ class RuntimeService {
@broadcastResult
setOffsetMode(mode: OffsetMode) {
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 { makeString } from './parserUtils.js';
import {
parseOffsetMode,
parseProject,
parseRundown,
parseSettings,
parseUrlPresets,
parseViewSettings,
} from './parserFunctions.js';
import { parseProject, parseRundown, parseSettings, parseUrlPresets, parseViewSettings } from './parserFunctions.js';
import { parseExcelDate } from './time.js';
export type ErrorEmitter = (message: string) => void;
@@ -343,7 +336,6 @@ export function parseDatabaseModel(jsonData: Partial<DatabaseModel>): { data: Da
urlPresets: parseUrlPresets(jsonData, makeEmitError('URL Presets')),
customFields,
automation: parseAutomationSettings(jsonData),
offsetMode: parseOffsetMode(jsonData, makeEmitError('OffsetMode')),
};
return { data, errors };
-21
View File
@@ -2,7 +2,6 @@ import {
CustomField,
CustomFields,
DatabaseModel,
OffsetMode,
OntimeBlock,
OntimeDelay,
OntimeEvent,
@@ -21,7 +20,6 @@ import { customFieldLabelToKey, generateId, isAlphanumericWithSpace } from 'onti
import { dbModel } from '../models/dataModel.js';
import { block as blockDef, delay as delayDef } from '../models/eventsDefinition.js';
import { createEvent, type ErrorEmitter } from './parser.js';
import { coerceEnum } from './coerceType.js';
/**
* 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
*/
@@ -1,7 +1,6 @@
import type {
AutomationSettings,
CustomFields,
OffsetMode,
OntimeRundown,
ProjectData,
Settings,
@@ -17,5 +16,4 @@ export type DatabaseModel = {
urlPresets: URLPreset[];
customFields: CustomFields;
automation: AutomationSettings;
offsetMode: OffsetMode;
};
@@ -14,5 +14,5 @@ export type Runtime = {
actualStart: MaybeNumber;
plannedEnd: MaybeNumber;
expectedEnd: MaybeNumber;
offsetMode: OffsetMode; // TODO: get proper names
offsetMode: OffsetMode;
};