package com.prgrms.team03linkbookbe.user.service; import com.prgrms.team03linkbookbe.user.dto.UserCreateRequestDto; import com.prgrms.team03linkbookbe.user.exception.DuplicatedEmailException; import com.prgrms.team03linkbookbe.user.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional(readOnly = true) @RequiredArgsConstructor public class UserService implements UserDetailsService { private final UserRepository userRepository; @Transactional public void register(UserCreateRequestDto requestDto) { // 랜덤 닉네임 생성 if(userRepository.existsByEmail(requestDto.getEmail())) { throw new DuplicatedEmailException("이미 가입된 이메일입니다."); } userRepository.save(requestDto.toEntity()); } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { return null; } }