@Override
public Board updateBoard(String id, BoardUpdateDto boardUpdateDto) {
User user = getAuthorizedUser();
Board board = boardRepository.findOne(id);
if (board != null) {
if (!user.hasRole(UserRole.ADMIN) && !board.getOwner().equals(user) && !board.getUsers().contains(user)) {
log.error("User {} does not have rights to alter board {}.", user.getUsername(), id);
throw new AccessDeniedException("User is not allowed to alter board.");
}
board.setName(boardUpdateDto.getName());
board.setOwner(userService.loadUserByUsername(boardUpdateDto.getOwner().getUsername()));
if (boardUpdateDto.getMembers() != null) {
Set<User> members = new LinkedHashSet<>();
boardUpdateDto.getMembers().forEach(d -> {
try {
members.add(userService.loadUserByUsername(d.getUsername()));
} catch (AccessDeniedException | LockedException | DisabledException | CredentialsExpiredException e) {
log.warn(e.getMessage());
}
});
board.setUsers(members);
}
boardRepository.save(board);
} else {
log.info("No board with given id {} found.", id);
throw new BoardNotFoundException("Board with id " + id + " not found.");
}
return board;
}
BoardServiceImpl.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:kanbanboard
作者:
评论列表
文章目录