package fr.la_banquise.backend.services; import java.util.ArrayList; import java.util.List; import fr.la_banquise.backend.data.model.User; import fr.la_banquise.backend.data.repository.UserRepository; import fr.la_banquise.backend.rest.request.BulkUserRequest; import fr.la_banquise.backend.rest.request.UserRequest; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.transaction.Transactional; /** * UserService */ @ApplicationScoped public class UserService { @Inject UserRepository userRepository; @Inject InstanceService instanceService; public List getAllUsers() { return userRepository.listAll(); } public User getUser(Long id) { return userRepository.findById(id); } @Transactional public User createUser(String name) { User user = new User(name, new ArrayList<>()); userRepository.persist(user); return user; } @Transactional public void deleteUser(Long id) { userRepository.deleteById(id); } @Transactional public User updateUser(Long id) { User user = userRepository.findById(id); return user; } @Transactional public List createJdmiUser(BulkUserRequest usersRequest) { List users = new ArrayList<>(); for (UserRequest user : usersRequest.users) { User newUser = createUser(user.name); users.add(newUser); instanceService.createInstance(user.instance_name, user.instance_ssh, user.instance_pwd, user.instance_port, user.name, usersRequest.tpId); } return new ArrayList(); } }