private Optional<OrganizationDto> getPersonalOrganization(DbSession dbSession, UserDto user) { String personalOrganizationUuid = user.getOrganizationUuid(); if (personalOrganizationUuid == null) { return Optional.empty(); } return Optional.of(dbClient.organizationDao().selectByUuid(dbSession, personalOrganizationUuid) .orElseThrow(() -> new IllegalStateException(format("Organization uuid '%s' does not exist", personalOrganizationUuid)))); }
private Organization toOrganization(DbSession dbSession, String organizationUuid) { Optional<OrganizationDto> organizationDto = dbClient.organizationDao().selectByUuid(dbSession, organizationUuid); checkState(organizationDto.isPresent(), "Organization with uuid '%s' can't be found", organizationUuid); return Organization.from(organizationDto.get()); }
private OrganizationDto loadOrganization(DbSession dbSession, ComponentDto project) { String organizationUuid = project.getOrganizationUuid(); return dbClient.organizationDao().selectByUuid(dbSession, organizationUuid) .orElseThrow(() -> new IllegalStateException("No organization with UUID " + organizationUuid)); }
private OrganizationDto selectOrganizationByUuid(DbSession dbSession, String orgUuid, UserDto user) { return dbClient.organizationDao() .selectByUuid(dbSession, orgUuid) .orElseThrow(() -> new IllegalStateException("Organization with UUID " + orgUuid + " does not exist in DB but is referenced in permissions of user " + user.getLogin())); } }
private static DefaultOrganization getDefaultOrganization(DbClient dbClient) { try (DbSession dbSession = dbClient.openSession(false)) { Optional<String> uuid = dbClient.internalPropertiesDao().selectByKey(dbSession, InternalProperties.DEFAULT_ORGANIZATION); checkState(uuid.isPresent() && !uuid.get().isEmpty(), "No Default organization uuid configured"); Optional<OrganizationDto> dto = dbClient.organizationDao().selectByUuid(dbSession, uuid.get()); checkState(dto.isPresent(), "Default organization with uuid '%s' does not exist", uuid.get()); return toDefaultOrganization(dto.get()); } }
public OrganizationDto getOrganization(DbSession dbSession, QProfileDto profile) { requireNonNull(profile); String organizationUuid = profile.getOrganizationUuid(); OrganizationDto organization = dbClient.organizationDao().selectByUuid(dbSession, organizationUuid) .orElseThrow(() -> new IllegalStateException("Cannot load organization with uuid=" + organizationUuid)); checkMembershipOnPaidOrganization(organization); return organization; }
private String getOrganizationKey(DbSession dbSession, ComponentDto component) { String organizationUuid = component.getOrganizationUuid(); return dbClient.organizationDao().selectByUuid(dbSession, organizationUuid) .orElseThrow(() -> new IllegalStateException("Unknown organization: " + organizationUuid)) .getKey(); }
private boolean isMemberOfOrganization(DbSession dbSession, ComponentDto file) { OrganizationDto organizationDto = dbClient.organizationDao().selectByUuid(dbSession, file.getOrganizationUuid()) .orElseThrow(() -> new IllegalStateException(String.format("Organization with uuid '%s' not found", file.getOrganizationUuid()))); return !userSession.hasMembership(organizationDto); }
private void checkMembership(DbSession dbSession, IssueDto issueDto, UserDto user) { String projectUuid = requireNonNull(issueDto.getProjectUuid()); ComponentDto project = Optional.ofNullable(dbClient.componentDao().selectByUuid(dbSession, projectUuid).orElse(null)) .orElseThrow(() -> new IllegalStateException(format("Unknown project %s", projectUuid))); OrganizationDto organizationDto = dbClient.organizationDao().selectByUuid(dbSession, project.getOrganizationUuid()) .orElseThrow(() -> new IllegalStateException(format("Unknown organizationMember %s", project.getOrganizationUuid()))); checkArgument(dbClient.organizationMemberDao().select(dbSession, organizationDto.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organizationDto.getKey()); } }
private boolean isMember(DbSession dbSession, IssueDto issue) { Optional<ComponentDto> project = dbClient.componentDao().selectByUuid(dbSession, issue.getProjectUuid()); checkState(project.isPresent(), "Cannot find the project with uuid %s from issue.id %s", issue.getProjectUuid(), issue.getId()); Optional<OrganizationDto> organization = dbClient.organizationDao().selectByUuid(dbSession, project.get().getOrganizationUuid()); checkState(organization.isPresent(), "Cannot find the organization with uuid %s from issue.id %s", project.get().getOrganizationUuid(), issue.getId()); return userSession.hasMembership(organization.get()); }
public OrganizationDto getOrganization(DbSession dbSession, ComponentDto component) { String organizationUuid = component.getOrganizationUuid(); Optional<OrganizationDto> organizationDto = dbClient.organizationDao().selectByUuid(dbSession, organizationUuid); return checkFoundWithOptional(organizationDto, "Organization with uuid '%s' not found", organizationUuid); }
private void updatePersonalOrganization(DbSession dbSession, UserDto user) { String personalOrganizationUuid = user.getOrganizationUuid(); if (personalOrganizationUuid == null) { return; } dbClient.organizationDao().selectByUuid(dbSession, personalOrganizationUuid) .ifPresent(organization -> organizationUpdater.updateOrganizationKey(dbSession, organization, user.getLogin())); }
private Optional<CurrentWsResponse.Homepage> organizationHomepage(DbSession dbSession, UserDto user) { Optional<OrganizationDto> organizationOptional = dbClient.organizationDao().selectByUuid(dbSession, of(user.getHomepageParameter()).orElse(EMPTY)); if (!organizationOptional.isPresent()) { cleanUserHomepageInDb(dbSession, user); return empty(); } return of(CurrentWsResponse.Homepage.newBuilder() .setType(CurrentWsResponse.HomepageType.valueOf(user.getHomepageType())) .setOrganization(organizationOptional.get().getKey()) .build()); }
private OrganizationDto defaultOrganizationDto(DbSession dbSession) { String uuid = defaultOrganizationProvider.get().getUuid(); Optional<OrganizationDto> organizationDto = dbClient.organizationDao().selectByUuid(dbSession, uuid); return checkStateWithOptional(organizationDto, "the default organization '%s' was not found", uuid); } }
private OrganizationDto defaultOrganizationDto(DbSession dbSession) { String uuid = defaultOrganizationProvider.get().getUuid(); Optional<OrganizationDto> organizationDto = dbClient.organizationDao().selectByUuid(dbSession, uuid); return checkStateWithOptional(organizationDto, "the default organization '%s' was not found", uuid); }
@Test public void selectByUuid_returns_row_data_of_specified_uuid() { insertOrganization(ORGANIZATION_DTO_1); assertThat(underTest.selectByUuid(dbSession, "foo uuid")).isEmpty(); }
@Test public void selectByUuid_is_case_sensitive() { insertOrganization(ORGANIZATION_DTO_1); assertThat(underTest.selectByUuid(dbSession, ORGANIZATION_DTO_1.getUuid().toUpperCase(Locale.ENGLISH))).isEmpty(); }
@Test public void update_personal_organization() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("old login")); when(organizationValidation.generateKeyFrom("new_login")).thenReturn("new_login"); underTest.updateOrganizationKey(dbSession, organization, "new_login"); OrganizationDto organizationReloaded = dbClient.organizationDao().selectByUuid(dbSession, organization.getUuid()).get(); assertThat(organizationReloaded.getKey()).isEqualTo("new_login"); }
@Test public void does_not_update_personal_organization_when_generated_organization_key_does_not_change() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("login")); when(organizationValidation.generateKeyFrom("Login")).thenReturn("login"); underTest.updateOrganizationKey(dbSession, organization, "Login"); OrganizationDto organizationReloaded = dbClient.organizationDao().selectByUuid(dbSession, organization.getUuid()).get(); assertThat(organizationReloaded.getKey()).isEqualTo("login"); }
@Test public void selectByUuid_returns_row_data_when_uuid_exists() { insertOrganization(ORGANIZATION_DTO_1); Optional<OrganizationDto> optional = underTest.selectByUuid(dbSession, ORGANIZATION_DTO_1.getUuid()); verifyOrganization1(optional); }