opencv/src/main/java/pl/edu/amu/wmi/bookapi/api/UserController.java

42 lines
1.6 KiB
Java

package pl.edu.amu.wmi.bookapi.api;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import pl.edu.amu.wmi.bookapi.exceptions.RegisterException;
import pl.edu.amu.wmi.bookapi.models.UserDocument;
import pl.edu.amu.wmi.bookapi.repositories.UserRepository;
import javax.security.auth.login.LoginException;
@RestController
@RequestMapping("/users")
public class UserController {
private UserRepository userRepository;
private BCryptPasswordEncoder bCryptPasswordEncoder;
public UserController(UserRepository userRepository,
BCryptPasswordEncoder bCryptPasswordEncoder) {
this.userRepository = userRepository;
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}
@PostMapping("/sign-up")
public void signUp(@RequestBody UserDocument user) throws RegisterException {
System.out.println("Registering user");
System.out.println(user);
user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
try {
userRepository.save(user);
} catch (DuplicateKeyException e) {
throw new RegisterException("Login already in use");
}
System.out.println(userRepository.findAll());
}
}