/** * πŸ“„ API Helpers * 곡톡 μ½”λ“œ cs-service API 호좜 μœ ν‹Έλ¦¬ν‹° * * - 검색 데이터 쑰회 및 νŒŒλΌλ―Έν„° 처리 * - μƒμœ„ μ½”λ“œλ‘œ ν•˜μœ„ μ½”λ“œ 쑰회 κΈ°λŠ₯ * - URL νŒŒλΌλ―Έν„° 생성 및 필터링 * - 데이터 νŽ˜μ΄μ§• 및 총 개수 λ°˜ν™˜ * - Axios 기반 HTTP μš”μ²­ 처리 * - νƒ€μž… μ•ˆμ „μ„± 보μž₯을 μœ„ν•œ μ œλ„€λ¦­ ν™œμš© * * πŸ”— μ‚¬μš© API * - ν•˜μœ„μ½”λ“œνŽ˜μ΄μ§€ μΊμ‹œ λͺ©λ‘ 쑰회: GET /api/v1/code/cache/{upCd} (cms-service) */ import { getData } from "../api"; export const searchData = async>(url: string, paramObj: T) => { const params = new URLSearchParams( Object.entries(paramObj) .filter(([_, value]) => value !== undefined && value !== '') // 값이 μžˆλŠ” ν•­λͺ©λ§Œ 포함 .reduce((acc, [key, value]) => { acc[key] = String(value); return acc; }, {} as Record) ); const data = await getData(`${url}?${params.toString()}`); return data && { data: data.content, total: data.totalElements } } // μƒμœ„μ½”λ“œλ‘œ ν•˜μœ„μ½”λ“œ 쑰회 export const searchCmmnCd = async (upCd: string) => { const data = await getData(`/cms-service/api/v1/code/cache/${upCd}`); const filteredData = data.map((item: any) => ({ lwpoCd: item.lwpoCd, lwpoCdNm: item.lwpoCdNm, })); return filteredData; }