@@ -29,16 +29,18 @@ public User findOrCreate(String email) {
2929 .orElseGet (() -> userRepository .save (User .createWithEmail (email )));
3030 }
3131
32- public User findByEmail (String email ) {
33- return userRepository .findByEmail ( email )
32+ public NicknameCheckResponse checkNickname (String nickName , Long userId ) {
33+ userRepository .findById ( userId )
3434 .orElseThrow (() -> new BusinessException (UserErrorCode .USER_NOT_FOUND ));
35+
36+ return new NicknameCheckResponse (userRepository .isNicknameAvailable (nickName ));
3537 }
3638
37- public NicknameCheckResponse checkNickname (String nickName , Long userId ) {
39+ public NicknameCheckResponse checkNicknameSlang (String nickName , Long userId ) {
3840 userRepository .findById (userId )
3941 .orElseThrow (() -> new BusinessException (UserErrorCode .USER_NOT_FOUND ));
4042
41- return new NicknameCheckResponse (userRepository . isNicknameAvailable (nickName ));
43+ return new NicknameCheckResponse (! wordService . containSlang (nickName ));
4244 }
4345
4446 public UserProfileResponse setupAdditionalInfo (UserExtraInfo userInfo , Long userId ) {
@@ -80,6 +82,15 @@ public UserMyPageResponse modifyInfo(Long userId, UserModifyInfoRequest req) {
8082 User user = userRepository .findById (userId )
8183 .orElseThrow (() -> new BusinessException (UserErrorCode .USER_NOT_FOUND ));
8284
85+ if (req .nickname ().equals (user .getNickname ())) {
86+ User .modifyImageColor (user , req .imageColor ());
87+
88+ return new UserMyPageResponse (user .getEmail (), user .getNickname (), user .getImageColor ());
89+ }
90+ else if (!userRepository .isNicknameAvailable (req .nickname ())) {
91+ throw new BusinessException (UserErrorCode .USER_NICKNAME_DUPLICATE );
92+ }
93+
8394 User .modifyAccount (user , req .nickname (), req .imageColor ());
8495
8596 return new UserMyPageResponse (user .getEmail (), user .getNickname (), user .getImageColor ());
0 commit comments