diff --git a/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java b/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java index 6485a45..79a0e68 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java @@ -119,7 +119,8 @@ public class DataBase { PreparedStatement getUser_stmt = connection.prepareStatement("SELECT * FROM user WHERE login = ?"); getUser_stmt.setString(1, login); ResultSet resultSet = getUser_stmt.executeQuery(); - resultSet.next(); + if(!resultSet.next()) + return null; int id = resultSet.getInt(1); String pass = resultSet.getNString(3); diff --git a/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java b/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java index dd8e7c8..58b2420 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java @@ -9,6 +9,8 @@ public class UserRepository { private final List UserCache = new ArrayList<>(); + private UserRepository() {} + public static synchronized UserRepository getRepository() { if (instance == null) { instance = new UserRepository(); @@ -17,6 +19,16 @@ public class UserRepository { } public User AddUser(String login, String password) throws SQLException { + for (User i : UserCache) { + if(i.getLogin().equals(login)) { + return null; + } + } + + User find = DataBase.getInstance().FindUser(login); + if(find != null) + return null; + User user = new User(0, login, password); DataBase.getInstance().SaveUser(user); diff --git a/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java b/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java index a30cddc..7511c18 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java @@ -67,10 +67,15 @@ public class TaskTrakerServerApplication { String SingUp(@RequestParam(name = "login", defaultValue = "null") String login, @RequestParam(name = "password", defaultValue = "null") String pass) { if (login.length() > 20 || pass.length() > 20) return "{\n\t\"status\":\"big\",\n\t\"token\":\"null\"\n}"; - if (login.equals("null") || pass.equals("null")) + else if(login.isEmpty() || pass.isEmpty()) + return "{\n\t\"status\":\"small\",\n\t\"token\":\"null\"\n}"; + else if (login.equals("null") || pass.equals("null")) return "{\n\t\"status\":\"error\",\n\t\"token\":\"null\"\n}"; try { - User token = UserRepository.getRepository().AddUser(login, pass); + User user = UserRepository.getRepository().AddUser(login, pass); + if(user == null) + return "{\n\t\"status\":\"error\"\n}"; + return "{\n\t\"status\":\"ok\"\n}"; } catch (SQLException e) { return "{\n\t\"status\":\"error\"\n}";