From bf278355c4c03edde4d8862f0714be8f69fd1d19 Mon Sep 17 00:00:00 2001
From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com>
Date: Tue, 13 Feb 2024 18:20:54 +0100
Subject: [PATCH] Delete membership by email
---
frontend/src/hooks/api/workspace/queries.tsx | 12 ++++--------
.../components/MemberListTab/MemberListTab.tsx | 8 ++++----
2 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/frontend/src/hooks/api/workspace/queries.tsx b/frontend/src/hooks/api/workspace/queries.tsx
index 443cf45e9..68231d594 100644
--- a/frontend/src/hooks/api/workspace/queries.tsx
+++ b/frontend/src/hooks/api/workspace/queries.tsx
@@ -337,16 +337,12 @@ export const useDeleteUserFromWorkspace = () => {
const queryClient = useQueryClient();
return useMutation({
- mutationFn: async ({
- membershipId,
- workspaceId
- }: {
- workspaceId: string;
- membershipId: string;
- }) => {
+ mutationFn: async ({ emails, workspaceId }: { workspaceId: string; emails: string[] }) => {
const {
data: { deletedMembership }
- } = await apiRequest.delete(`/api/v1/workspace/${workspaceId}/memberships/${membershipId}`);
+ } = await apiRequest.delete(`/api/v2/workspace/${workspaceId}/memberships`, {
+ data: { emails }
+ });
return deletedMembership;
},
onSuccess: (_, { workspaceId }) => {
diff --git a/frontend/src/views/Project/MembersPage/components/MemberListTab/MemberListTab.tsx b/frontend/src/views/Project/MembersPage/components/MemberListTab/MemberListTab.tsx
index 222504a91..9fb95e7d8 100644
--- a/frontend/src/views/Project/MembersPage/components/MemberListTab/MemberListTab.tsx
+++ b/frontend/src/views/Project/MembersPage/components/MemberListTab/MemberListTab.tsx
@@ -151,11 +151,11 @@ export const MemberListTab = () => {
};
const handleRemoveUser = async () => {
- const membershipId = (popUp?.removeMember?.data as { id: string })?.id;
+ const email = (popUp?.removeMember?.data as { email: string })?.email;
if (!currentOrg?.id) return;
try {
- await removeUserFromWorkspace({ workspaceId, membershipId });
+ await removeUserFromWorkspace({ workspaceId, emails: [email] });
createNotification({
text: "Successfully removed user from project",
type: "success"
@@ -372,7 +372,7 @@ export const MemberListTab = () => {
className="ml-4"
isDisabled={userId === u?.id || !isAllowed}
onClick={() =>
- handlePopUpOpen("removeMember", { id: membershipId })
+ handlePopUpOpen("removeMember", { email: u.email })
}
>
@@ -456,7 +456,7 @@ export const MemberListTab = () => {
handlePopUpToggle("removeMember", isOpen)}
onDeleteApproved={handleRemoveUser}
/>