mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-04 23:18:01 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { RequestHandler } from 'express';
|
|
|
|
import { ProjectData } 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 'project'
|
|
export const getProject: RequestHandler = async (req, res) => {
|
|
res.json(DataProvider.getProjectData());
|
|
};
|
|
|
|
// Create controller for POST request to 'project'
|
|
export const postProject: RequestHandler = async (req, res) => {
|
|
if (failEmptyObjects(req.body, res)) {
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const newEvent: Partial<ProjectData> = removeUndefined({
|
|
title: req.body?.title,
|
|
description: req.body?.description,
|
|
publicUrl: req.body?.publicUrl,
|
|
publicInfo: req.body?.publicInfo,
|
|
backstageUrl: req.body?.backstageUrl,
|
|
backstageInfo: req.body?.backstageInfo,
|
|
endMessage: req.body?.endMessage,
|
|
});
|
|
const newData = await DataProvider.setProjectData(newEvent);
|
|
res.status(200).send(newData);
|
|
} catch (error) {
|
|
res.status(400).send(error);
|
|
}
|
|
};
|