fix: resolved duplicate membership in identity

This commit is contained in:
=
2025-11-21 01:58:53 +05:30
parent fccce241c4
commit 56f8245cf3
2 changed files with 20 additions and 0 deletions

View File

@@ -93,6 +93,16 @@ export const membershipGroupServiceFactory = ({
}
const scopeDatabaseFields = factory.getScopeDatabaseFields(dto.scopeData);
const existingMembership = await membershipGroupDAL.findOne({
scope: scopeData.scope,
...scopeDatabaseFields,
actorGroupId: dto.data.groupId
});
if (existingMembership)
throw new BadRequestError({
message: "Group is already a member"
});
await factory.onCreateMembershipGroupGuard(dto);
const customInputRoles = data.roles.filter((el) => factory.isCustomRole(el.role));

View File

@@ -102,6 +102,16 @@ export const membershipIdentityServiceFactory = ({
throw new NotFoundError({ message: "One or more custom roles not found" });
}
const existingMembership = await membershipIdentityDAL.findOne({
scope: scopeData.scope,
...scopeDatabaseFields,
actorIdentityId: dto.data.identityId
});
if (existingMembership)
throw new BadRequestError({
message: "Identity is already a member"
});
const customRolesGroupBySlug = groupBy(customRoles, ({ slug }) => slug);
const membership = await membershipIdentityDAL.transaction(async (tx) => {