package at.intelligentminds.service; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.hibernate.Transaction; import at.intelligentminds.service.model.HibernateSupport; import at.intelligentminds.service.model.User; @Path("/userservice") public class DeleteService { @POST @Path("/deleteuser") @Produces(MediaType.TEXT_PLAIN) public boolean deleteUser(@FormParam("email") String email, @FormParam("password") String password, @FormParam("authtoken") String authtoken) { if(!new LoginService().validate(authtoken)) return false; Transaction tx = HibernateSupport.getSession().beginTransaction(); User user = (User)HibernateSupport.getSession().get(User.class, email); tx.commit(); try { if(PasswordHash.validatePassword(password, user.getPwHash())){ tx = HibernateSupport.getSession().beginTransaction(); HibernateSupport.getSession().delete(user); tx.commit(); return true; }else{ return false; } } catch (Exception e) { e.printStackTrace(); return false; } } @Path("/deleteuser") @GET @Produces(MediaType.TEXT_HTML) public String get() { return "These are not the droids you are looking for."; } }