From 0a68377b82a433750cbc51a06f293159836d0d9e Mon Sep 17 00:00:00 2001 From: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Date: Wed, 5 Apr 2023 21:42:18 +0200 Subject: [PATCH] feat: notify ws clients on rundown changes (#327) --- apps/server/src/adapters/websocketAux.ts | 12 ++++++++++++ apps/server/src/services/RundownService.ts | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 apps/server/src/adapters/websocketAux.ts diff --git a/apps/server/src/adapters/websocketAux.ts b/apps/server/src/adapters/websocketAux.ts new file mode 100644 index 000000000..a0ed93b1d --- /dev/null +++ b/apps/server/src/adapters/websocketAux.ts @@ -0,0 +1,12 @@ +import { socket } from './WebsocketAdapter.js'; + +/** + * Utility function to notify clients that the REST data is stale + * @param payload -- possible patch payload + */ +export function sendRefetch(payload: any | null = null) { + socket.send({ + type: 'ontime-refetch', + payload, + }); +} diff --git a/apps/server/src/services/RundownService.ts b/apps/server/src/services/RundownService.ts index 1887fc50e..ffa3497af 100644 --- a/apps/server/src/services/RundownService.ts +++ b/apps/server/src/services/RundownService.ts @@ -5,6 +5,7 @@ import { block as blockDef, delay as delayDef, event as eventDef } from '../mode import { MAX_EVENTS } from '../settings.js'; import { EventLoader, eventLoader } from '../classes/event-loader/EventLoader.js'; import { eventTimer } from './TimerService.js'; +import { sendRefetch } from '../adapters/websocketAux.js'; /** * Checks if a list of IDs is in the current selection @@ -145,6 +146,7 @@ export async function addEvent(eventData: Partial | Partial