42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
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),
|
|
});
|
|
}
|