diff --git a/apps/cs/src/entities/content/api/contents-service.ts b/apps/cs/src/entities/content/api/contents-service.ts index eedc25c54..792ffd92e 100644 --- a/apps/cs/src/entities/content/api/contents-service.ts +++ b/apps/cs/src/entities/content/api/contents-service.ts @@ -59,8 +59,13 @@ export class ContentsApiService implements ContentsService { return response.data; } - public async deleteContents(contsSn: number): Promise { - await client.delete(`${ENDPOINT.CMS_SERVICE.CONTENTS}/${contsSn}`); + public async deleteContents( + contsSn: number, + contsVer: number, + ): Promise { + await client.delete( + `${ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS}/${contsSn}/${contsVer}`, + ); } } diff --git a/apps/cs/src/entities/content/model/contents-interface.ts b/apps/cs/src/entities/content/model/contents-interface.ts index 773cdc161..b77c28742 100644 --- a/apps/cs/src/entities/content/model/contents-interface.ts +++ b/apps/cs/src/entities/content/model/contents-interface.ts @@ -90,5 +90,5 @@ export interface ContentsService { contsVer: number, data: ContentsFormData, ): Promise; - deleteContents(contsSn: number): Promise; + deleteContents(contsSn: number, contsVer: number): Promise; } diff --git a/apps/cs/src/pages/contents/ui/modify-page.tsx b/apps/cs/src/pages/contents/ui/modify-page.tsx index e37cd1563..ab11d62ee 100644 --- a/apps/cs/src/pages/contents/ui/modify-page.tsx +++ b/apps/cs/src/pages/contents/ui/modify-page.tsx @@ -34,7 +34,7 @@ function ModifyPage({ sequential }: { sequential: string }) { queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, sequential], queryFn: () => ContentsApi.getContentsVersionList({ - contsSn: Number(sequential), + contsSn: contsSn, page: 0, size: 100, }), @@ -42,8 +42,7 @@ function ModifyPage({ sequential }: { sequential: string }) { const { data: contentsDetail } = useQuery({ queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, contentsVersion], - queryFn: () => - ContentsApi.getLatestContentsInfo(Number(sequential), contentsVersion), + queryFn: () => ContentsApi.getLatestContentsInfo(contsSn, contentsVersion), enabled: !!contentsVersion, }); @@ -59,21 +58,28 @@ function ModifyPage({ sequential }: { sequential: string }) { const { mutateAsync: updateContents } = useMutation({ mutationFn: (data: ContentsFormData) => - ContentsApi.updateContents( - Number(sequential), - contentsDetail?.contsVer ?? 0, - data, - ), + ContentsApi.updateContents(contsSn, contentsDetail?.contsVer ?? 0, data), onSuccess: () => { alert("수정되었습니다."); }, }); + const { mutateAsync: deleteContents } = useMutation({ + mutationFn: () => ContentsApi.deleteContents(contsSn, contentsVersion), + onSuccess: () => { + alert("삭제되었습니다."); + queryClient.invalidateQueries({ + queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, sequential], + }); + }, + }); + const form = useForm({ resolver: zodResolver(contentsFormSchema), values: contentsDetail, }); + const contsSn = Number(sequential); const isApprovedContents = contentsDetail?.aprvCd === CONTENTS_APPROVAL_STATUS.APPROVED; @@ -120,9 +126,10 @@ function ModifyPage({ sequential }: { sequential: string }) { );