Skip to content

Commit 085711b

Browse files
authored
fix: add userId parameter to member merge script (#4285)
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
1 parent 9a9d156 commit 085711b

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

backend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"script:continue-run": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/continue-run.ts",
2020
"script:trigger-webhook": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/trigger-webhook.ts",
2121
"script:send-weekly-analytics-email": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/send-weekly-analytics-email.ts",
22+
"script:merge-members": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/merge-members.ts",
2223
"script:merge-organizations": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/merge-organizations.ts",
2324
"script:refresh-materialized-views": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/refresh-materialized-views.ts",
2425
"script:unmerge-members": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true tsx src/bin/scripts/unmerge-members.ts",

backend/src/bin/scripts/merge-members.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)