I want to create a new ProjectGroup object and before it happens I want to check if user with owner_id has role GROUP_OWNER and if he hasn't then I want to add it.
Everything works fine until I want to save user to database which doesn't work (saving ProjectGroup works just fine).
Does anyone know how to solve this?
public Mono<ProjectGroup> create(ProjectGroup p) {
return userRepository.findByUsername(p.getOwner_id()).flatMap(user -> {
if (user != null) {
if (!user.getRoles().contains(User.Role.GROUP_OWNER)) {
List<User.Role> roles = user.getRoles();
roles.add(User.Role.GROUP_OWNER);
user.setRoles(roles);
userRepository.save(user);
return groupRepository.save(p);
}
return groupRepository.save(p);
} else return null;
});
}