public function get()
 {
     $resposta = new stdClass();
     $resposta->success = false;
     $usuarioRepository = new UsuarioRepository($this->mapper);
     $usuarios = $usuarioRepository->obtemLista();
     $resposta->success = true;
     foreach ($usuarios as $usuario) {
         $resposta->usuario[] = $usuario->obtemCopia();
     }
     return $resposta;
 }
 public function put($id)
 {
     parse_str(file_get_contents('php://input'), $_REQUEST);
     $id = (int) $id;
     $senha = !empty($_REQUEST['senha']) ? $_REQUEST['senha'] : null;
     $resposta = new stdClass();
     $resposta->success = false;
     $usuarioRepository = new UsuarioRepository($this->mapper);
     $usuario = $usuarioRepository->obtem($id);
     if ($usuario) {
         $usuario->defineSenha($usuario->criptografaSenha($senha));
         $usuario->defineAtualizadoEm(date('Y-m-d H:i:s'));
         $this->mapper->usuario->persist($usuario);
         $this->mapper->flush();
         $resposta->success = true;
         $resposta->usuario = $usuario->obtemCopia();
     }
     return $resposta;
 }
 public function post()
 {
     parse_str(file_get_contents('php://input'), $_REQUEST);
     $login = !empty($_REQUEST['login']) ? $_REQUEST['login'] : null;
     $senha = !empty($_REQUEST['senha']) ? $_REQUEST['senha'] : null;
     $resposta = new stdClass();
     $resposta->success = false;
     $usuarioRepository = new UsuarioRepository($this->mapper);
     $usuario = $usuarioRepository->obtemPorLogin($login);
     $autentica = $usuario->autentica($senha);
     if ($autentica) {
         $acessoToken = new AcessoToken();
         $acessoToken->defineUsuario($usuario);
         $acessoToken->defineDataHoraInicio(date("Y-m-d H:i:s"));
         $acessoToken->defineDataHoraFim($acessoToken->calculaDataHoraFim());
         $acessoToken->defineTokenAcesso($acessoToken->geraTokenAcesso());
         $this->mapper->acessoToken->persist($acessoToken);
         $this->mapper->flush();
         $resposta->success = true;
         $resposta->acessoToken = $acessoToken->obtemCopia();
     }
     return $resposta;
 }