Url presets (#807)

This commit is contained in:
Carlos Valente
2024-03-08 23:10:43 +01:00
committed by GitHub
parent 10d7273ec0
commit ad71793cf3
54 changed files with 544 additions and 1109 deletions
@@ -8,10 +8,10 @@ import {
ViewSettings,
DatabaseModel,
OSCSettings,
Alias,
Settings,
CustomFields,
HttpSettings,
URLPreset,
} from 'ontime-types';
import { data, db } from '../../setup/loadDb.js';
@@ -65,12 +65,12 @@ export class DataProvider {
return data.http;
}
static getAliases(): Alias[] {
return data.aliases;
static getUrlPresets(): URLPreset[] {
return data.urlPresets;
}
static async setAliases(newData: Alias[]) {
data.aliases = newData;
static async setUrlPresets(newData: URLPreset[]) {
data.urlPresets = newData;
await this.persist();
}
@@ -113,7 +113,7 @@ export class DataProvider {
data.viewSettings = mergedData.viewSettings;
data.osc = mergedData.osc;
data.http = mergedData.http;
data.aliases = mergedData.aliases;
data.urlPresets = mergedData.urlPresets;
data.customFields = mergedData.customFields;
data.rundown = mergedData.rundown;
await this.persist();
@@ -6,7 +6,7 @@ import { DatabaseModel } from 'ontime-types';
* @param {object} newData
*/
export function safeMerge(existing: DatabaseModel, newData: Partial<DatabaseModel>) {
const { rundown, project, settings, viewSettings, aliases, customFields, osc, http } = newData || {};
const { rundown, project, settings, viewSettings, urlPresets, customFields, osc, http } = newData || {};
return {
...existing,
@@ -14,7 +14,7 @@ export function safeMerge(existing: DatabaseModel, newData: Partial<DatabaseMode
project: { ...existing.project, ...project },
settings: { ...existing.settings, ...settings },
viewSettings: { ...existing.viewSettings, ...viewSettings },
aliases: aliases ?? existing.aliases,
urlPresets: urlPresets ?? existing.urlPresets,
customFields: customFields ?? existing.customFields,
osc: { ...existing.osc, ...osc },
http: { ...existing.http, ...http },
@@ -1,4 +1,4 @@
import { Alias, DatabaseModel, OntimeRundown, Settings } from 'ontime-types';
import { DatabaseModel, OntimeRundown, Settings, URLPreset } from 'ontime-types';
import { safeMerge } from '../DataProvider.utils.js';
describe('safeMerge', () => {
@@ -28,7 +28,7 @@ describe('safeMerge', () => {
warningColor: '#FFAB33',
dangerColor: '#ED3333',
},
aliases: [],
urlPresets: [],
customFields: {
lighting: { type: 'string', label: 'lighting', colour: 'red' },
vfx: { type: 'string', label: 'vfx', colour: 'blue' },
@@ -130,7 +130,7 @@ describe('safeMerge', () => {
});
});
it('should merge the aliases key when present', () => {
it('should merge the urlPresets key when present', () => {
const existingData = {
rundown: [],
project: {
@@ -153,7 +153,7 @@ describe('safeMerge', () => {
overrideStyles: false,
endMessage: '',
},
aliases: [],
urlPresets: [],
osc: {
portIn: 8888,
portOut: 9999,
@@ -165,15 +165,15 @@ describe('safeMerge', () => {
} as DatabaseModel;
const newData = {
aliases: [
urlPresets: [
{ enabled: true, alias: 'alias1', pathAndParams: '' },
{ enabled: true, alias: 'alias2', pathAndParams: '' },
] as Alias[],
] as URLPreset[],
};
const mergedData = safeMerge(existingData, newData);
expect(mergedData.aliases).toEqual(newData.aliases);
expect(mergedData.urlPresets).toEqual(newData.urlPresets);
});
it('merges customFields into existing object', () => {