mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-13 03:13:47 +00:00
don't persist offset mode
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,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,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);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 };
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user