diff --git a/src/domains/club/introduction/api/introduction.mutations.ts b/src/domains/club/introduction/api/introduction.mutations.ts index 6b436e8..3b0f1e6 100644 --- a/src/domains/club/introduction/api/introduction.mutations.ts +++ b/src/domains/club/introduction/api/introduction.mutations.ts @@ -7,17 +7,11 @@ import { apiRequest } from '@/api/apiRequest'; /** * 동아리 상세 정보 입력 및 수정 */ -export const useUpdateClubIntroMutation = () => { +export const useUpdateClubIntroMutation = (clubId?: string) => { const { handleError } = useErrorHandler(); return useMutation({ - mutationFn: async ({ - data, - clubId, - }: { - data: IntroSchema; - clubId: number; - }) => { + mutationFn: async ({ data }: { data: IntroSchema }) => { return await apiRequest({ url: `/api/clubs/club-admin/${clubId}`, method: 'POST', @@ -27,7 +21,7 @@ export const useUpdateClubIntroMutation = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: ['clubs'], + queryKey: ['clubs', 'introduction', clubId], }); }, onError: (error) => { diff --git a/src/domains/club/introduction/api/introduction.queries.ts b/src/domains/club/introduction/api/introduction.queries.ts index 6bbfd88..3b0b8de 100644 --- a/src/domains/club/introduction/api/introduction.queries.ts +++ b/src/domains/club/introduction/api/introduction.queries.ts @@ -1,18 +1,21 @@ +import { apiRequest } from '@/api/apiRequest'; import { ClubDetailResponse } from '@/api/data-contracts'; -import { - ClubDetailQueryProps, - useClubApi, -} from '@/domains/shared/api/club.queries'; +import { APIResponse } from '@/types/api.types'; +import { useQuery } from '@tanstack/react-query'; /** - * 동아리 상세 정보 조회 + * 동아리 상세 정보 조회 (동아리 소개) */ -export const useClubIntroQuery = ({ - clubId, - isPreview, -}: ClubDetailQueryProps) => - useClubApi({ - clubId, - isPreview, - errorMessage: '동아리 정보 조회 실패', +export const useClubIntroQuery = (clubId?: string) => { + return useQuery({ + queryKey: ['clubs', 'introduction', clubId], + queryFn: async (): Promise> => + apiRequest({ + url: `/api/clubs/${clubId}`, + method: 'GET', + }), + staleTime: 1000 * 60 * 5, + select: (data) => data.result, + enabled: !!clubId, }); +}; diff --git a/src/domains/club/introduction/ui/admin/ClubIntroductionForm.tsx b/src/domains/club/introduction/ui/admin/ClubIntroductionForm.tsx index 2bdc0b2..8009efe 100644 --- a/src/domains/club/introduction/ui/admin/ClubIntroductionForm.tsx +++ b/src/domains/club/introduction/ui/admin/ClubIntroductionForm.tsx @@ -31,11 +31,8 @@ export default function ClubIntroductionForm() { }); const modal = useModal(); - const { data } = useClubIntroQuery({ - clubId, - isPreview: false, - }); - const { mutate: update } = useUpdateClubIntroMutation(); + const { data } = useClubIntroQuery(clubId); + const { mutate: update } = useUpdateClubIntroMutation(clubId); useEffect(() => { if (data) { diff --git a/src/domains/club/recruitment/api/recruitment.mutations.ts b/src/domains/club/recruitment/api/recruitment.mutations.ts index 9362cb3..2d11b4c 100644 --- a/src/domains/club/recruitment/api/recruitment.mutations.ts +++ b/src/domains/club/recruitment/api/recruitment.mutations.ts @@ -21,7 +21,7 @@ export const useUpdateRecruitStatusMutation = (clubId: number) => { onSuccess: () => { queryClient.invalidateQueries({ - queryKey: ['clubs'], + queryKey: ['clubs', 'recruitment', clubId], }); }, }); diff --git a/src/domains/club/recruitment/api/recruitment.queries.ts b/src/domains/club/recruitment/api/recruitment.queries.ts index ced3d17..9e555d1 100644 --- a/src/domains/club/recruitment/api/recruitment.queries.ts +++ b/src/domains/club/recruitment/api/recruitment.queries.ts @@ -17,7 +17,6 @@ export const useClubRecruitmentQuery = ({ apiRequest({ url: `/api/clubs/${clubId}/recruitment`, method: 'GET', - requireToken: true, }), staleTime: 1000 * 60 * 5, select: (data) => data.result,