@POST @Path("{token}") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public String gerarToken(@PathParam("token") Long id, String json) { String retorno = BLANK_RETURN; Token token = null; try { Usuario usuario = usuarioSevice.findByCodigo(id); if (usuario != null) { token = tokenGeneratorService.findByUsuarioId(id); Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create(); if (token != null) { retorno = gson.toJson(token); } else { JSONObject jsonObject = new JSONObject(json); configurarUsuario(usuario, jsonObject); token = tokenGeneratorService.create(usuario); retorno = gson.toJson(token); } } else { // TODO Saber qual a mensagem enviar para o cliente } } catch (ServiceException e) { // TODO Saber qual mensagem passar para o usuário } catch (Exception e) { // TODO Saber qual mensagem passar para o usuário } return retorno; }
@DELETE @Path("/{logout}/{email}") public void removerToken( @PathParam("logout") String logout, @PathParam("email") String email, String json) { try { Usuario usuario = usuarioSevice.findByEmail(email); if (usuario != null) { JSONObject jsonObject = new JSONObject(json); if (logout.equalsIgnoreCase("logout")) { Token token = new Token(); configurarToken(token, usuario, jsonObject); Token tokenPesquisado = tokenGeneratorService.findByApiKeyAndUsuarioId(token.getApiKey(), usuario.getId()); if (tokenPesquisado != null) { tokenGeneratorService.delete(tokenPesquisado); } } else if (logout.equalsIgnoreCase("logoutAll")) { tokenGeneratorService.deleteAllByUsuario(usuario); } } else { // TODO Saber qual mensagem passar para o usuário } } catch (ServiceException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
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; }