Beispiel #1
0
 $app->response->headers->set('Content-Type', 'application/vnd.api+json; version 1');
 $schema = $validator['retriever']->retrieve('file://' . $validator['dir'] . '/farmacias/post.json');
 $data = json_decode($app->request->getBody());
 $r = null;
 if ($app->request->headers->get('Content-Type') === $contentType['json'] || $app->request->headers->get('Content-Type') === $contentType['jsonapi']) {
     $validator['validator']->check($data, $schema);
     if ($validator['validator']->isValid()) {
         $farmacia = json_decode($app->request->getBody(), true);
         $nome = $farmacia['nome'];
         $descricao = $farmacia['descricao'];
         $em->getConnection()->beginTransaction();
         $farmaciaCriada = true;
         try {
             $f = new Farmacia();
             $f->setNome($nome);
             $f->setDescricao($descricao);
             $f->setDataDeActualizacao(new DateTime('NOW'));
             $f->setDataDeCriacao(new DateTime('NOW'));
             $em->persist($f);
             $em->flush();
             $em->getConnection()->commit();
         } catch (Exception $e) {
             $em->getConnection()->rollback();
             $farmaciaCriada = false;
         }
         if ($farmaciaCriada) {
             $r = array('farmacias' => array('id' => $f->getId(), 'nome' => $f->getNome(), 'descricao' => $f->getDescricao(), 'dataDeCriacao' => $f->getDataDeCriacao()->format('Y-m-d H:i:s'), 'dataDeActualizacao' => $f->getDataDeActualizacao()->format('Y-m-d H:i:s')));
             $app->response->setStatus(201);
         } else {
             $r = $erros['criacao'];
         }