Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -52,17 +52,16 @@ export async function verifyMemberWorkExperience(req: Request, res: Response): P
throw new NotFoundError('Work experience not found')
}

// Stash org fields for response fallback when reject soft-deletes the row.
const orgsMapBeforeChange = await fetchManyMemberOrgsWithOrgData(qx, [memberId], {
withDomains: true,
})
Comment thread
skwowet marked this conversation as resolved.
Outdated

const workExperienceWithOrgData = groupMemberOrganizations(
orgsMapBeforeChange.get(memberId) ?? [],
).find((mo) => mo.id === workExperienceId)
const memberOrgsWithOrgDataBeforeChange = orgsMapBeforeChange.get(memberId) ?? []
Comment thread
skwowet marked this conversation as resolved.
Outdated
Comment thread
skwowet marked this conversation as resolved.
Outdated

if (!workExperienceWithOrgData) {
throw new NotFoundError('Work experience not found')
}
const workExperienceWithOrgDataBeforeChange = memberOrgsWithOrgDataBeforeChange.find(
(mo) => mo.id === workExperienceId,
)
Comment thread
skwowet marked this conversation as resolved.
Outdated
Comment thread
skwowet marked this conversation as resolved.
Outdated

const overlappingGroupedRows = getOverlappingGroupedMemberOrganizations(memberOrgs, memberOrg)

Expand Down Expand Up @@ -113,11 +112,22 @@ export async function verifyMemberWorkExperience(req: Request, res: Response): P
)

const orgsMap = await fetchManyMemberOrgsWithOrgData(qx, [memberId], { withDomains: true })
const memberOrgsWithData = orgsMap.get(memberId) ?? []
const groupedMemberOrgsBeforeChange = groupMemberOrganizations(memberOrgsWithOrgDataBeforeChange)

const fallbackMo =
memberOrgsWithData.find((mo) => mo.id === workExperienceId) ??
groupedMemberOrgsBeforeChange.find((mo) => mo.id === workExperienceId) ??
workExperienceWithOrgDataBeforeChange

if (!fallbackMo) {
throw new NotFoundError('Work experience not found')
}

const responseMo: IMemberRoleWithOrganization = groupMemberOrganizations(
orgsMap.get(memberId) ?? [],
).find((mo) => mo.id === workExperienceId) ?? {
...workExperienceWithOrgData,
const responseMo: IMemberRoleWithOrganization = groupMemberOrganizations(memberOrgsWithData).find(
(mo) => mo.id === workExperienceId,
) ?? {
...fallbackMo,
...updatedMemberOrg,
verified,
verifiedBy,
Expand Down
Loading