66 lines
1.7 KiB
Java
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>();
|
|
}
|
|
|
|
}
|