package fr.plil.sio.web.mvc; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashSet; import java.util.List; import java.util.Set; @Service("userService") public class UserServiceImpl implements UserService { @Resource private UserRepository userRepository; @Resource private RoleRepository roleRepository; @Resource private PasswordEncoder passwordEncoder; @Resource private SecurityService securityService; @Override @Transactional public User createUser(String username, String password) { User user = new User(); user.setUsername(username); user.setPassword(passwordEncoder.encode(password)); Set roles = new HashSet<>(); roles.add(roleRepository.findByName("ROLE_USER")); user.setRoles(roles); userRepository.save(user); return user; } @Override @Transactional(readOnly = true) public User findByUsername(String username) { return userRepository.findByUsername(username); } @Override @Transactional(readOnly = true) public List findDettes() { String username = securityService.findLoggedInUsername(); List dettes = userRepository.findByUsername(username).getDettes(); return dettes; } @Override @Transactional(readOnly = true) public List findAll() { return userRepository.findAll(); } @Override @Transactional public Dette addDette(String username, String sommeDette) { //Get the holder of debt // User user = userRepository.findByUsername(username); // // //Get connected user // // Authentication auth = SecurityContextHolder.getContext().getAuthentication(); // String connectedUsername = securityService.findLoggedInUsername(); // User connectedUser = userRepository.findByUsername(connectedUsername); // //Set dette // List newDettes = user.getDettes(); // Dette d = new Dette(); // Double dSomme = Double.parseDouble(sommeDette); // d.setSommeDette(dSomme); // d.setHolderOfDebt(connectedUser); // d.setDueToUser(user); // newDettes.add(d); return new Dette(); } }