Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions backend/src/database/repositories/memberRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -298,12 +298,11 @@ class MemberRepository {
const HIGH_CONFIDENCE_LOWER_BOUND = 0.9
const MEDIUM_CONFIDENCE_LOWER_BOUND = 0.7

const qx = SequelizeRepository.getQueryExecutor(options)
const currentSegments = SequelizeRepository.getSegmentIds(options)

const subprojectIds = await getSegmentSubprojectIds(qx, currentSegments)
// Member segments are aggregated at each hierarchy level (group -> project -> subproject).
// Match the selected segment ID directly; do not expand to leaf subprojects.
const segmentIds = SequelizeRepository.getSegmentIds(options)
Comment thread
skwowet marked this conversation as resolved.
Comment thread
skwowet marked this conversation as resolved.

if (subprojectIds.length === 0) {
if (segmentIds.length === 0) {
return args.countOnly
? { count: '0' }
: {
Expand Down Expand Up @@ -364,7 +363,7 @@ class MemberRepository {
similarityFilter,
displayNameFilter,
{
segmentIds: subprojectIds,
segmentIds,
displayName: args?.filter?.displayName ? `${args.filter.displayName}%` : undefined,
memberId: args?.filter?.memberId,
},
Expand Down Expand Up @@ -406,7 +405,7 @@ class MemberRepository {
`,
{
replacements: {
segmentIds: subprojectIds,
segmentIds,
limit: args.limit,
offset: args.offset,
displayName: args?.filter?.displayName ? `${args.filter.displayName}%` : undefined,
Expand Down Expand Up @@ -512,7 +511,7 @@ class MemberRepository {
similarityFilter,
displayNameFilter,
{
segmentIds: subprojectIds,
segmentIds,
memberId: args?.filter?.memberId,
displayName: args?.filter?.displayName ? `${args.filter.displayName}%` : undefined,
},
Expand Down
7 changes: 3 additions & 4 deletions backend/src/database/repositories/organizationRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -849,10 +849,9 @@ class OrganizationRepository {
const HIGH_CONFIDENCE_LOWER_BOUND = 0.9
const MEDIUM_CONFIDENCE_LOWER_BOUND = 0.7

const qx = SequelizeRepository.getQueryExecutor(options)
const currentSegments = SequelizeRepository.getSegmentIds(options)

const segmentIds = await getSegmentSubprojectIds(qx, currentSegments)
// Organization segments are aggregated at each hierarchy level (group -> project -> subproject).
// Match the selected segment ID(s) directly; do not expand to leaf subprojects.
const segmentIds = SequelizeRepository.getSegmentIds(options)
Comment thread
skwowet marked this conversation as resolved.
Comment thread
skwowet marked this conversation as resolved.

let similarityFilter = ''
const similarityConditions = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ import LfSpinner from '@/ui-kit/spinner/Spinner.vue';
import LfButton from '@/ui-kit/button/Button.vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import AppMemberMergeSuggestionsDialog from '@/modules/member/components/member-merge-suggestions-dialog.vue';
import { storeToRefs } from 'pinia';
import { useLfSegmentsStore } from '@/modules/lf/segments/store';
import LfMemberMergeSuggestionDropdown
from '@/modules/member/components/suggestions/member-merge-suggestion-dropdown.vue';
import LfScrollBodyControll from '@/ui-kit/scrollcontroll/ScrollBodyControll.vue';
Expand All @@ -81,23 +79,7 @@ const mergeSuggestions = ref<any[]>([]);
const isModalOpen = ref<boolean>(false);
const detailsOffset = ref<number>(0);

const { selectedProjectGroup } = storeToRefs(useLfSegmentsStore());

const segments = computed(() => (selectedProjectGroup.value?.id === props.projectGroup
? [
selectedProjectGroup.value?.id,
...selectedProjectGroup.value.projects.map((p) => [
...p.subprojects.map((sp) => sp.id),
]).flat(),
]
: [
props.projectGroup,
...selectedProjectGroup.value.projects
.filter((p) => p.id === props.projectGroup)
.map((p) => [
...p.subprojects.map((sp) => sp.id),
]).flat(),
]));
const segments = computed(() => [props.projectGroup]);

const loadMergeSuggestions = () => {
loading.value = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,6 @@ import LfDataQualityOrganizationMergeSuggestionsItem
from '@/modules/data-quality/components/organization/data-quality-organization-merge-suggestions-item.vue';
import AppOrganizationMergeSuggestionsDialog
from '@/modules/organization/components/organization-merge-suggestions-dialog.vue';
import { storeToRefs } from 'pinia';
import { useLfSegmentsStore } from '@/modules/lf/segments/store';
import LfScrollBodyControll from '@/ui-kit/scrollcontroll/ScrollBodyControll.vue';

const props = defineProps<{
Expand All @@ -75,23 +73,7 @@ const mergeSuggestions = ref<any[]>([]);
const isModalOpen = ref<boolean>(false);
const detailsOffset = ref<number>(0);

const { selectedProjectGroup } = storeToRefs(useLfSegmentsStore());

const segments = computed(() => (selectedProjectGroup.value?.id === props.projectGroup
? [
selectedProjectGroup.value?.id,
...selectedProjectGroup.value.projects.map((p) => [
...p.subprojects.map((sp) => sp.id),
]).flat(),
]
: [
props.projectGroup,
...selectedProjectGroup.value.projects
.filter((p) => p.id === props.projectGroup)
.map((p) => [
...p.subprojects.map((sp) => sp.id),
]).flat(),
]));
const segments = computed(() => [props.projectGroup]);

const loadMergeSuggestions = () => {
loading.value = true;
Expand Down
6 changes: 1 addition & 5 deletions frontend/src/modules/organization/organization-service.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import authAxios from '@/shared/axios/auth-axios';
import { AuthService } from '@/modules/auth/services/auth.service'; import { storeToRefs } from 'pinia';
import { useLfSegmentsStore } from '@/modules/lf/segments/store';
import { getSegmentsFromProjectGroup } from '@/utils/segments';

const getSelectedProjectGroup = () => {
const lsSegmentsStore = useLfSegmentsStore();
Expand Down Expand Up @@ -216,10 +215,7 @@ export class OrganizationService {
}

static async fetchMergeSuggestions(limit, offset, query) {
const segments = [
...getSegmentsFromProjectGroup(getSelectedProjectGroup()),
getSelectedProjectGroup().id,
];
const segments = [getSelectedProjectGroup().id];

const data = {
limit,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import authAxios from '@/shared/axios/auth-axios';
import { Organization } from '@/modules/organization/types/Organization';
import { getSegmentsFromProjectGroup } from '@/utils/segments';
import { useLfSegmentsStore } from '@/modules/lf/segments/store';
import { storeToRefs } from 'pinia';

Expand Down Expand Up @@ -33,10 +32,7 @@ export class OrganizationApiService {
const lsSegmentsStore = useLfSegmentsStore();
const { selectedProjectGroup } = storeToRefs(lsSegmentsStore);

const segments = [
...getSegmentsFromProjectGroup(selectedProjectGroup.value),
selectedProjectGroup.value?.id,
];
const segments = [selectedProjectGroup.value?.id];

const data = {
limit,
Expand Down
Loading