feat: event description (#481)

* feat: enable configuration of <Info> panel

* feat: add description field to event data
This commit is contained in:
Carlos Valente
2023-08-11 10:55:02 +02:00
committed by GitHub
parent c361ff4b3f
commit af1241bec7
23 changed files with 162 additions and 82 deletions
@@ -1,21 +1,26 @@
import { RequestHandler } from 'express';
import { EventData } from 'ontime-types';
import { removeUndefined } from '../utils/parserUtils.js';
import { failEmptyObjects } from '../utils/routerUtils.js';
import { DataProvider } from '../classes/data-provider/DataProvider.js';
// Create controller for GET request to 'event'
export const getEventData = async (req, res) => {
export const getEventData: RequestHandler = async (req, res) => {
res.json(DataProvider.getEventData());
};
// Create controller for POST request to 'event'
export const postEventData = async (req, res) => {
export const postEventData: RequestHandler = async (req, res) => {
if (failEmptyObjects(req.body, res)) {
return;
}
try {
const newEvent = removeUndefined({
const newEvent: Partial<EventData> = removeUndefined({
title: req.body?.title,
description: req.body?.description,
publicUrl: req.body?.publicUrl,
publicInfo: req.body?.publicInfo,
backstageUrl: req.body?.backstageUrl,
@@ -2,6 +2,7 @@ import { body, validationResult } from 'express-validator';
export const eventDataSanitizer = [
body('title').optional().isString().trim(),
body('description').optional().isString().trim(),
body('publicUrl').optional().isString().trim(),
body('publicInfo').optional().isString().trim(),
body('backstageUrl').optional().isString().trim(),
@@ -1,5 +1,6 @@
import { Alias, EventData, LogOrigin } from 'ontime-types';
import { RequestHandler } from 'express';
import fs from 'fs';
import { networkInterfaces } from 'os';
@@ -325,10 +326,11 @@ export const dbUpload = async (req, res) => {
};
// Create controller for POST request to '/ontime/new'
export const postNew = async (req, res) => {
export const postNew: RequestHandler = async (req, res) => {
try {
const newEventData: Omit<EventData, 'endMessage'> = {
const newEventData: EventData = {
title: req.body?.title ?? '',
description: req.body?.description ?? '',
publicUrl: req.body?.publicUrl ?? '',
publicInfo: req.body?.publicInfo ?? '',
backstageUrl: req.body?.backstageUrl ?? '',
+1
View File
@@ -4,6 +4,7 @@ export const dbModel: DatabaseModel = {
rundown: [],
eventData: {
title: '',
description: '',
publicUrl: '',
publicInfo: '',
backstageUrl: '',
+1
View File
@@ -96,6 +96,7 @@ export const parseEventData = (data, enforce): EventData => {
newEventData = {
...dbModel.eventData,
title: e.title || dbModel.eventData.title,
description: e.description || dbModel.eventData.description,
publicUrl: e.publicUrl || dbModel.eventData.publicUrl,
publicInfo: e.publicInfo || dbModel.eventData.publicInfo,
backstageUrl: e.backstageUrl || dbModel.eventData.backstageUrl,