@@ -33,6 +33,14 @@ const options = [
3333 description :
3434 'The unique ID of a member that will be merged into the first one. This one will be destroyed. You can provide multiple ids here separated by comma.' ,
3535 } ,
36+ {
37+ name : 'userId' ,
38+ alias : 'u' ,
39+ typeLabel : '{underline userId}' ,
40+ type : String ,
41+ description :
42+ 'User ID of the user performing the merge.' ,
43+ } ,
3644 {
3745 name : 'help' ,
3846 alias : 'h' ,
@@ -65,6 +73,8 @@ if (parameters.help || !parameters.originalId || !parameters.targetId) {
6573 const originalId = parameters . originalId
6674 const targetIds = parameters . targetId . split ( ',' )
6775
76+ const userId = parameters . userId
77+
6878 const options = await SequelizeRepository . getDefaultIRepositoryOptions ( )
6979 const qx = SequelizeRepository . getQueryExecutor ( options )
7080
@@ -74,6 +84,7 @@ if (parameters.help || !parameters.originalId || !parameters.targetId) {
7484 ] )
7585
7686 options . currentTenant = { id : originalMember . tenantId }
87+ options . currentUser = { id : userId }
7788
7889 for ( const targetId of targetIds ) {
7990 const targetMember = await findMemberById ( qx , targetId , [
@@ -89,7 +100,7 @@ if (parameters.help || !parameters.originalId || !parameters.targetId) {
89100 log . info ( `Merging ${ targetId } into ${ originalId } ...` )
90101 const service = new CommonMemberService ( optionsQx ( options ) , options . temporal , log )
91102 try {
92- await service . merge ( originalId , targetId )
103+ await service . merge ( originalId , targetId , options )
93104 } catch ( err ) {
94105 log . error ( `Error merging members: ${ err . message } ` )
95106 process . exit ( 1 )
0 commit comments