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;
}
}