diff --git a/src/main/java/gg/agit/konect/domain/user/controller/UserApi.java b/src/main/java/gg/agit/konect/domain/user/controller/UserApi.java index 0c538f87..9c0aaa2f 100644 --- a/src/main/java/gg/agit/konect/domain/user/controller/UserApi.java +++ b/src/main/java/gg/agit/konect/domain/user/controller/UserApi.java @@ -4,14 +4,12 @@ import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import gg.agit.konect.domain.user.dto.SignupRequest; import gg.agit.konect.domain.user.dto.UserAccessTokenResponse; import gg.agit.konect.domain.user.dto.UserInfoResponse; -import gg.agit.konect.domain.user.dto.UserUpdateRequest; import gg.agit.konect.global.auth.annotation.PublicApi; import gg.agit.konect.global.auth.annotation.UserId; import io.swagger.v3.oas.annotations.Operation; @@ -48,13 +46,6 @@ ResponseEntity signup( @GetMapping("/me") ResponseEntity getMyInfo(@UserId Integer userId); - @Operation(summary = "로그인한 사용자의 정보를 수정한다.") - @PutMapping("/me") - ResponseEntity updateMyInfo( - @UserId Integer userId, - @RequestBody @Valid UserUpdateRequest request - ); - @Operation(summary = "로그아웃한다.") @PostMapping("/logout") @PublicApi diff --git a/src/main/java/gg/agit/konect/domain/user/controller/UserController.java b/src/main/java/gg/agit/konect/domain/user/controller/UserController.java index 367d4de0..6074a583 100644 --- a/src/main/java/gg/agit/konect/domain/user/controller/UserController.java +++ b/src/main/java/gg/agit/konect/domain/user/controller/UserController.java @@ -9,7 +9,7 @@ import gg.agit.konect.domain.user.dto.SignupRequest; import gg.agit.konect.domain.user.dto.UserAccessTokenResponse; import gg.agit.konect.domain.user.dto.UserInfoResponse; -import gg.agit.konect.domain.user.dto.UserUpdateRequest; +import gg.agit.konect.domain.user.enums.Provider; import gg.agit.konect.domain.user.service.UserService; import gg.agit.konect.global.auth.annotation.PublicApi; import gg.agit.konect.global.auth.annotation.UserId; @@ -69,16 +69,6 @@ public ResponseEntity getMyInfo(@UserId Integer userId) { return ResponseEntity.ok(response); } - @Override - public ResponseEntity updateMyInfo( - @UserId Integer userId, - @RequestBody @Valid UserUpdateRequest request - ) { - userService.updateUserInfo(userId, request); - - return ResponseEntity.ok().build(); - } - @Override @PublicApi public ResponseEntity logout(HttpServletRequest request, HttpServletResponse response) { diff --git a/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java b/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java deleted file mode 100644 index 6da78335..00000000 --- a/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java +++ /dev/null @@ -1,28 +0,0 @@ -package gg.agit.konect.domain.user.dto; - -import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.NOT_REQUIRED; -import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.Pattern; -import jakarta.validation.constraints.Size; - -public record UserUpdateRequest( - @NotEmpty(message = "이름은 필수 입력입니다.") - @Size(min = 2, max = 5, message = "이름은 2자 이상 5자 이하 입니다.") - @Pattern(regexp = "^[가-힣]+$", message = "이름은 완성된 한글만 입력할 수 있습니다.") - @Schema(description = "회원 이름", example = "이동훈", requiredMode = REQUIRED) - String name, - - @NotEmpty(message = "학번은 필수 입력입니다.") - @Size(min = 4, max = 20, message = "학번은 4자 이상 20자 이하입니다.") - @Pattern(regexp = "^[0-9]+$", message = "학번은 숫자만 입력할 수 있습니다.") - @Schema(description = "회원 학번", example = "2021136091", requiredMode = REQUIRED) - String studentNumber, - - @Pattern(regexp = "^$|^01[0-9]-?\\d{3,4}-?\\d{4}$", message = "전화번호 형식이 올바르지 않습니다.") - @Schema(description = "회원 전화번호", example = "010-1234-5678", requiredMode = NOT_REQUIRED) - String phoneNumber -) { -} diff --git a/src/main/java/gg/agit/konect/domain/user/service/UserService.java b/src/main/java/gg/agit/konect/domain/user/service/UserService.java index 6aedb5ec..1b6f9687 100644 --- a/src/main/java/gg/agit/konect/domain/user/service/UserService.java +++ b/src/main/java/gg/agit/konect/domain/user/service/UserService.java @@ -27,7 +27,6 @@ import gg.agit.konect.domain.university.repository.UniversityRepository; import gg.agit.konect.domain.user.dto.SignupRequest; import gg.agit.konect.domain.user.dto.UserInfoResponse; -import gg.agit.konect.domain.user.dto.UserUpdateRequest; import gg.agit.konect.domain.user.enums.Provider; import gg.agit.konect.domain.user.enums.UserRole; import gg.agit.konect.domain.user.model.UnRegisteredUser; @@ -192,30 +191,6 @@ public UserInfoResponse getUserInfo(Integer userId) { return UserInfoResponse.from(user, joinedClubCount, studyTime, unreadCouncilNoticeCount, isClubManager); } - @Transactional - public void updateUserInfo(Integer userId, UserUpdateRequest request) { - User user = userRepository.getById(userId); - - validateStudentNumberDuplication(user, request); - validatePhoneNumberDuplication(user, request); - - user.updateInfo(request.name(), request.studentNumber(), request.phoneNumber()); - } - - private void validateStudentNumberDuplication(User user, UserUpdateRequest request) { - if (user.hasSameStudentNumber(request.studentNumber())) { - return; - } - - boolean exists = userRepository.existsByUniversityIdAndStudentNumberAndIdNot( - user.getUniversity().getId(), request.studentNumber(), user.getId() - ); - - if (exists) { - throw CustomException.of(ApiResponseCode.DUPLICATE_STUDENT_NUMBER); - } - } - private void validateStudentNumberDuplicationOnSignup(Integer universityId, String studentNumber) { boolean exists = userRepository.existsByUniversityIdAndStudentNumber(universityId, studentNumber); @@ -224,20 +199,6 @@ private void validateStudentNumberDuplicationOnSignup(Integer universityId, Stri } } - private void validatePhoneNumberDuplication(User user, UserUpdateRequest request) { - String phoneNumber = request.phoneNumber(); - - if (!StringUtils.hasText(phoneNumber) || user.hasSamePhoneNumber(phoneNumber)) { - return; - } - - boolean exists = userRepository.existsByPhoneNumberAndIdNot(phoneNumber, user.getId()); - - if (exists) { - throw CustomException.of(ApiResponseCode.DUPLICATE_PHONE_NUMBER); - } - } - @Transactional public void deleteUser(Integer userId) { User user = userRepository.getById(userId);