import { useQuery } from "@tanstack/react-query"; import { ENDPOINT } from "@/shared/config"; import { IUserInfo } from "@/shared/store"; import { cmCdAdstDstrService } from "./adstdstr-service"; const cmCdAdstDstrBaseKey = [ENDPOINT.AS_SERVICE.ADSTDSTR] as const; export function useFindSidoCombo() { return useQuery({ queryKey: [...cmCdAdstDstrBaseKey, "findSidoCombo"], queryFn: () => cmCdAdstDstrService.findSidoCombo(), }); } export function useFindUserSidoCombo(userInfo?: IUserInfo | null) { const adstDstrCdByUser = userInfo?.laeSeCd?.substring(2, 4); return useQuery({ queryKey: [...cmCdAdstDstrBaseKey, "findUserSidoCombo", adstDstrCdByUser ?? "all"], queryFn: () => cmCdAdstDstrService.findUserSidoCombo(), select: (data) => adstDstrCdByUser ? data.filter((item) => item.adstDstrCd === adstDstrCdByUser) : data, }); } export function useFindGugunCombo(sido: string) { return useQuery({ queryKey: [...cmCdAdstDstrBaseKey, "findGugunCombo", sido], queryFn: () => cmCdAdstDstrService.findGugunCombo(sido), enabled: Boolean(sido), }); } export function useFindUserGugunCombo(sido: string) { return useQuery({ queryKey: [...cmCdAdstDstrBaseKey, "findUserGugunCombo", sido], queryFn: () => cmCdAdstDstrService.findUserGugunCombo(sido), enabled: Boolean(sido), }); }