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 }) { - +