From 95b36eded4a84f7effc98e3ca623df36e5631b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=98=84=EC=B0=BD?= Date: Thu, 15 Jan 2026 15:45:22 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"[App]=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=ED=8E=98=EC=9D=B4=EC=A7=80/=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/app/db/UserRepository.java | 11 ---- .../java/app/handler/RegisterWithPost.java | 54 +++---------------- src/main/java/app/model/User.java | 3 -- src/main/java/config/AppConfig.java | 23 ++++---- src/main/java/config/DdlGenerator.java | 7 +-- src/main/java/config/VariableConfig.java | 7 --- src/main/java/database/CrudRepository.java | 19 +++---- src/main/java/exception/ErrorCode.java | 7 --- .../handler/ErrorExceptionHandler.java | 4 +- 9 files changed, 27 insertions(+), 108 deletions(-) delete mode 100644 src/main/java/app/db/UserRepository.java diff --git a/src/main/java/app/db/UserRepository.java b/src/main/java/app/db/UserRepository.java deleted file mode 100644 index d87b525d1..000000000 --- a/src/main/java/app/db/UserRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package app.db; - -import app.model.User; -import database.ConnectionManager; -import database.CrudRepository; - -public class UserRepository extends CrudRepository { - public UserRepository(ConnectionManager connectionManager) { - super(connectionManager, User.class); - } -} diff --git a/src/main/java/app/handler/RegisterWithPost.java b/src/main/java/app/handler/RegisterWithPost.java index 410dc497d..066683b9b 100644 --- a/src/main/java/app/handler/RegisterWithPost.java +++ b/src/main/java/app/handler/RegisterWithPost.java @@ -1,8 +1,7 @@ package app.handler; -import app.db.UserRepository; +import app.db.Database; import app.model.User; -import config.VariableConfig; import exception.ErrorCode; import exception.ServiceException; import http.HttpMethod; @@ -15,58 +14,19 @@ import web.response.RedirectResponse; public class RegisterWithPost extends SingleArgHandler { - private static final String EMAIL = "email"; - private static final String NICKNAME = "nickname"; - private static final String PASSWORD = "password"; - private static final Logger log = LoggerFactory.getLogger(RegisterWithPost.class); - private final UserRepository userRepository; - - public RegisterWithPost(UserRepository userRepository) { + public RegisterWithPost() { super(HttpMethod.POST, "/user/create"); - this.userRepository = userRepository; } @Override public HandlerResponse handle(QueryParameters params) { - String email = getRequired(params, EMAIL); - String nickname = getRequired(params, NICKNAME); - String password = getRequired(params, PASSWORD); - - validate(email, nickname, password); - - User saved = userRepository.save( - new User(password, nickname, email, UserRole.MEMBER.toString())); - - log.info("Registered id:{}, email:{}, nickname:{}, password:{}", - saved.getId(), email, nickname, password); + String email = params.getQueryValue("email").orElseThrow(()-> new ServiceException(ErrorCode.MISSING_REGISTER_TOKEN, "email required")); + String nickname = params.getQueryValue("nickname").orElseThrow(()-> new ServiceException(ErrorCode.MISSING_REGISTER_TOKEN, "nickname required")); + String password = params.getQueryValue("password").orElseThrow(()-> new ServiceException(ErrorCode.MISSING_REGISTER_TOKEN, "password required")); + Database.addUser(new User(password, nickname, email, UserRole.MEMBER.toString())); + log.info("Registered - password:{}, nickname:{}, email:{}", password, nickname, email); return RedirectResponse.to("/login"); } - - private void validate(String email, String nickname, String password) { - validateDuplicate(email, nickname); - validateLength(email, VariableConfig.EMAIL_MIN, VariableConfig.EMAIL_MAX, ErrorCode.EMAIL_LENGTH_INVALID); - validateLength(nickname, VariableConfig.NICKNAME_MIN, VariableConfig.NICKNAME_MAX, ErrorCode.NICKNAME_LENGTH_INVALID); - validateLength(password, VariableConfig.PASSWORD_MIN, VariableConfig.PASSWORD_MAX, ErrorCode.PASSWORD_LENGTH_INVALID); - } - - private String getRequired(QueryParameters params, String key) { - return params.getQueryValue(key) - .orElseThrow(() -> new ServiceException(ErrorCode.MISSING_REGISTER_TOKEN, key + " required")); - } - - private void validateLength(String value, int min, int max, ErrorCode code) { - int len = value.length(); - if (len < min || len > max) - throw new ServiceException(code); - } - - private void validateDuplicate(String email, String nickname) { - if (!userRepository.findByColumn(EMAIL, email).isEmpty()) - throw new ServiceException(ErrorCode.EMAIL_ALREADY_EXISTS); - - if (!userRepository.findByColumn(NICKNAME, nickname).isEmpty()) - throw new ServiceException(ErrorCode.NICKNAME_ALREADY_EXISTS); - } } diff --git a/src/main/java/app/model/User.java b/src/main/java/app/model/User.java index 7a1dd54bc..936b915e6 100644 --- a/src/main/java/app/model/User.java +++ b/src/main/java/app/model/User.java @@ -14,9 +14,6 @@ public User(String password, String nickname, String email, String userRole) { this.userRole = userRole; } - public User() { - } - public Long getId() { return id; } diff --git a/src/main/java/config/AppConfig.java b/src/main/java/config/AppConfig.java index da4871a78..bc5c4a9cd 100644 --- a/src/main/java/config/AppConfig.java +++ b/src/main/java/config/AppConfig.java @@ -1,6 +1,5 @@ package config; -import app.db.UserRepository; import app.handler.*; import database.ConnectionManager; import database.H2DbManager; @@ -121,7 +120,8 @@ public RegisterWithGet registerWithGet() { public RegisterWithPost registerWithPost() { return getOrCreate( "registerWithPost", - () -> new RegisterWithPost(userRepository())); + RegisterWithPost::new + ); } public LoginWithPost loginWithPost() { @@ -233,9 +233,8 @@ public QueryParamsResolver queryParamsResolver() { } public MultipartFormResolver multipartFormResolver(){ - return getOrCreate("multipartFormResolver", - () -> new MultipartFormResolver(multipartFormParser())); - + return getOrCreate("multipartFormResolver", () -> + new MultipartFormResolver(multipartFormParser())); } public MultipartFormParser multipartFormParser(){ @@ -251,7 +250,10 @@ public ExceptionHandlerMapping exceptionHandlerMapping() { List.of( serviceExceptionHandler(), errorExceptionHandler(), - unhandledErrorHandler()))); + unhandledErrorHandler() + ) + ) + ); } public ServiceExceptionHandler serviceExceptionHandler() { @@ -323,13 +325,8 @@ public H2DbManager h2DbManager(){ } public DdlGenerator ddlGenerator(){ - return getOrCreate(DdlGenerator.class.getSimpleName(), - () -> new DdlGenerator(connectionManager())); - } - - public UserRepository userRepository(){ - return getOrCreate(UserRepository.class.getSimpleName(), - ()-> new UserRepository(connectionManager())); + return getOrCreate(DdlGenerator.class.getSimpleName(), () -> + new DdlGenerator(connectionManager())); } } diff --git a/src/main/java/config/DdlGenerator.java b/src/main/java/config/DdlGenerator.java index 0d06d7d7b..3dfb27dbf 100644 --- a/src/main/java/config/DdlGenerator.java +++ b/src/main/java/config/DdlGenerator.java @@ -57,7 +57,7 @@ private String buildDdlForEntity(Class entityClass, String tableName) { continue; } - String columnName = toColumnName(field.getName()); + String columnName = field.getName(); Class fieldType = field.getType(); if (!firstColumn) { @@ -108,9 +108,4 @@ private String toTableName(Class clazz) { } return name; } - - private String toColumnName(String str){ - String snake = str.replaceAll("(? findAll() { } public List findByColumn(String columnName, Object value) { - String sql = "SELECT * FROM " + tableName + " WHERE " + toColumnName(columnName) + " = ?"; + String sql = "SELECT * FROM " + tableName + " WHERE " + columnName + " = ?"; try (Connection conn = connectionManager.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { @@ -145,7 +145,7 @@ public List findByColumn(String columnName, Object value) { } } catch (SQLException e) { - throw new ErrorException("엔티티 조회 중 오류 (column=" + toColumnName(columnName) + ", value=" + value + ")", e); + throw new ErrorException("엔티티 조회 중 오류 (column=" + columnName + ", value=" + value + ")", e); } } @@ -167,10 +167,10 @@ public void update(T entity) { if (Modifier.isStatic(field.getModifiers())) { continue; } - if ("id".equals(toColumnName(field.getName()))) { + if ("id".equals(field.getName())) { continue; } - sql.append(toColumnName(field.getName())).append(" = ?, "); + sql.append(field.getName()).append(" = ?, "); updateFields.add(field); } @@ -264,7 +264,7 @@ private T mapRow(ResultSet resultSet) { continue; } - String columnName = toColumnName(field.getName()); + String columnName = field.getName(); field.setAccessible(true); Class fieldType = field.getType(); @@ -311,9 +311,4 @@ private String toTableName(Class clazz) { } return name; } - - private String toColumnName(String str){ - String snake = str.replaceAll("(?