diff --git a/app/controllers/SlideController.js b/app/controllers/SlideController.js index 3795faf..f503b7e 100644 --- a/app/controllers/SlideController.js +++ b/app/controllers/SlideController.js @@ -9,16 +9,22 @@ const robots = { const controller = {}; controller.post = async (req, res) => { - let content = { lang, author, searchTerm, font, prefix, numberOfSlides } = req.body; + let content = { lang = 'en', author = '', searchTerm, font = 'Roboto', prefix, numberOfSlides = 7 } = req.body; content.id = generateRandomId(); + if(!searchTerm) + return res.status(400).json({ error: 'search term missing' }); + + if(numberOfSlides > 20) + return res.status(400).json({ error: 'number of slides exceeded the limit' }); + try { content = await robots.text.start(content); content = await robots.image.start(content); await robots.powerPoint.start(content); res.json({ slideId: content.id }); } catch(error) { - res.status(400).json({ error }); + res.status(500).json({ error }); } }