Skip to content

Commit 826cca7

Browse files
committed
feat: make request in parallel
1 parent 882a840 commit 826cca7

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

  • services/libs/data-access-layer/src/members

services/libs/data-access-layer/src/members/base.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,17 +446,21 @@ export async function queryMembersAdvanced(
446446
return { rows: [], count, limit, offset }
447447
}
448448

449-
const [memberOrganizations, identities, memberSegments] = await Promise.all([
449+
const [memberOrganizations, identities, memberSegments, maintainerRoles] = await Promise.all([
450450
include.memberOrganizations ? fetchManyMemberOrgs(qx, memberIds) : Promise.resolve([]),
451451
include.identities ? fetchManyMemberIdentities(qx, memberIds) : Promise.resolve([]),
452452
include.segments ? fetchManyMemberSegments(qx, memberIds) : Promise.resolve([]),
453+
include.maintainers ? findMaintainerRoles(qx, memberIds) : Promise.resolve([]),
453454
])
454455

455-
const [orgExtra, segmentsInfo] = await Promise.all([
456+
const [orgExtra, segmentsInfo, maintainerSegmentsInfo] = await Promise.all([
456457
include.memberOrganizations
457458
? fetchOrganizationData(qx, memberOrganizations)
458459
: Promise.resolve({ orgs: [], lfx: [] }),
459460
include.segments ? fetchSegmentData(qx, memberSegments) : Promise.resolve([]),
461+
include.maintainers && maintainerRoles.length > 0
462+
? fetchManySegments(qx, uniq(maintainerRoles.map((m) => m.segmentId)))
463+
: Promise.resolve([]),
460464
])
461465

462466
if (include.memberOrganizations) {
@@ -515,14 +519,10 @@ export async function queryMembersAdvanced(
515519
}
516520

517521
if (include.maintainers) {
518-
const maintainerRoles = await findMaintainerRoles(qx, memberIds)
519-
const segmentIds = uniq(maintainerRoles.map((m) => m.segmentId))
520-
const segmentsInfo = await fetchManySegments(qx, segmentIds)
521-
522522
const groupedMaintainers = groupBy(maintainerRoles, (m) => m.memberId)
523523
rows.forEach((member) => {
524524
member.maintainerRoles = (groupedMaintainers.get(member.id) || []).map((role) => {
525-
const segmentInfo = segmentsInfo.find((s) => s.id === role.segmentId)
525+
const segmentInfo = maintainerSegmentsInfo.find((s) => s.id === role.segmentId)
526526
return {
527527
...role,
528528
segmentName: segmentInfo?.name,

0 commit comments

Comments
 (0)