@CheckForNull private UserDto getUser(DbSession dbSession, @Nullable String assignee) { if (Strings.isNullOrEmpty(assignee)) { return null; } return checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, assignee), "Unknown user: %s", assignee); }
private UserDto getUser(DbSession dbSession, String userLogin) { return checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, userLogin), "User with login '%s' is not found'", userLogin); } }
@CheckForNull private User findByLogin(String login) { try (DbSession dbSession = dbClient.openSession(false)) { UserDto dto = dbClient.userDao().selectActiveUserByLogin(dbSession, login); return dto != null ? dto.toUser() : null; } }
private List<String> searchEditableProfiles(DbSession dbSession, OrganizationDto organization) { if (!userSession.isLoggedIn()) { return emptyList(); } String login = userSession.getLogin(); UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkState(user != null, "User with login '%s' is not found'", login); return Stream.concat( dbClient.qProfileEditUsersDao().selectQProfileUuidsByOrganizationAndUser(dbSession, organization, user).stream(), dbClient.qProfileEditGroupsDao().selectQProfileUuidsByOrganizationAndGroups(dbSession, organization, userSession.getGroups()).stream()) .collect(toList()); }
private UserDto getUser(String assigneeKey) { try (DbSession dbSession = dbClient.openSession(false)) { return checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, assigneeKey), "Unknown user: %s", assigneeKey); } }
public UserDto getUser(DbSession dbSession, OrganizationDto organization, String login) { UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkFound(user, "User with login '%s' is not found'", login); checkMembership(dbSession, organization, user); return user; }
public UserId findUser(DbSession dbSession, String login) { UserDto dto = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkFound(dto, "User with login '%s' is not found'", login); return new UserId(dto.getId(), dto.getLogin()); }
private String findValidUserUuidFromLogin(String login) { try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); if (user == null) { LOG.info("Property {} is set with an unknown login: {}", DEFAULT_ISSUE_ASSIGNEE, login); return null; } if (!isUserMemberOfOrganization(dbSession, user)) { LOG.info("Property {} is set with a user which is not member of the organization of the project : {}", DEFAULT_ISSUE_ASSIGNEE, login); return null; } return user.getUuid(); } }
private CurrentWsResponse toWsResponse(DbSession dbSession, String userLogin) { UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, userLogin); checkState(user != null, "User login '%s' cannot be found", userLogin); Collection<String> groups = dbClient.groupMembershipDao().selectGroupsByLogins(dbSession, singletonList(userLogin)).get(userLogin); Optional<OrganizationDto> personalOrganization = getPersonalOrganization(dbSession, user); CurrentWsResponse.Builder builder = newBuilder() .setIsLoggedIn(true) .setLogin(user.getLogin()) .setName(user.getName()) .setLocal(user.isLocal()) .addAllGroups(groups) .addAllScmAccounts(user.getScmAccountsAsList()) .setPermissions(Permissions.newBuilder().addAllGlobal(getGlobalPermissions()).build()) .setHomepage(buildHomepage(dbSession, user)) .setShowOnboardingTutorial(!user.isOnboarded()) .addAllSettings(loadUserSettings(dbSession, user)); ofNullable(emptyToNull(user.getEmail())).ifPresent(builder::setEmail); ofNullable(emptyToNull(user.getEmail())).ifPresent(u -> builder.setAvatar(avatarResolver.create(user))); ofNullable(user.getExternalLogin()).ifPresent(builder::setExternalIdentity); ofNullable(user.getExternalIdentityProvider()).ifPresent(builder::setExternalProvider); personalOrganization.ifPresent(org -> builder.setPersonalOrganization(org.getKey())); return builder.build(); }
@Test public void selectUserByLogin_not_found() { db.users().insertUser(user -> user.setLogin("user")); UserDto user = underTest.selectActiveUserByLogin(session, "not_found"); assertThat(user).isNull(); }
@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn(); try (DbSession dbSession = dbClient.openSession(false)) { String userLogin = userSession.getLogin(); UserDto userDto = dbClient.userDao().selectActiveUserByLogin(dbSession, userLogin); checkState(userDto != null, "User login '%s' cannot be found", userLogin); if (!userDto.isOnboarded()) { userDto.setOnboarded(true); // no need to update Elasticsearch, the field onBoarded // is not indexed dbClient.userDao().update(dbSession, userDto); dbSession.commit(); } } response.noContent(); } }
private UserDto authenticate(DbSession dbSession, Credentials credentials, HttpServletRequest request, Method method) { UserDto localUser = dbClient.userDao().selectActiveUserByLogin(dbSession, credentials.getLogin()); if (localUser != null && localUser.isLocal()) { localAuthentication.authenticate(dbSession, localUser, credentials.getPassword().orElse(null), method); dbSession.commit(); authenticationEvent.loginSuccess(request, localUser.getLogin(), Source.local(method)); return localUser; } Optional<UserDto> externalUser = externalAuthentication.authenticate(credentials, request, method); if (externalUser.isPresent()) { return externalUser.get(); } throw AuthenticationException.newBuilder() .setSource(Source.local(method)) .setLogin(credentials.getLogin()) .setMessage(localUser != null && !localUser.isLocal() ? "User is not local" : "No active user for login") .build(); } }
@Override public void handle(Request request, Response response) throws Exception { String organizationKey = request.mandatoryParam(PARAM_ORGANIZATION); String login = request.mandatoryParam(PARAM_LOGIN); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = checkFoundWithOptional(dbClient.organizationDao().selectByKey(dbSession, organizationKey), "Organization '%s' is not found", organizationKey); UserDto user = checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, login), "User '%s' is not found", login); userSession.checkPermission(ADMINISTER, organization); dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId()) .ifPresent(om -> removeMember(dbSession, organization, user)); } response.noContent(); }
UserDto currentUser = requireNonNull(dbClient.userDao().selectActiveUserByLogin(dbSession, requireNonNull(userSession.getLogin()))); OrganizationDto organization = organizationUpdater.create( dbSession,
db.getSession().commit(); UserDto user = underTest.selectActiveUserByLogin(session, "john"); assertThat(user).isNotNull(); assertThat(user.getId()).isNotNull();
@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn(); HomepageTypes.Type type = request.mandatoryParamAsEnum(PARAM_TYPE, HomepageTypes.Type.class); String componentParameter = request.param(PARAM_COMPONENT); String organizationParameter = request.param(PARAM_ORGANIZATION); try (DbSession dbSession = dbClient.openSession(false)) { String parameter = getHomepageParameter(dbSession, type, componentParameter, request.param(PARAM_BRANCH), organizationParameter); UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, userSession.getLogin()); checkState(user != null, "User login '%s' cannot be found", userSession.getLogin()); user.setHomepageType(type.name()); user.setHomepageParameter(parameter); dbClient.userDao().update(dbSession, user); dbSession.commit(); } response.noContent(); }
@Test public void selectUserByLogin_ignore_inactive() { db.users().insertUser(user -> user.setLogin("user1")); db.users().insertUser(user -> user.setLogin("user2")); db.users().insertUser(user -> user.setLogin("inactive_user").setActive(false)); UserDto user = underTest.selectActiveUserByLogin(session, "inactive_user"); assertThat(user).isNull(); }
@Override public void handle(Request request, Response response) throws Exception { try (DbSession dbSession = dbClient.openSession(false)) { GroupDto group = support.findGroupDto(dbSession, request); userSession.checkLoggedIn().checkPermission(ADMINISTER, group.getOrganizationUuid()); String login = request.mandatoryParam(PARAM_LOGIN); UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkFound(user, "Could not find a user with login '%s'", login); OrganizationDto organization = support.findOrganizationByKey(dbSession, request.param(PARAM_ORGANIZATION_KEY)); checkMembership(dbSession, organization, user); support.checkGroupIsNotDefault(dbSession, group); if (!isMemberOf(dbSession, user, group)) { UserGroupDto membershipDto = new UserGroupDto().setGroupId(group.getId()).setUserId(user.getId()); dbClient.userGroupDao().insert(dbSession, membershipDto); dbSession.commit(); } response.noContent(); } }
private GroupsWsResponse doHandle(GroupsRequest request) { try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = findOrganizationByKey(dbSession, request.getOrganization()); userSession.checkPermission(OrganizationPermission.ADMINISTER, organization); String login = request.getLogin(); GroupMembershipQuery query = GroupMembershipQuery.builder() .organizationUuid(organization.getUuid()) .groupSearch(request.getQuery()) .membership(getMembership(request.getSelected())) .pageIndex(request.getPage()) .pageSize(request.getPageSize()) .build(); UserDto user = checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, login), "Unknown user: %s", login); int total = dbClient.groupMembershipDao().countGroups(dbSession, query, user.getId()); Paging paging = forPageIndex(query.pageIndex()).withPageSize(query.pageSize()).andTotal(total); List<GroupMembershipDto> groups = dbClient.groupMembershipDao().selectGroups(dbSession, query, user.getId(), paging.offset(), query.pageSize()); return buildResponse(groups, defaultGroupFinder.findDefaultGroup(dbSession, organization.getUuid()), paging); } }
public UserDto getUser(DbSession dbSession, OrganizationDto organization, String login) { UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkFound(user, "User with login '%s' is not found'", login); checkMembership(dbSession, organization, user); return user; }