import { useQuery } from '@tanstack/react-query'; import { fetchAllLayers, fetchLayerTree, fetchWMSLayers } from '../services/api'; import type { Layer } from '@common/services/layerService'; // 모든 레이어 조회 훅 export function useLayers() { return useQuery({ queryKey: ['layers'], queryFn: fetchAllLayers, staleTime: 1000 * 60 * 5, // 5분간 캐시 유지 retry: 3, }); } // 계층 구조 레이어 트리 조회 훅 // staleTime 없음 → 마운트 시 항상 최신 데이터 요청 (관리자 설정 즉시 반영) export function useLayerTree() { return useQuery({ queryKey: ['layers', 'tree'], queryFn: fetchLayerTree, retry: 3, }); } // WMS 레이어만 조회 훅 export function useWMSLayers() { return useQuery({ queryKey: ['layers', 'wms'], queryFn: fetchWMSLayers, staleTime: 1000 * 60 * 5, retry: 3, }); }