async updateAdminMember(id: number, name: string, nickname: string, password: string, tel: string, address: string, isAdmin: boolean): Promise<IMessage> {
const member = await this.membersRepository.findOne({ where: { id } });
if (!member) {
throw new NotFoundException('회원이 존재하지 않습니다.');
}
const existingName = await this.membersRepository.findOne({ where: { name } });
if (existingName && existingName.id != id) {
throw new NotFoundException('이미 존재하는 이름입니다.');
}
중복검사하는데 그냥 찾게 하니까 자기것도 찾아서 있다고 해서 걸려서, 찾은거 아이디랑 변수로 받은 아이디랑 비교해서 다르면 에러에 걸리도록 로직을 수정했다. 근데 같은 아이딘데 자꾸 걸려서 id 말고 member.id로 바꿔보니 해결되었다. 그런데 id도 되긴 되야하는데 이상해서, 콘솔로그로 찾은 아이디랑 id를 찍어보았다. 똑같아서 typeof를 찍어보았다. existing.id는 string이고 id는 number로 찍혔다. 왜 다르지? Member 엔티티의 id도 number인데, 조장님도 이해가 되지 않는다고 하셨다. 타입이 다르니까 비교연산자를 두개만 써서 시도해보았는데 정상 작동되었다. 해결방법 두가지를 찾은셈이다.