mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-18 00:51:15 +00:00
Merge branch 'heads/main' into daniel/srp-removal-round-2
This commit is contained in:
@@ -72,10 +72,11 @@ import { TUserDALFactory } from "../user/user-dal";
|
||||
import { TIncidentContactsDALFactory } from "./incident-contacts-dal";
|
||||
import { TOrgBotDALFactory } from "./org-bot-dal";
|
||||
import { TOrgDALFactory } from "./org-dal";
|
||||
import { deleteOrgMembershipFn } from "./org-fns";
|
||||
import { deleteOrgMembershipFn, deleteOrgMembershipsFn } from "./org-fns";
|
||||
import { TOrgRoleDALFactory } from "./org-role-dal";
|
||||
import {
|
||||
TDeleteOrgMembershipDTO,
|
||||
TDeleteOrgMembershipsDTO,
|
||||
TFindAllWorkspacesDTO,
|
||||
TFindOrgMembersByEmailDTO,
|
||||
TGetOrgGroupsDTO,
|
||||
@@ -103,7 +104,13 @@ type TOrgServiceFactoryDep = {
|
||||
identityMetadataDAL: Pick<TIdentityMetadataDALFactory, "delete" | "insertMany" | "transaction">;
|
||||
projectMembershipDAL: Pick<
|
||||
TProjectMembershipDALFactory,
|
||||
"findProjectMembershipsByUserId" | "delete" | "create" | "find" | "insertMany" | "transaction"
|
||||
| "findProjectMembershipsByUserId"
|
||||
| "delete"
|
||||
| "create"
|
||||
| "find"
|
||||
| "insertMany"
|
||||
| "transaction"
|
||||
| "findProjectMembershipsByUserIds"
|
||||
>;
|
||||
projectKeyDAL: Pick<TProjectKeyDALFactory, "find" | "delete" | "insertMany" | "findLatestProjectKey" | "create">;
|
||||
orgMembershipDAL: Pick<
|
||||
@@ -1227,12 +1234,42 @@ export const orgServiceFactory = ({
|
||||
projectUserAdditionalPrivilegeDAL,
|
||||
projectKeyDAL,
|
||||
userAliasDAL,
|
||||
licenseService
|
||||
licenseService,
|
||||
userId
|
||||
});
|
||||
|
||||
return deletedMembership;
|
||||
};
|
||||
|
||||
const bulkDeleteOrgMemberships = async ({
|
||||
orgId,
|
||||
userId,
|
||||
membershipIds,
|
||||
actorAuthMethod,
|
||||
actorOrgId
|
||||
}: TDeleteOrgMembershipsDTO) => {
|
||||
const { permission } = await permissionService.getUserOrgPermission(userId, orgId, actorAuthMethod, actorOrgId);
|
||||
ForbiddenError.from(permission).throwUnlessCan(OrgPermissionActions.Delete, OrgPermissionSubjects.Member);
|
||||
|
||||
if (membershipIds.includes(userId)) {
|
||||
throw new BadRequestError({ message: "You cannot delete your own organization membership" });
|
||||
}
|
||||
|
||||
const deletedMemberships = await deleteOrgMembershipsFn({
|
||||
orgMembershipIds: membershipIds,
|
||||
orgId,
|
||||
orgDAL,
|
||||
projectMembershipDAL,
|
||||
projectUserAdditionalPrivilegeDAL,
|
||||
projectKeyDAL,
|
||||
userAliasDAL,
|
||||
licenseService,
|
||||
userId
|
||||
});
|
||||
|
||||
return deletedMemberships;
|
||||
};
|
||||
|
||||
const listProjectMembershipsByOrgMembershipId = async ({
|
||||
orgMembershipId,
|
||||
orgId,
|
||||
@@ -1386,6 +1423,7 @@ export const orgServiceFactory = ({
|
||||
findOrgBySlug,
|
||||
resendOrgMemberInvitation,
|
||||
upgradePrivilegeSystem,
|
||||
notifyInvitedUsers
|
||||
notifyInvitedUsers,
|
||||
bulkDeleteOrgMemberships
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user