diff --git a/src/pages/certificate/List.tsx b/src/pages/certificate/List.tsx index 10400b3ad0320df4e8a4a7983c438a6218a32805..5ae6088c1ad9a1db761870acc3d43dea2de2fdd7 100644 --- a/src/pages/certificate/List.tsx +++ b/src/pages/certificate/List.tsx @@ -49,20 +49,24 @@ export default function CertificateList() { }); }, [authFetch, selectedProject, searchParams]); - const handleDelete = () => { + const handleDelete = async () => { if (selectedCertificate === null) throw Error('selectedCertificate is null'); - authFetch(`/api/certificate?certificateId=${selectedCertificate.id}`, { + const response = await authFetch(`/api/certificate?certificateId=${selectedCertificate.id}`, { method: 'DELETE', - }).then((response) => { - if (!response.ok) { - console.error(response); - toast.error('SSL 인증서 삭제에 실패했습니다'); + }); + + if (!response.ok) { + const { code } = await response.json(); + if (code == 'UNAUTHORIZED_USER') { + toast.error('SSL 인증서를 삭제할 권한이 없습니다'); } else { - toast.warning('SSL 인증서가 삭제되었습니다'); - setCertificates((prev) => prev!.filter((certificate) => certificate.id !== selectedCertificate.id)); + toast.error('SSL 인증서 삭제에 실패했습니다'); } - }); + } else { + toast.warning('SSL 인증서가 삭제되었습니다'); + setCertificates((prev) => prev!.filter((certificate) => certificate.id !== selectedCertificate.id)); + } }; return (