mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-04 06:58:02 +00:00
8a1474e8d6
* add functions to convert all errors to `ErrorResponse` type
* replace all `{ message: error.toString() }` with `toErrorResponse(error)`
* refactor: all controllers to to use getErrorMessage and add types to the Response
* 404 for nonexistent api routes
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import { CustomField, CustomFields, ErrorResponse } from 'ontime-types';
|
|
|
|
import type { Request, Response } from 'express';
|
|
|
|
import { getErrorMessage } from 'ontime-utils';
|
|
import {
|
|
createCustomField,
|
|
editCustomField,
|
|
getCustomFields as getCustomFieldsFromCache,
|
|
removeCustomField,
|
|
} from '../../services/rundown-service/rundownCache.js';
|
|
|
|
export async function getCustomFields(_req: Request, res: Response<CustomFields>) {
|
|
const customFields = getCustomFieldsFromCache();
|
|
res.json(customFields);
|
|
}
|
|
|
|
export async function postCustomField(req: Request, res: Response<CustomFields | ErrorResponse>) {
|
|
try {
|
|
const newField = req.body as CustomField;
|
|
const allFields = await createCustomField(newField);
|
|
res.status(201).send(allFields);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(400).send({ message });
|
|
}
|
|
}
|
|
|
|
export async function putCustomField(req: Request, res: Response<CustomFields | ErrorResponse>) {
|
|
try {
|
|
const oldLabel = req.params.label;
|
|
const { colour, type, label } = req.body;
|
|
const newFields = await editCustomField(oldLabel, { label, colour, type });
|
|
res.status(200).send(newFields);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(400).send({ message });
|
|
}
|
|
}
|
|
|
|
// Expects { label: <label> }
|
|
export async function deleteCustomField(req: Request, res: Response<CustomFields | ErrorResponse>) {
|
|
try {
|
|
const fieldToDelete = req.params.label;
|
|
await removeCustomField(fieldToDelete);
|
|
res.sendStatus(204);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(400).send({ message });
|
|
}
|
|
}
|