From 61eecb262c2a3e39a295599423c3a92ba6fc5ee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=BB?= <119668441+Jiga228@users.noreply.github.com> Date: Mon, 26 May 2025 11:19:27 +0700 Subject: [PATCH] Fix bug with create user and refactor --- .gitignore | 2 +- .../{Repository => Models}/Task.java | 2 +- .../{Repository => Models}/User.java | 2 +- .../TaskTraker_Server/Repository/DataBase.java | 17 ++++++++++++++--- .../Repository/UserRepository.java | 6 +++--- .../TaskTrakerServerApplication.java | 2 ++ 6 files changed, 22 insertions(+), 9 deletions(-) rename src/main/java/com/Samsung/TaskTraker_Server/{Repository => Models}/Task.java (96%) rename src/main/java/com/Samsung/TaskTraker_Server/{Repository => Models}/User.java (94%) diff --git a/.gitignore b/.gitignore index 505b6b4..4b4ef62 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,6 @@ build/ .vscode/ ###API_KEYS### -src/main/java/com/Samsung/TaskTraker_Server/Repository/API_KEYS.java +src/main/java/com/Samsung/TaskTraker_Server/API_KEYS.java diff --git a/src/main/java/com/Samsung/TaskTraker_Server/Repository/Task.java b/src/main/java/com/Samsung/TaskTraker_Server/Models/Task.java similarity index 96% rename from src/main/java/com/Samsung/TaskTraker_Server/Repository/Task.java rename to src/main/java/com/Samsung/TaskTraker_Server/Models/Task.java index 2910e2b..d75c253 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/Task.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Models/Task.java @@ -1,4 +1,4 @@ -package com.Samsung.TaskTraker_Server.Repository; +package com.Samsung.TaskTraker_Server.Models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/src/main/java/com/Samsung/TaskTraker_Server/Repository/User.java b/src/main/java/com/Samsung/TaskTraker_Server/Models/User.java similarity index 94% rename from src/main/java/com/Samsung/TaskTraker_Server/Repository/User.java rename to src/main/java/com/Samsung/TaskTraker_Server/Models/User.java index 1f5eea7..6a4bee6 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/User.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Models/User.java @@ -1,4 +1,4 @@ -package com.Samsung.TaskTraker_Server.Repository; +package com.Samsung.TaskTraker_Server.Models; import java.util.Objects; public class User { 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 52cdba3..558a85c 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Repository/DataBase.java @@ -1,5 +1,9 @@ package com.Samsung.TaskTraker_Server.Repository; +import com.Samsung.TaskTraker_Server.API_KEYS; +import com.Samsung.TaskTraker_Server.Models.Task; +import com.Samsung.TaskTraker_Server.Models.User; + import java.sql.*; import java.util.*; @@ -32,11 +36,18 @@ public class DataBase { return instance; } - public void SaveUser(User user) throws SQLException { + public User SaveUser(String login, String password) throws SQLException { PreparedStatement saveUser_stmt = connection.prepareStatement("INSERT INTO users(login, password) VALUE (?, ?)"); - saveUser_stmt.setString(1, user.getLogin()); - saveUser_stmt.setString(2, user.getPassword()); + saveUser_stmt.setString(1, login); + saveUser_stmt.setString(2, password); saveUser_stmt.executeUpdate(); + + PreparedStatement findID = connection.prepareStatement("SELECT id FROM users WHERE login = ?"); + findID.setString(1, login); + ResultSet newID = findID.executeQuery(); + + newID.next(); + return new User(newID.getInt(1), login, password); } public void AddTask(Task task, User user) throws SQLException { 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 3ba5f49..c258f1a 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/Repository/UserRepository.java @@ -1,5 +1,7 @@ package com.Samsung.TaskTraker_Server.Repository; +import com.Samsung.TaskTraker_Server.Models.User; + import java.sql.SQLException; import java.util.*; @@ -29,9 +31,7 @@ public class UserRepository { if(find != null) return null; - User user = new User(0, login, password); - - DataBase.getInstance().SaveUser(user); + User user = DataBase.getInstance().SaveUser(login, password); if(UserCache.size() >= MAX_COUNT_USERS_IN_CACHE) UserCache.remove(0); UserCache.add(user); diff --git a/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java b/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java index c10a5f3..da6a6c2 100644 --- a/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java +++ b/src/main/java/com/Samsung/TaskTraker_Server/TaskTrakerServerApplication.java @@ -1,5 +1,7 @@ package com.Samsung.TaskTraker_Server; +import com.Samsung.TaskTraker_Server.Models.Task; +import com.Samsung.TaskTraker_Server.Models.User; import com.Samsung.TaskTraker_Server.Repository.*; import org.springframework.boot.ExitCodeGenerator; import org.springframework.boot.SpringApplication;