<aside> 💡 해당하는 로직이 Dirty Checking이 가능할까 고민해봤고 저질러버렸다.
</aside>
public User toEntity(PasswordEncoder encoder,
String certificationNumber) {
return User.builder()
.email(email)
.password(encoder.encode(password))
.certificationNumber(certificationNumber)
.hashtag(toHashtagEntity())
.build();
}
private Hashtag toHashtagEntity() {
return Hashtag.builder()
.name(hashtag)
.build();
}
<aside> 💡 500 Error가 났다. 마음에 들지는 않았지만 코드를 수정하는 작업이 필요하다
</aside>
@Transactional
public SignupResDto signUp(SignupReqDto signupReqDto) {
//SignupReqDto 검증
validate(signupReqDto);
//5자의 무작위 번호 생성 및 중복 검사: 문자, 숫자 포함
String randomNumber = generateNotUsedRandomNumber();
//todo: 이메일 인증 메일 발송
//DB에 해당 정보 저장
Hashtag hashtag = hashtagRepoForUser.save(signupReqDto.toHashtagEntity());
return SignupResDto.from(userRepository.save(signupReqDto.toEntity(encoder, randomNumber, hashtag)));
}