@POST @Path("login/facebook") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response realizarLoginFacebook(String json) { Response response = null; try { Prestador prestador = new Prestador(); configurarUsuario(prestador, new JSONObject(json)); configurarPrestador(prestador); Prestador usuarioPesquisado = prestadorSevice.findByEmail(prestador.getEmail()); if (usuarioPesquisado == null) { prestadorSevice.create(prestador); } else { if (!usuarioPesquisado.getFacebookId().equals(prestador.getFacebookId())) { prestadorSevice.update(prestador); ; } prestador.setSenha(usuarioPesquisado.getSenha()); } response = configurarResponse(prestador); } catch (Exception e) { response = CallBackUtil.setResponseError( Status.INTERNAL_SERVER_ERROR.getStatusCode(), e.getMessage()); } return response; }
private Response configurarResponse(Usuario usuario) throws ServiceException { Token token = tokenGeneratorService.create(usuario); String retorno = BLANK_RETURN; Response response = null; if (token != null) { Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create(); retorno = gson.toJson(token); response = CallBackUtil.setResponseOK(retorno, MediaType.APPLICATION_JSON); } else { response = CallBackUtil.setResponseError( Status.INTERNAL_SERVER_ERROR.getStatusCode(), MessageUtil.getMessageFromBundle("exception.token_nao_encontrado")); } return response; }
@POST @Path("login") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response realizarLogin(String json) { Response response = null; try { Usuario usuario = new Usuario(); configurarUsuario(usuario, new JSONObject(json)); response = configurarResponse(usuario); } catch (ServiceException e) { response = CallBackUtil.setResponseError(Status.BAD_REQUEST.getStatusCode(), e.getMessage()); } catch (Exception e) { response = CallBackUtil.setResponseError( Status.INTERNAL_SERVER_ERROR.getStatusCode(), e.getMessage()); } return response; }