From bb6b25762a76959424150809bfa3fe1edda2ed30 Mon Sep 17 00:00:00 2001 From: Saurabh Bhagwan Sathe Date: Fri, 9 Feb 2024 16:49:15 +0530 Subject: [PATCH] INFRA-2836 | Saurabh | Integrated delete API --- src/Pages/Severity/SeverityForm.tsx | 21 ++++++++++++++++++++- src/Pages/Severity/constants.ts | 7 +++++++ src/components/SevMemberDetails/index.tsx | 4 ++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/Pages/Severity/SeverityForm.tsx b/src/Pages/Severity/SeverityForm.tsx index e084b02..a384447 100644 --- a/src/Pages/Severity/SeverityForm.tsx +++ b/src/Pages/Severity/SeverityForm.tsx @@ -10,6 +10,7 @@ import { ApiService } from '@src/services/api'; import MembersDetails from '@src/components/SevMemberDetails'; import { FETCH_SINGLE_SEVERITY_DATA, + REMOVE_SEV_MEMBER, SeverityFormProps, UPDATE_SEVERITY_DATA, } from './constants'; @@ -56,6 +57,24 @@ const SeverityForm = (props: SeverityFormProps) => { } }, [severityId, isExpanded]); + const handleRemoveSevMember = (severityID: string, emailID: string) => { + const endpoint = REMOVE_SEV_MEMBER(severityID, emailID); + ApiService.delete(endpoint) + .then(response => { + if (response.status === 200) { + toast.success(response.data.data); + setIsLoading(true); + setSeverities({}); + fetchSeverityById(true); + } else { + toast.error(response.data.error.message); + } + }) + .catch(error => { + toast.error(`Error removing member from team : ${error.message}`); + }); + }; + const submitHandler = () => { const endPoint = UPDATE_SEVERITY_DATA; const updatedSlackUsers = slackUsers?.includes(',') @@ -112,7 +131,7 @@ const SeverityForm = (props: SeverityFormProps) => { Members - +
diff --git a/src/Pages/Severity/constants.ts b/src/Pages/Severity/constants.ts index e22999a..8a0f3be 100644 --- a/src/Pages/Severity/constants.ts +++ b/src/Pages/Severity/constants.ts @@ -15,3 +15,10 @@ export interface SeverityFormProps { export const FETCH_SINGLE_SEVERITY_DATA = (payload: string): string => { return `${URL_PREFIX}/severities/${payload}`; }; + +export const REMOVE_SEV_MEMBER = ( + severityID: string, + emailID: string, +): string => { + return `${URL_PREFIX}/severity/${severityID}/member/${emailID}`; +}; diff --git a/src/components/SevMemberDetails/index.tsx b/src/components/SevMemberDetails/index.tsx index 2941d24..13c611a 100644 --- a/src/components/SevMemberDetails/index.tsx +++ b/src/components/SevMemberDetails/index.tsx @@ -10,13 +10,12 @@ import { CloseIcon } from '@navi/web-ui/lib/icons'; import { useAuthData } from '@src/Pages/Team/Hook'; import styles from './Members.module.scss'; -const MembersDetails = (props: any) => { +const MembersDetails = ({ handleRemoveSevMember }) => { const data = useSelector((state: any) => state.severity.memberData); const Role = useAuthData(); const totalMembers = data?.participants?.length; const [showTotalMembers, setShowTotalMembers] = useState(10); const [openedParticipantId, setOpenedParticipantId] = useState(null); - return (
{totalMembers ? ( @@ -67,6 +66,7 @@ const MembersDetails = (props: any) => {