2024-10-20 21:16:41 +02:00

66 lines
1.7 KiB
Java

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<User> 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<User> createJdmiUser(BulkUserRequest usersRequest) {
List<User> 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<User>();
}
}