From 2fa18b18794fa044e4475fd07d6343d519f8c99b Mon Sep 17 00:00:00 2001 From: bicochan Date: Thu, 10 Jul 2025 11:33:00 +0900 Subject: [PATCH] =?UTF-8?q?[apps/cs]=20feat:=20=EC=84=A4=EB=AC=B8=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(CS=5FUT02050106)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/cs/src/pages/survey/api/survey-service.ts | 4 ++++ apps/cs/src/pages/survey/ui/detail-page.tsx | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/apps/cs/src/pages/survey/api/survey-service.ts b/apps/cs/src/pages/survey/api/survey-service.ts index 6db4ea52d..66b57561c 100644 --- a/apps/cs/src/pages/survey/api/survey-service.ts +++ b/apps/cs/src/pages/survey/api/survey-service.ts @@ -45,6 +45,10 @@ export class SurveyApiService implements SurveyService { await client.put(`${ENDPOINT.CMS_SERVICE.SURVEY}/${srvySn}`, data); } + public async deleteSurvey(srvySn: number): Promise { + await client.delete(`${ENDPOINT.CMS_SERVICE.SURVEY}/${srvySn}`); + } + public async getQuestionList(params: QuestionParams): Promise { const response = await client.get( `${ENDPOINT.CMS_SERVICE.SURVEY_QUESTION}`, diff --git a/apps/cs/src/pages/survey/ui/detail-page.tsx b/apps/cs/src/pages/survey/ui/detail-page.tsx index de1abc783..59bf28425 100644 --- a/apps/cs/src/pages/survey/ui/detail-page.tsx +++ b/apps/cs/src/pages/survey/ui/detail-page.tsx @@ -29,6 +29,13 @@ function DetailPage({ srvySn }: { srvySn: string }) { queryFn: () => SurveyApi.getSurveyInfo(parseInt(srvySn)), }); + const { mutateAsync: deleteSurvey } = useMutationWrapper({ + mutationFn: () => SurveyApi.deleteSurvey(parseInt(srvySn)), + onSuccess: () => { + alert("삭제되었습니다.", router.back); + }, + }); + const postHistoryQuery = useQuery({ queryKey: [ENDPOINT.CMS_SERVICE.POSTINGS, srvySn], queryFn: () => @@ -77,6 +84,12 @@ function DetailPage({ srvySn }: { srvySn: string }) { }, }); + const handleDeleteSurvey = async () => { + if (await confirm("삭제하시겠습니까?")) { + deleteSurvey(); + } + }; + const handleDeletePostingHistory = async () => { const data = postingTable.getFilteredSelectedRowModel().rows.map((row) => ({ ...row.original, @@ -101,7 +114,9 @@ function DetailPage({ srvySn }: { srvySn: string }) { - +