mirror of
https://github.com/cpvalente/ontime.git
synced 2026-09-03 13:29:06 +00:00
refactor: add presets to refetch list
This commit is contained in:
committed by
Carlos Valente
parent
1ed08df198
commit
1695b4dc68
@@ -10,7 +10,16 @@ import {
|
|||||||
} from 'ontime-types';
|
} from 'ontime-types';
|
||||||
|
|
||||||
import { isProduction, websocketUrl } from '../../externals';
|
import { isProduction, websocketUrl } from '../../externals';
|
||||||
import { CLIENT_LIST, CUSTOM_FIELDS, PROJECT_DATA, REPORT, RUNDOWN, RUNTIME, VIEW_SETTINGS } from '../api/constants';
|
import {
|
||||||
|
CLIENT_LIST,
|
||||||
|
CUSTOM_FIELDS,
|
||||||
|
PROJECT_DATA,
|
||||||
|
REPORT,
|
||||||
|
RUNDOWN,
|
||||||
|
RUNTIME,
|
||||||
|
URL_PRESETS,
|
||||||
|
VIEW_SETTINGS,
|
||||||
|
} from '../api/constants';
|
||||||
import { invalidateAllCaches } from '../api/utils';
|
import { invalidateAllCaches } from '../api/utils';
|
||||||
import { ontimeQueryClient } from '../queryClient';
|
import { ontimeQueryClient } from '../queryClient';
|
||||||
import {
|
import {
|
||||||
@@ -166,6 +175,9 @@ export const connectSocket = () => {
|
|||||||
ontimeQueryClient.invalidateQueries({ queryKey: RUNDOWN });
|
ontimeQueryClient.invalidateQueries({ queryKey: RUNDOWN });
|
||||||
ontimeQueryClient.invalidateQueries({ queryKey: CUSTOM_FIELDS });
|
ontimeQueryClient.invalidateQueries({ queryKey: CUSTOM_FIELDS });
|
||||||
break;
|
break;
|
||||||
|
case RefetchKey.UrlPresets:
|
||||||
|
ontimeQueryClient.invalidateQueries({ queryKey: URL_PRESETS });
|
||||||
|
break;
|
||||||
case RefetchKey.ViewSettings:
|
case RefetchKey.ViewSettings:
|
||||||
ontimeQueryClient.invalidateQueries({ queryKey: VIEW_SETTINGS });
|
ontimeQueryClient.invalidateQueries({ queryKey: VIEW_SETTINGS });
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
import type { Request, Response } from 'express';
|
import type { Request, Response } from 'express';
|
||||||
import type { ErrorResponse, URLPreset } from 'ontime-types';
|
import { RefetchKey, type ErrorResponse, type URLPreset } from 'ontime-types';
|
||||||
import { getErrorMessage } from 'ontime-utils';
|
import { getErrorMessage } from 'ontime-utils';
|
||||||
import { getDataProvider } from '../../classes/data-provider/DataProvider.js';
|
import { getDataProvider } from '../../classes/data-provider/DataProvider.js';
|
||||||
import { validateNewPreset, validatePresetParam, validateUpdatePreset } from './urlPresets.validation.js';
|
import { validateNewPreset, validatePresetParam, validateUpdatePreset } from './urlPresets.validation.js';
|
||||||
|
import { sendRefetch } from '../../adapters/WebsocketAdapter.js';
|
||||||
|
|
||||||
export const router = express.Router();
|
export const router = express.Router();
|
||||||
|
|
||||||
@@ -23,13 +24,14 @@ router.post('/', validateNewPreset, async (req: Request, res: Response<URLPreset
|
|||||||
|
|
||||||
const currentPresets = getDataProvider().getUrlPresets();
|
const currentPresets = getDataProvider().getUrlPresets();
|
||||||
if (currentPresets.some((preset) => preset.alias === newPreset.alias)) {
|
if (currentPresets.some((preset) => preset.alias === newPreset.alias)) {
|
||||||
throw new Error(`Preset with alias "${newPreset.alias}" already exists.`);
|
throw new Error(`Preset with alias ${newPreset.alias} already exists.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const newPresets = [...currentPresets, newPreset];
|
const newPresets = [...currentPresets, newPreset];
|
||||||
|
|
||||||
// Update the URL presets in the data provider
|
// Update the URL presets in the data provider
|
||||||
await getDataProvider().setUrlPresets(newPresets);
|
await getDataProvider().setUrlPresets(newPresets);
|
||||||
|
sendRefetch(RefetchKey.UrlPresets);
|
||||||
res.status(201).send(newPresets);
|
res.status(201).send(newPresets);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = getErrorMessage(error);
|
const message = getErrorMessage(error);
|
||||||
@@ -56,6 +58,7 @@ router.put('/:alias', validateUpdatePreset, async (req: Request, res: Response<U
|
|||||||
|
|
||||||
// Update the URL presets in the data provider
|
// Update the URL presets in the data provider
|
||||||
await getDataProvider().setUrlPresets(newPresets);
|
await getDataProvider().setUrlPresets(newPresets);
|
||||||
|
sendRefetch(RefetchKey.UrlPresets);
|
||||||
res.status(200).send(newPresets);
|
res.status(200).send(newPresets);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = getErrorMessage(error);
|
const message = getErrorMessage(error);
|
||||||
@@ -71,6 +74,7 @@ router.delete('/:alias', validatePresetParam, async (req: Request, res: Response
|
|||||||
|
|
||||||
// Update the URL presets in the data provider
|
// Update the URL presets in the data provider
|
||||||
await getDataProvider().setUrlPresets(newPresets);
|
await getDataProvider().setUrlPresets(newPresets);
|
||||||
|
sendRefetch(RefetchKey.UrlPresets);
|
||||||
res.status(200).send(newPresets);
|
res.status(200).send(newPresets);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = getErrorMessage(error);
|
const message = getErrorMessage(error);
|
||||||
|
|||||||
@@ -4,5 +4,6 @@ export enum RefetchKey {
|
|||||||
ProjectData = 'project-data',
|
ProjectData = 'project-data',
|
||||||
Report = 'report',
|
Report = 'report',
|
||||||
Rundown = 'rundown',
|
Rundown = 'rundown',
|
||||||
|
UrlPresets = 'url-presets',
|
||||||
ViewSettings = 'view-settings',
|
ViewSettings = 'view-settings',
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user