Skip to content

Commit d9db071

Browse files
committed
debugger logs
1 parent b528b29 commit d9db071

File tree

2 files changed

+30
-19
lines changed

2 files changed

+30
-19
lines changed

backend/src/services/memberOrganizationService.ts

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export default class MemberOrganizationService extends LoggerBase {
101101
(m) => mergeStrat.entityId(m) === secondaryId,
102102
)
103103

104-
this.mergeRoles(primaryRoles, secondaryRoles, mergeStrat)
104+
await this.mergeRoles(primaryRoles, secondaryRoles, mergeStrat)
105105

106106
// update rest of the o2 members
107107
const remainingRoles = await MemberOrganizationRepository.findNonIntersectingRoles(
@@ -303,8 +303,8 @@ export default class MemberOrganizationService extends LoggerBase {
303303
secondaryRoles: IMemberOrganization[],
304304
mergeStrat: IMergeStrat,
305305
) {
306-
let removeRoles: IMemberOrganization[] = []
307-
let addRoles: IMemberOrganization[] = []
306+
const removeRoles: IMemberOrganization[] = []
307+
const addRoles: IMemberOrganization[] = []
308308

309309
for (const memberOrganization of secondaryRoles) {
310310
// if dateEnd and dateStart isn't available, we don't need to move but delete it from org2
@@ -345,8 +345,6 @@ export default class MemberOrganizationService extends LoggerBase {
345345
} else {
346346
throw new Error(`Member ${memberOrganization.memberId} has more than one current roles.`)
347347
}
348-
} else if (memberOrganization.dateStart === null && memberOrganization.dateEnd !== null) {
349-
throw new Error(`Member organization with dateEnd and without dateStart!`)
350348
} else {
351349
// both dateStart and dateEnd exists
352350
const foundIntersectingRoles = primaryRoles.filter((mo) => {
@@ -394,17 +392,16 @@ export default class MemberOrganizationService extends LoggerBase {
394392
removeRoles.push(r)
395393
}
396394
}
395+
}
397396

398-
for (const removeRole of removeRoles) {
399-
await MemberOrganizationRepository.removeMemberRole(removeRole, this.options)
400-
}
401-
402-
for (const addRole of addRoles) {
403-
await MemberOrganizationRepository.addMemberRole(addRole, this.options)
404-
}
397+
// Execute all removals first
398+
for (const removeRole of removeRoles) {
399+
await MemberOrganizationRepository.removeMemberRole(removeRole, this.options)
400+
}
405401

406-
addRoles = []
407-
removeRoles = []
402+
// Then execute all additions
403+
for (const addRole of addRoles) {
404+
await MemberOrganizationRepository.addMemberRole(addRole, this.options)
408405
}
409406
}
410407
}

backend/src/services/memberService.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,20 +1272,23 @@ export default class MemberService extends LoggerBase {
12721272
},
12731273
}
12741274

1275+
this.log.info('Creating transaction') // debugger logs
1276+
const repoOptions: IRepositoryOptions =
1277+
await SequelizeRepository.createTransactionalRepositoryOptions(this.options)
1278+
tx = repoOptions.transaction
1279+
1280+
this.log.info('Adding merge action') // debugger logs
12751281
await MergeActionsRepository.add(
12761282
MergeActionType.MEMBER,
12771283
originalId,
12781284
toMergeId,
1279-
this.options,
1285+
repoOptions,
12801286
MergeActionStep.MERGE_STARTED,
12811287
MergeActionState.IN_PROGRESS,
12821288
backup,
12831289
)
12841290

1285-
const repoOptions: IRepositoryOptions =
1286-
await SequelizeRepository.createTransactionalRepositoryOptions(this.options)
1287-
tx = repoOptions.transaction
1288-
1291+
this.log.info('Processing identities') // debugger logs
12891292
const identitiesToUpdate = []
12901293
const identitiesToMove = []
12911294
for (const identity of toMergeIdentities) {
@@ -1306,6 +1309,7 @@ export default class MemberService extends LoggerBase {
13061309
}
13071310
}
13081311

1312+
this.log.info('Moving identities between members') // debugger logs
13091313
await MemberRepository.moveIdentitiesBetweenMembers(
13101314
toMergeId,
13111315
originalId,
@@ -1315,37 +1319,47 @@ export default class MemberService extends LoggerBase {
13151319
)
13161320

13171321
// Update member affiliations
1322+
this.log.info('Moving affiliations') // debugger logs
13181323
await MemberRepository.moveAffiliationsBetweenMembers(toMergeId, originalId, repoOptions)
13191324

13201325
// Performs a merge and returns the fields that were changed so we can update
1326+
this.log.info('Performing member merge') // debugger logs
13211327
const toUpdate: any = await MemberService.membersMerge(original, toMerge)
13221328

13231329
// Update original member
1330+
this.log.info('Creating service for update') // debugger logs
13241331
const txService = new MemberService(repoOptions as IServiceOptions)
13251332

13261333
captureNewState({ primary: toUpdate })
13271334

1335+
this.log.info('Updating member') // debugger logs
13281336
await txService.update(originalId, toUpdate, {
13291337
syncToOpensearch: false,
13301338
})
13311339

13321340
// update members that belong to source organization to destination org
1341+
this.log.info('Creating memberOrganizationService') // debugger logs
13331342
const memberOrganizationService = new MemberOrganizationService(repoOptions)
1343+
this.log.info('Moving orgs between members') // debugger logs
13341344
await memberOrganizationService.moveOrgsBetweenMembers(originalId, toMergeId)
13351345

13361346
// Remove toMerge from original member
1347+
this.log.info('Removing toMerge') // debugger logs
13371348
await MemberRepository.removeToMerge(originalId, toMergeId, repoOptions)
13381349

1350+
this.log.info('Getting member segments') // debugger logs
13391351
const secondMemberSegments = await MemberRepository.getMemberSegments(
13401352
toMergeId,
13411353
repoOptions,
13421354
)
13431355

1356+
this.log.info('Including member to segments') // debugger logs
13441357
await MemberRepository.includeMemberToSegments(toMergeId, {
13451358
...repoOptions,
13461359
currentSegments: secondMemberSegments,
13471360
})
13481361

1362+
this.log.info('Committing transaction') // debugger logs
13491363
await SequelizeRepository.commitTransaction(tx)
13501364
return { original, toMerge }
13511365
}),

0 commit comments

Comments
 (0)