use of com.webank.wedatasphere.qualitis.entity.Role in project Qualitis by WeBankFinTech.
the class ProjectServiceImpl method addProjectReal.
@Override
public Project addProjectReal(Long userId, String projectName, String cnName, String projectDescription) throws UnExpectedRequestException {
User user = userDao.findById(userId);
// Automatically grant the highest authority to the system administrator.
Role role = roleDao.findByRoleName(ADMIN);
List<User> admins = userRoleDao.findByRole(role).stream().map(UserRole::getUser).collect(Collectors.toList());
// Check existence of project by project name.
Project projectInDb = projectDao.findByNameAndCreateUser(projectName, user.getUserName());
if (projectInDb != null) {
throw new UnExpectedRequestException(String.format("{&PROJECT}:%s {&ALREADY_EXIST}", projectName));
}
// Save project.
Project newProject = new Project(projectName, cnName, projectDescription, user.getUserName(), user.getChineseName(), user.getDepartment() != null ? user.getDepartment().getName() : "", ExecutionManagerImpl.PRINT_TIME_FORMAT.format(new Date()));
// Create project user.
if (admins.contains(user)) {
createProjectUser(newProject, user);
} else {
createProjectUser(newProject, user);
for (User currentAdmin : admins) {
createProjectUser(newProject, currentAdmin);
}
}
return newProject;
}
use of com.webank.wedatasphere.qualitis.entity.Role in project Qualitis by WeBankFinTech.
the class RolePermissionDaoTest method saveRole.
private Role saveRole() {
// 保存是否成功
Role entity = new Role();
entity.setName("junitRole");
Role saveEntity = roleDao.saveRole(entity);
assertTrue(saveEntity.getId() != 0);
return saveEntity;
}
use of com.webank.wedatasphere.qualitis.entity.Role in project Qualitis by WeBankFinTech.
the class UserRoleDaoTest method test.
@Test
@Transactional
public void test() {
User saveUser = saveUser();
Role saveRole = saveRole();
// 保存是否成功
UserRole entity = new UserRole();
entity.setId(UuidGenerator.generate());
entity.setUser(saveUser);
entity.setRole(saveRole);
UserRole saveEntity = dao.saveUserRole(entity);
assertNotNull(saveEntity.getId());
// 总数量大于0
long size = dao.countAll();
assertTrue(size > 0);
// 分页查询有结果
List<UserRole> datas = dao.findAllUserRole(0, 5);
assertTrue(datas.size() > 0);
// 保存到数据库的对象是否和保存的值一致
UserRole findByIdEntity = dao.findByUuid(saveEntity.getId());
assertNotNull(findByIdEntity);
assertEquals(findByIdEntity.getUser().getUserName(), saveEntity.getUser().getUserName());
assertEquals(findByIdEntity.getRole().getName(), saveEntity.getRole().getName());
UserRole findByUserAndRoleEntity = dao.findByUserAndRole(saveUser, saveRole);
assertNotNull(findByUserAndRoleEntity);
assertEquals(findByUserAndRoleEntity.getUser().getUserName(), saveEntity.getUser().getUserName());
assertEquals(findByUserAndRoleEntity.getRole().getName(), saveEntity.getRole().getName());
// 根据username查询的数据库对象是否和保存的值一致
List<UserRole> findByRoleEntity = dao.findByRole(saveRole);
assertTrue(findByRoleEntity.size() > 0);
assertEquals(findByRoleEntity.get(0).getUser().getUserName(), saveEntity.getUser().getUserName());
// 根据username查询的数据库对象是否和保存的值一致
List<UserRole> findByUserEntity = dao.findByUser(saveUser);
assertTrue(findByUserEntity.size() > 0);
assertEquals(findByUserEntity.get(0).getRole().getName(), saveEntity.getRole().getName());
// 删除后,是否还能找到对象
dao.deleteUserRole(saveEntity);
UserRole deleteEntity = dao.findByUuid(saveEntity.getId());
assertNull(deleteEntity);
}
use of com.webank.wedatasphere.qualitis.entity.Role in project Qualitis by WeBankFinTech.
the class RolePermissionServiceImpl method modifyRolePermission.
@Override
@Transactional(rollbackFor = { RuntimeException.class, UnExpectedRequestException.class })
public GeneralResponse<?> modifyRolePermission(ModifyRolePermissionRequest request) throws UnExpectedRequestException {
// Check Arguments
checkRequest(request);
// Check existence of role permission
String uuid = request.getUuid();
RolePermission rolePermissionInDb = rolePermissionDao.findByUuid(uuid);
if (rolePermissionInDb == null) {
throw new UnExpectedRequestException("role permission id {&DOES_NOT_EXIST}, request: " + request);
}
LOGGER.info("Succeed to find role_permission, uuid: {}, role_id: {}, permission_id: {}, current_user: {}", uuid, rolePermissionInDb.getRole().getId(), rolePermissionInDb.getPermission().getId(), HttpUtils.getUserName(httpServletRequest));
long roleId = request.getRoleId();
long permissionId = request.getPermissionId();
Role roleInDb = roleDao.findById(roleId);
if (roleInDb == null) {
throw new UnExpectedRequestException("role id {&DOES_NOT_EXIST}, request: " + request);
}
Permission permissionInDb = permissionDao.findById(permissionId);
if (permissionInDb == null) {
throw new UnExpectedRequestException("permission id {&DOES_NOT_EXIST}, request: " + request);
}
RolePermission roleIdAndPermissionIdInDb = rolePermissionDao.findByRoleAndPermission(roleInDb, permissionInDb);
if (roleIdAndPermissionIdInDb != null) {
throw new UnExpectedRequestException("role and permission {&ALREADY_EXIST}, request: " + request);
}
// Save role permission
rolePermissionInDb.setRole(roleInDb);
rolePermissionInDb.setPermission(permissionInDb);
RolePermission savedRolePermission = rolePermissionDao.saveRolePermission(rolePermissionInDb);
LOGGER.info("Succeed to modify role_permission, uuid: {}, role_id: {}, permission_id: {}, current_user: {}", uuid, savedRolePermission.getRole().getId(), savedRolePermission.getPermission().getId(), HttpUtils.getUserName(httpServletRequest));
return new GeneralResponse<>("200", "{&MODIFY_ROLE_PERMISSION_SUCCESSFULLY}", null);
}
use of com.webank.wedatasphere.qualitis.entity.Role in project Qualitis by WeBankFinTech.
the class UserServiceImpl method autoAddUser.
@Override
@Transactional(rollbackFor = { Exception.class })
public void autoAddUser(String username) throws RoleNotFoundException {
User newUser = new User();
String password = username;
String passwordEncoded = Sha256Encoder.encode(password);
newUser.setUserName(username);
newUser.setPassword(passwordEncoded);
User savedUser = userDao.saveUser(newUser);
Role role = roleDao.findByRoleName("PROJECTOR");
if (role == null) {
throw new RoleNotFoundException();
}
UserRole userRole = new UserRole();
userRole.setId(UuidGenerator.generate());
userRole.setRole(role);
userRole.setUser(savedUser);
userRoleDao.saveUserRole(userRole);
LOGGER.info("Succeed to save user_role. uuid: {}, user_id: {}, role_id: {}", userRole.getId(), savedUser.getId(), role.getId());
}
Aggregations