package restservices; import com.google.gson.Gson; import dao.UsuarioDAO; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Request; import javax.ws.rs.core.UriInfo; import model.Usuario; import restservices.response.EstadoResponse; import restservices.request.LoginRequest; @Path("login") public class LoginService { @Context UriInfo uriInfo; @Context Request request; /* { "email":"alonsus91", "password":"contraseƱa" } */ @POST @Produces({MediaType.APPLICATION_JSON}) @Path("user") public EstadoResponse cambiarEstado(String request) { Gson gson = new Gson(); LoginRequest loginRequest = new LoginRequest(); loginRequest = gson.fromJson(request, LoginRequest.class); UsuarioDAO usuarioDAO = new UsuarioDAO(); Usuario usuario = usuarioDAO.findByEmail(loginRequest.getEmail()); if (usuario == null) { usuario = usuarioDAO.findUsername(loginRequest.getEmail()); } if (usuario != null) { String passJSON = loginRequest.getPassword(); String passBBDD = usuario.getPassword(); if (passJSON.equals(passBBDD)) { EstadoResponse estadoResponse = new EstadoResponse(); estadoResponse.setEstado("ok"); return estadoResponse; } else { EstadoResponse estadoResponse = new EstadoResponse(); estadoResponse.setEstado("contraseƱa incorrecta"); return estadoResponse; } } else { EstadoResponse estadoResponse = new EstadoResponse(); estadoResponse.setEstado("usuario no existente"); return estadoResponse; } } }