Skip to content

Commit

Permalink
return only subproject segments in member profile (#2564)
Browse files Browse the repository at this point in the history
  • Loading branch information
skwowet authored Aug 7, 2024
1 parent e063f18 commit ab40a43
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions backend/src/database/repositories/memberRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
SegmentData,
SegmentProjectGroupNestedData,
SegmentProjectNestedData,
SegmentType,
SyncStatus,
} from '@crowd/types'
import lodash, { chunk, uniq } from 'lodash'
Expand Down Expand Up @@ -1558,6 +1559,7 @@ class MemberRepository {
lfxMemberships: true,
identities: false,
segments: true,
onlySubProjects: true,
...include,
},
},
Expand Down Expand Up @@ -2233,11 +2235,13 @@ class MemberRepository {
include = {
identities: true,
segments: false,
onlySubProjects: false,
lfxMemberships: false,
memberOrganizations: false,
} as {
identities?: boolean
segments?: boolean
onlySubProjects?: boolean
lfxMemberships?: boolean
memberOrganizations?: boolean
},
Expand Down Expand Up @@ -2494,13 +2498,22 @@ class MemberRepository {
const segmentsInfo = await fetchManySegments(qx, segmentIds)

rows.forEach((member) => {
member.segments = (
memberSegments.find((i) => i.memberId === member.id)?.segments || []
).map((segment) => ({
id: segment.segmentId,
name: segmentsInfo.find((s) => s.id === segment.segmentId)?.name,
activityCount: segment.activityCount,
}))
member.segments = (memberSegments.find((i) => i.memberId === member.id)?.segments || [])
.map((segment) => {
const segmentInfo = segmentsInfo.find((s) => s.id === segment.segmentId)

// include only subprojects if flag is set
if (include.onlySubProjects && segmentInfo?.type !== SegmentType.SUB_PROJECT) {
return null
}

return {
id: segment.segmentId,
name: segmentInfo?.name,
activityCount: segment.activityCount,
}
})
.filter(Boolean)
})
}

Expand Down

0 comments on commit ab40a43

Please sign in to comment.