Example #1
0
  .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 }));
    }
  });
Example #2
0
 .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 }));
   }
 })