.post((req, res) => { const isValid = Routine.validate(req.body); if (!isValid) { res.sendStatus(400); } else { const userId = res.locals.user.userId; const { name, sceneId, interval, enabled, runAtBankHoliday } = req.body; Routine.save(userId, name, sceneId, interval, enabled, runAtBankHoliday) .then(routine => { RoutineService.start(routine); res.status(201).json({ routineId: routine.routineId }); }) .catch(err => res.status(500).send({ err })); } });
.patch((req, res) => { const isValid = Routine.validate(req.body); if (!isValid) { res.sendStatus(400); } else { const routineId = req.params.routineId; const nextRunAt = Routine.computeNextRunAt( req.body.interval, req.body.runAtBankHoliday, ); Routine.findByIdAndUpdate(routineId, { ...req.body, nextRunAt }) .then(async rowsAffected => { if (!!rowsAffected) { const routine = await Routine.findById(routineId); RoutineService.start(routine); res.sendStatus(204); } else { res.sendStatus(404); } }) .catch(err => res.status(500).send({ err })); } })