getContentType()) { return $this->json([], 400); } $content = $request->getContent(); if (!$validator->isValidContent($content)) { return $this->json([], 400); } $data = json_decode($content, true); $entity = new Temperature(); $entity ->setDate(new \DateTime($data['date'])) ->setValue((float) $data['value']); $manager = $this->getDoctrine()->getManager(); $manager->persist($entity); $manager->flush(); $min = (float) $params->get('temperature_trigger_min'); $max = (float) $params->get('temperature_trigger_max'); if ($entity->getValue() < $min || $entity->getValue() > $max) { $message = (new \Swift_Message('[Terrarium] Alerte température')) ->setFrom('terrarium@deblan.fr') ->setTo(['simon@deblan.fr', 'jennifer@derago.fr']) ->setBody( $this->renderView( 'alert/temperature.txt.twig', [ 'entity' => $entity, 'entities' => $repository->findByDateRange( new \DateTime('now - 1 hour'), new \DateTime('now'), 6, 'DESC' ), 'triggers' => [ 'min' => $min, 'max' => $max, ], ] ) ); $mailer->send($message); } return $this->json([], 201); } }