mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 22:27:48 +00:00
Update user-service.ts
This commit is contained in:
@@ -134,14 +134,59 @@ export const userServiceFactory = ({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// update current user's username to [email]
|
const existingUserWithUsername = await userDAL.findOne({
|
||||||
await userDAL.updateById(
|
username: email
|
||||||
user.id,
|
});
|
||||||
{
|
|
||||||
username: email
|
if (existingUserWithUsername && existingUserWithUsername.id !== user.id) {
|
||||||
},
|
// merge users
|
||||||
tx
|
const mergeUserOrgMembershipSet = new Set(
|
||||||
);
|
(await orgMembershipDAL.find({ userId: existingUserWithUsername.id }, { tx })).map((m) => m.orgId)
|
||||||
|
);
|
||||||
|
|
||||||
|
const myOrgMemberships = (await orgMembershipDAL.find({ userId: user.id }, { tx })).filter(
|
||||||
|
(m) => !mergeUserOrgMembershipSet.has(m.orgId)
|
||||||
|
);
|
||||||
|
|
||||||
|
const userAliases = await userAliasDAL.find(
|
||||||
|
{
|
||||||
|
userId: user.id
|
||||||
|
},
|
||||||
|
{ tx }
|
||||||
|
);
|
||||||
|
|
||||||
|
// delete current user
|
||||||
|
await userDAL.deleteById(user.id, tx);
|
||||||
|
|
||||||
|
if (myOrgMemberships.length) {
|
||||||
|
await orgMembershipDAL.insertMany(
|
||||||
|
myOrgMemberships.map((orgMembership) => ({
|
||||||
|
...orgMembership,
|
||||||
|
userId: existingUserWithUsername.id
|
||||||
|
})),
|
||||||
|
tx
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userAliases.length) {
|
||||||
|
await userAliasDAL.insertMany(
|
||||||
|
userAliases.map((userAlias) => ({
|
||||||
|
...userAlias,
|
||||||
|
userId: existingUserWithUsername.id
|
||||||
|
})),
|
||||||
|
tx
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// update current user's username to [email]
|
||||||
|
await userDAL.updateById(
|
||||||
|
user.id,
|
||||||
|
{
|
||||||
|
username: email
|
||||||
|
},
|
||||||
|
tx
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user