Files
frontend/apps/as/src/entities/adstdstr/api/queries.ts
T

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),
});
}