Skip to content

Commit 2219918

Browse files
authored
Merge pull request #283 from CodIN-INU/develop
hotfix: 닉네임 변경 기능에서 삭제된 닉네임, 자기 자신의 닉네임 사용가능하도록 수정
2 parents fd38a89 + 79e4f21 commit 2219918

3 files changed

Lines changed: 7 additions & 5 deletions

File tree

src/main/java/inu/codin/codin/common/security/service/AuthCommonService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import inu.codin.codin.common.exception.NotFoundException;
44
import inu.codin.codin.common.security.dto.SignUpAndLoginRequestDto;
5+
import inu.codin.codin.common.security.util.SecurityUtils;
56
import inu.codin.codin.domain.user.dto.request.UserProfileRequestDto;
67
import inu.codin.codin.domain.user.entity.UserEntity;
78
import inu.codin.codin.domain.user.exception.UserCreateFailException;
@@ -33,7 +34,7 @@ public AuthCommonService(UserRepository userRepository, S3Service s3Service, Jwt
3334
}
3435

3536
public void completeUserProfile(UserProfileRequestDto userProfileRequestDto, MultipartFile userImage, HttpServletResponse response) {
36-
Optional<UserEntity> nickNameDuplicate = userRepository.findByNicknameAndDeletedAtIsNull(userProfileRequestDto.getNickname());
37+
Optional<UserEntity> nickNameDuplicate = userRepository.findByNicknameAndDeletedAtIsNull(SecurityUtils.getCurrentUserId(), userProfileRequestDto.getNickname());
3738
if (nickNameDuplicate.isPresent()){
3839
throw new UserNicknameDuplicateException("이미 사용중인 닉네임입니다.");
3940
}

src/main/java/inu/codin/codin/domain/user/repository/UserRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ public interface UserRepository extends MongoRepository<UserEntity, ObjectId> {
1818
@Query("{'email': ?0, 'deletedAt': null, 'status': { $in: ['ACTIVE'] }}")
1919
Optional<UserEntity> findByEmail(String email);
2020

21-
Optional<UserEntity> findByNicknameAndDeletedAtIsNull(String nickname);
21+
@Query("{'_id': {$ne: ?0}, 'nickname': ?1, 'deletedAt': null}")
22+
Optional<UserEntity> findByNicknameAndDeletedAtIsNull(ObjectId userId, String nickname);
2223

2324
@Query("{'email': ?0, 'deletedAt': null, 'status': { $in: ['DISABLED'] }}")
2425
Optional<UserEntity> findByEmailAndDisabled(String email);

src/main/java/inu/codin/codin/domain/user/service/UserService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.springframework.data.domain.Page;
3131
import org.springframework.data.domain.PageRequest;
3232
import org.springframework.data.domain.Sort;
33+
import org.springframework.security.core.context.SecurityContextHolder;
3334
import org.springframework.stereotype.Service;
3435
import org.springframework.web.multipart.MultipartFile;
3536

@@ -148,9 +149,8 @@ public UserInfoResponseDto getUserInfo() {
148149
return UserInfoResponseDto.of(user);
149150
}
150151
public void updateUserInfo(@Valid UserNicknameRequestDto userNicknameRequestDto) {
151-
152-
Optional<UserEntity> nickNameDuplicate = userRepository.findByNicknameAndDeletedAtIsNull(userNicknameRequestDto.getNickname());
153-
if (nickNameDuplicate.isPresent()){
152+
Optional<UserEntity> nickNameDuplicate = userRepository.findByNicknameAndDeletedAtIsNull(SecurityUtils.getCurrentUserId(), userNicknameRequestDto.getNickname());
153+
if (nickNameDuplicate.isPresent()) {
154154
throw new UserNicknameDuplicateException("이미 사용중인 닉네임입니다.");
155155
}
156156

0 commit comments

Comments
 (0)