private void removeGroupMembers(DbSession dbSession, GroupDto groupId) { dbClient.userGroupDao().deleteByGroupId(dbSession, groupId.getId()); } }
private void addGroups(DbSession dbSession, UserDto userDto, Collection<String> groupsToAdd, Map<String, GroupDto> groupsByName) { groupsToAdd.stream().map(groupsByName::get).filter(Objects::nonNull).forEach( groupDto -> { LOGGER.debug("Adding group '{}' to user '{}'", groupDto.getName(), userDto.getLogin()); dbClient.userGroupDao().insert(dbSession, new UserGroupDto().setGroupId(groupDto.getId()).setUserId(userDto.getId())); }); }
private void removeGroups(DbSession dbSession, UserDto userDto, Collection<String> groupsToRemove, Map<String, GroupDto> groupsByName) { Optional<GroupDto> defaultGroup = getDefaultGroup(dbSession); groupsToRemove.stream().map(groupsByName::get) .filter(Objects::nonNull) // user should be member of default group only when organizations are disabled, as the IdentityProvider API doesn't handle yet // organizations .filter(group -> !defaultGroup.isPresent() || !group.getId().equals(defaultGroup.get().getId())) .forEach(groupDto -> { LOGGER.debug("Removing group '{}' from user '{}'", groupDto.getName(), userDto.getLogin()); dbClient.userGroupDao().delete(dbSession, groupDto.getId(), userDto.getId()); }); }
public UserGroupDto insert(DbSession session, UserGroupDto dto) { mapper(session).insert(dto); return dto; }
private void removeMember(DbSession dbSession, OrganizationDto organization, UserDto user) { ensureLastAdminIsNotRemoved(dbSession, organization, user); int userId = user.getId(); String organizationUuid = organization.getUuid(); dbClient.userPermissionDao().deleteOrganizationMemberPermissions(dbSession, organizationUuid, userId); dbClient.permissionTemplateDao().deleteUserPermissionsByOrganization(dbSession, organizationUuid, userId); dbClient.qProfileEditUsersDao().deleteByOrganizationAndUser(dbSession, organization, user); dbClient.userGroupDao().deleteByOrganizationAndUser(dbSession, organizationUuid, userId); dbClient.propertiesDao().deleteByOrganizationAndUser(dbSession, organizationUuid, userId); dbClient.propertiesDao().deleteByOrganizationAndMatchingLogin(dbSession, organizationUuid, user.getLogin(), singletonList(DEFAULT_ISSUE_ASSIGNEE)); dbClient.organizationMemberDao().delete(dbSession, organizationUuid, userId); userIndexer.commitAndIndex(dbSession, user); }
@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn().checkIsSystemAdministrator(); String login = request.mandatoryParam(PARAM_LOGIN); checkRequest(!login.equals(userSession.getLogin()), "Self-deactivation is not possible"); try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = dbClient.userDao().selectByLogin(dbSession, login); checkFound(user, "User '%s' doesn't exist", login); ensureNotLastAdministrator(dbSession, user); Integer userId = user.getId(); dbClient.userTokenDao().deleteByUser(dbSession, user); dbClient.propertiesDao().deleteByKeyAndValue(dbSession, DEFAULT_ISSUE_ASSIGNEE, user.getLogin()); dbClient.propertiesDao().deleteByQuery(dbSession, PropertyQuery.builder().setUserId(userId).build()); dbClient.userGroupDao().deleteByUserId(dbSession, userId); dbClient.userPermissionDao().deleteByUserId(dbSession, userId); dbClient.permissionTemplateDao().deleteUserPermissionsByUserId(dbSession, userId); dbClient.qProfileEditUsersDao().deleteByUser(dbSession, user); dbClient.organizationMemberDao().deleteByUserId(dbSession, userId); dbClient.userPropertiesDao().deleteByUser(dbSession, user); dbClient.userDao().deactivateUser(dbSession, user); userIndexer.commitAndIndex(dbSession, user); } writeResponse(response, login); }
public void deleteByUserId(DbSession dbSession, int userId) { mapper(dbSession).deleteByUserId(userId); }
@Test public void delete_organization_member() { OrganizationDto organization = dbTester.organizations().insert(); OrganizationDto anotherOrganization = dbTester.organizations().insert(); UserDto user = dbTester.users().insertUser(); UserDto anotherUser = dbTester.users().insertUser(); GroupDto group = dbTester.users().insertGroup(organization); GroupDto anotherGroup = dbTester.users().insertGroup(anotherOrganization); dbTester.users().insertMembers(group, user, anotherUser); dbTester.users().insertMembers(anotherGroup, user, anotherUser); underTest.deleteByOrganizationAndUser(dbSession, organization.getUuid(), user.getId()); assertThat(dbClient.groupMembershipDao().selectGroupIdsByUserId(dbSession, user.getId())) .containsOnly(anotherGroup.getId()); assertThat(dbClient.groupMembershipDao().selectGroupIdsByUserId(dbSession, anotherUser.getId())) .containsOnly(group.getId(), anotherGroup.getId()); }
@Test public void delete_by_user() { UserDto user1 = dbTester.users().insertUser(); UserDto user2 = dbTester.users().insertUser(); GroupDto group1 = dbTester.users().insertGroup(); GroupDto group2 = dbTester.users().insertGroup(); dbTester.users().insertMember(group1, user1); dbTester.users().insertMember(group1, user2); dbTester.users().insertMember(group2, user1); dbTester.users().insertMember(group2, user2); underTest.deleteByUserId(dbTester.getSession(), user1.getId()); dbTester.getSession().commit(); assertThat(dbTester.getDbClient().groupMembershipDao().selectGroupIdsByUserId(dbTester.getSession(), user1.getId())).isEmpty(); assertThat(dbTester.getDbClient().groupMembershipDao().selectGroupIdsByUserId(dbTester.getSession(), user2.getId())).containsOnly(group1.getId(), group2.getId()); } }
private void addCurrentUserToGroup(DbSession dbSession, GroupDto group, int createUserId) { dbClient.userGroupDao().insert( dbSession, new UserGroupDto().setGroupId(group.getId()).setUserId(createUserId)); }
public void deleteByOrganizationAndUser(DbSession dbSession, String organizationUuid, int userId) { mapper(dbSession).deleteByOrganizationAndUser(organizationUuid, userId); }
@Test public void delete_members_by_group_id() { UserDto user1 = dbTester.users().insertUser(); UserDto user2 = dbTester.users().insertUser(); GroupDto group1 = dbTester.users().insertGroup(); GroupDto group2 = dbTester.users().insertGroup(); dbTester.users().insertMember(group1, user1); dbTester.users().insertMember(group1, user2); dbTester.users().insertMember(group2, user1); dbTester.users().insertMember(group2, user2); underTest.deleteByGroupId(dbTester.getSession(), group1.getId()); dbTester.getSession().commit(); assertThat(dbTester.getDbClient().groupMembershipDao().selectGroupIdsByUserId(dbTester.getSession(), user1.getId())).containsOnly(group2.getId()); assertThat(dbTester.getDbClient().groupMembershipDao().selectGroupIdsByUserId(dbTester.getSession(), user2.getId())).containsOnly(group2.getId()); }
private void removeMember(DbSession dbSession, OrganizationDto organization, UserDto user) { ensureLastAdminIsNotRemoved(dbSession, organization, user); int userId = user.getId(); String organizationUuid = organization.getUuid(); dbClient.userPermissionDao().deleteOrganizationMemberPermissions(dbSession, organizationUuid, userId); dbClient.permissionTemplateDao().deleteUserPermissionsByOrganization(dbSession, organizationUuid, userId); dbClient.qProfileEditUsersDao().deleteByOrganizationAndUser(dbSession, organization, user); dbClient.userGroupDao().deleteByOrganizationAndUser(dbSession, organizationUuid, userId); dbClient.propertiesDao().deleteByOrganizationAndUser(dbSession, organizationUuid, userId); dbClient.propertiesDao().deleteByOrganizationAndMatchingLogin(dbSession, organizationUuid, user.getLogin(), singletonList(DEFAULT_ISSUE_ASSIGNEE)); dbClient.organizationMemberDao().delete(dbSession, organizationUuid, userId); userIndexer.commitAndIndex(dbSession, user); }
@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn().checkIsSystemAdministrator(); String login = request.mandatoryParam(PARAM_LOGIN); checkRequest(!login.equals(userSession.getLogin()), "Self-deactivation is not possible"); try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = dbClient.userDao().selectByLogin(dbSession, login); checkFound(user, "User '%s' doesn't exist", login); ensureNotLastAdministrator(dbSession, user); Integer userId = user.getId(); dbClient.userTokenDao().deleteByUser(dbSession, user); dbClient.propertiesDao().deleteByKeyAndValue(dbSession, DEFAULT_ISSUE_ASSIGNEE, user.getLogin()); dbClient.propertiesDao().deleteByQuery(dbSession, PropertyQuery.builder().setUserId(userId).build()); dbClient.userGroupDao().deleteByUserId(dbSession, userId); dbClient.userPermissionDao().deleteByUserId(dbSession, userId); dbClient.permissionTemplateDao().deleteUserPermissionsByUserId(dbSession, userId); dbClient.qProfileEditUsersDao().deleteByUser(dbSession, user); dbClient.organizationMemberDao().deleteByUserId(dbSession, userId); dbClient.userDao().deactivateUser(dbSession, user); userIndexer.commitAndIndex(dbSession, user); } writeResponse(response, login); }
@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn(); try (DbSession dbSession = dbClient.openSession(false)) { GroupDto group = support.findGroupDto(dbSession, request); userSession.checkPermission(OrganizationPermission.ADMINISTER, group.getOrganizationUuid()); support.checkGroupIsNotDefault(dbSession, group); String login = request.mandatoryParam(PARAM_LOGIN); UserDto user = getUser(dbSession, login); ensureLastAdminIsNotRemoved(dbSession, group, user); dbClient.userGroupDao().delete(dbSession, group.getId(), user.getId()); dbSession.commit(); response.noContent(); } }
private void associateMembersOfDefaultOrganizationToGroup(DbSession dbSession, String defaultOrganizationUuid, GroupDto membersGroup) { List<Integer> organizationMembers = dbClient.organizationMemberDao().selectUserIdsByOrganizationUuid(dbSession, defaultOrganizationUuid); organizationMembers.forEach(member -> dbClient.userGroupDao().insert(dbSession, new UserGroupDto().setGroupId(membersGroup.getId()).setUserId(member))); }
public void delete(DbSession session, int groupId, int userId) { mapper(session).delete(groupId, userId); }
private void removeGroupMembers(DbSession dbSession, GroupDto groupId) { dbClient.userGroupDao().deleteByGroupId(dbSession, groupId.getId()); } }
private void removeGroups(DbSession dbSession, UserDto userDto, Collection<String> groupsToRemove, Map<String, GroupDto> groupsByName) { Optional<GroupDto> defaultGroup = getDefaultGroup(dbSession); groupsToRemove.stream().map(groupsByName::get) .filter(Objects::nonNull) // user should be member of default group only when organizations are disabled, as the IdentityProvider API doesn't handle yet // organizations .filter(group -> !defaultGroup.isPresent() || !group.getId().equals(defaultGroup.get().getId())) .forEach(groupDto -> { LOGGER.debug("Removing group '{}' from user '{}'", groupDto.getName(), userDto.getLogin()); dbClient.userGroupDao().delete(dbSession, groupDto.getId(), userDto.getId()); }); }
public void insertMembers(GroupDto group, UserDto... users) { Arrays.stream(users).forEach(user -> { UserGroupDto dto = new UserGroupDto().setGroupId(group.getId()).setUserId(user.getId()); db.getDbClient().userGroupDao().insert(db.getSession(), dto); }); db.commit(); }