Użytkownik chce dodać nowego kierowcę do systemu, ma formatkę i podaje jego login. Formatka tworzy dto, który potem jest przekonwertowywany do source i zapisywany.
W bazie może być już użytkownik Julian
i nie można zapisać 2 Julianów. Walidacja sprawdzająca czy podany nick nie występuje już w bazie powinna być w controllerze, serwisie czy we froncie czy gdzie?
Tak jest OK?
@Service
public class UserServiceImpl implements UserService {
// ...
@Override
public UserDto createNewUser(UserDto userDto) {
if(userRepo.existsByLogin(userDto.getLogin())) {
throw new ResourceAlreadyExistException("Login " + userDto.getLogin() + " already exist.");
}
User usr = userMapper.dtoToNewSource(userDto);
return this.saveUser(usr);
}
}