mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
fix: address group view issue encountered during approval creation
This commit is contained in:
@@ -152,7 +152,7 @@ export const groupProjectDALFactory = (db: TDbClient) => {
|
||||
`${TableName.ProjectRoles}.id`
|
||||
)
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.GroupProjectMembership),
|
||||
db.ref("id").withSchema(TableName.UserGroupMembership),
|
||||
db.ref("isGhost").withSchema(TableName.Users),
|
||||
db.ref("username").withSchema(TableName.Users),
|
||||
db.ref("email").withSchema(TableName.Users),
|
||||
|
||||
@@ -90,15 +90,20 @@ export const projectMembershipServiceFactory = ({
|
||||
// projectMembers[0].project
|
||||
if (includeGroupMembers) {
|
||||
const groupMembers = await groupProjectDAL.findAllProjectGroupMembers(projectId);
|
||||
|
||||
const allMembers = [
|
||||
...projectMembers.map((m) => ({ ...m, isGroupMember: false })),
|
||||
...groupMembers.map((m) => ({ ...m, isGroupMember: true }))
|
||||
];
|
||||
|
||||
// Ensure the userId is unique
|
||||
const membersIds = new Set(allMembers.map((entity) => entity.user.id));
|
||||
const uniqueMembers = allMembers.filter((entity) => membersIds.has(entity.user.id));
|
||||
const uniqueMembers: typeof allMembers = [];
|
||||
const addedUserIds = new Set<string>();
|
||||
allMembers.forEach((member) => {
|
||||
if (!addedUserIds.has(member.user.id)) {
|
||||
uniqueMembers.push(member);
|
||||
addedUserIds.add(member.user.id);
|
||||
}
|
||||
});
|
||||
|
||||
return uniqueMembers;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user