diff --git a/apps/server/src/api-data/rundown/rundown.router.ts b/apps/server/src/api-data/rundown/rundown.router.ts index 099ccd665..77a152f23 100644 --- a/apps/server/src/api-data/rundown/rundown.router.ts +++ b/apps/server/src/api-data/rundown/rundown.router.ts @@ -98,21 +98,25 @@ router.post('/', rundownPostValidator, async (req: Request, res: Response) => { - try { - const dataProvider = getDataProvider(); - const rundown = dataProvider.getRundown(req.params.id); +router.post( + '/:id/duplicate', + paramsWithId, + async (req: Request, res: Response) => { + try { + const dataProvider = getDataProvider(); + const rundown = dataProvider.getRundown(req.params.id); - const duplicatedRundown: Rundown = duplicateRundown(rundown, `Copy of ${rundown.title}`); - await dataProvider.setRundown(duplicatedRundown.id, duplicatedRundown); + const duplicatedRundown: Rundown = duplicateRundown(rundown, `Copy of ${rundown.title}`); + await dataProvider.setRundown(duplicatedRundown.id, duplicatedRundown); - const projectRundowns = getDataProvider().getProjectRundowns(); - res.status(201).json({ loaded: getCurrentRundown().id, rundowns: normalisedToRundownArray(projectRundowns) }); - } catch (error) { - const message = getErrorMessage(error); - res.status(400).send({ message }); - } -}); + const projectRundowns = getDataProvider().getProjectRundowns(); + res.status(201).json({ loaded: getCurrentRundown().id, rundowns: normalisedToRundownArray(projectRundowns) }); + } catch (error) { + const message = getErrorMessage(error); + res.status(400).send({ message }); + } + }, +); /** * Patches the data of an existing rundown @@ -128,7 +132,7 @@ router.patch('/:id', paramsWithId, async (req: Request, res: Response