diff --git a/src/main/java/application/controllers/UserController.java b/src/main/java/application/controllers/UserController.java index 34a620c..caf5fba 100644 --- a/src/main/java/application/controllers/UserController.java +++ b/src/main/java/application/controllers/UserController.java @@ -14,6 +14,9 @@ import org.springframework.web.bind.annotation.*; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; /** * Created by lukasgol on 21.04.14. @@ -47,11 +50,48 @@ public class UserController { @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public String login(@RequestParam String login,@RequestParam String password) throws JSONException{ - // test - JSONObject test = new JSONObject(); - test.put("success", true); + JSONObject loginResponse = new JSONObject(); + boolean userFound = false; - return test.toString(); + for(User user: userRepository.findAll()){ + if(login.equals(user.getEmail()) && password.equals(user.getPassword())){ + userFound = true; + loginResponse.put("success", true); + + //access codes + JSONArray accessCodes = new JSONArray(); + + //message + JSONObject message = new JSONObject(); + + loginResponse.put("accessCodes", accessCodes); + loginResponse.put("message", message); + } + + if(login.equals(user.getEmail()) && !password.equals(user.getPassword())){ + userFound = true; + loginResponse.put("success", false); + loginResponse.put("error_code", 2); + loginResponse.put("error_message", "BAD_PASSWORD"); + } + } + + if(!userFound){ + loginResponse.put("success", false); + loginResponse.put("error_code", 1); + loginResponse.put("error_message", "NO_SUCH_USER"); + } + + return loginResponse.toString(); + } + + @RequestMapping("/addMe") + @ResponseBody + public String addMe() { + User marcin = new User("Marcin", "Michalek", "marcin.marcim@gmail.com", "pass"); + userRepository.save(marcin); + + return "User created" + marcin.getUserId(); } @RequestMapping("/{userId}") diff --git a/src/main/java/application/model/User.java b/src/main/java/application/model/User.java index 4036e6b..e404c89 100644 --- a/src/main/java/application/model/User.java +++ b/src/main/java/application/model/User.java @@ -21,6 +21,9 @@ public class User { @Basic private String email; + @Basic + private String password; + @ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER) @JoinTable( name="User_Role", @@ -28,10 +31,11 @@ public class User { inverseJoinColumns = @JoinColumn( name="Role_ID")) private Set roles = new HashSet(0); - public User(String firstName, String lastName, String email) { + public User(String firstName, String lastName, String email, String password) { this.firstName = firstName; this.lastName = lastName; this.email = email; + this.password = password; } public User() { @@ -41,8 +45,6 @@ public class User { roles.add(role); } - - //getter and setter private Set getRole(){ return roles; @@ -87,5 +89,14 @@ public class User { public void setRoles(Set roles) { this.roles = roles; } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + //end } diff --git a/src/main/java/application/utils/Initializer.java b/src/main/java/application/utils/Initializer.java index c99d5b6..2f1c18e 100644 --- a/src/main/java/application/utils/Initializer.java +++ b/src/main/java/application/utils/Initializer.java @@ -25,7 +25,7 @@ public class Initializer { ceo = roleRepository.save(ceo); - User user1 = new User("Łukasz", "Goliński", "boss@nfc.pl"); + User user1 = new User("Łukasz", "Goliński", "boss@nfc.pl", "pass"); user1.addRole(worker); user1.addRole(ceo); userRepository.save(user1); @@ -39,13 +39,13 @@ public class Initializer { Role r = roles.get(0); - User user3 = new User("Monika", "Bigas", "boss_monika@nfc.pl"); + User user3 = new User("Monika", "Bigas", "boss_monika@nfc.pl", "pass"); user3.addRole(worker); user3.addRole(ceo); userRepository.save(user3); //entityManager.merge(user3); - User user2 = new User("Marcin", "Michałek", "boss_marcin@nfc.pl"); + User user2 = new User("Marcin", "Michałek", "boss_marcin@nfc.pl", "pass"); user2.addRole(ceo); userRepository.save(user2);