Skip to content

Commit

Permalink
fix : 전체 사용자 닉네임 중복 검사 로직 추가
Browse files Browse the repository at this point in the history
* 특정 사용자의 이전 닉네임과 중복되는지만 검사하는게 아니라, 전체 사용자의 닉네임 중 하나라도 중복되는지 검사해야함
  • Loading branch information
sk000801 committed Jan 4, 2024
1 parent bffd252 commit 4fcb559
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
1 change: 0 additions & 1 deletion server/src/config/errorCode.enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ export enum ERROR_CODE {
'NOT_ADDED_MUSIC' = 4014,
'NOT_IN_RANGE_OF_NICKNAME_LENGTH' = 4015,
'INVALID_NICKNAME_PATTERN' = 4016,
'SAME_AGAIN_NICKNAME' = 4017,
'WRONG_TOKEN' = 4100,
'EXPIRED_TOKEN' = 4101,
}
23 changes: 10 additions & 13 deletions server/src/user/user.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export class UserService {
private recentPlayedRepository: Repository<Recent_Played>,
) {}

validateNickname(inputNickname: string, originalNickname: string): void {
validateNickname(inputNickname: string): void {
if (!inputNickname) {
return;
}
Expand All @@ -43,17 +43,6 @@ export class UserService {
ERROR_CODE.INVALID_NICKNAME_PATTERN,
);
}

if (inputNickname === originalNickname) {
this.logger.error(
`user.service - validateNickname : SAME_AGAIN_NICKNAME`,
);
throw new CatchyException(
'SAME_AGAIN_NICKNAME',
HTTP_STATUS_CODE.SERVER_ERROR,
ERROR_CODE.SAME_AGAIN_NICKNAME,
);
}
}

async isDuplicatedUserEmail(userNickname: string): Promise<boolean> {
Expand Down Expand Up @@ -114,7 +103,15 @@ export class UserService {
);
}

this.validateNickname(nickname, targetUser.nickname);
if (await this.isDuplicatedUserEmail(nickname)) {
throw new CatchyException(
'DUPLICATED_NICKNAME',
HTTP_STATUS_CODE.DUPLICATED_NICKNAME,
ERROR_CODE.DUPLICATED_NICKNAME,
);
}

this.validateNickname(nickname);

targetUser.photo = image_url;
targetUser.nickname = nickname ? nickname : targetUser.nickname;
Expand Down

0 comments on commit 4fcb559

Please sign in to comment.