import type { getOperateResourcesParams, OperateResourcesResponse, OperateComponents, } from '#layers/types/api/operateResources' export const useOperateResources = () => { /** * * @param params getOperateResourcesDataParams * @returns OperateComponents | null * @description 운영 리소스 데이터 조회 */ const getOperateResources = async ( params: getOperateResourcesParams ): Promise => { const { pageSeq, pageVer, pageVerTmplSeq, langCode, q, qc } = params const runtimeConfig = useRuntimeConfig() const stoveApiBaseUrl = runtimeConfig.public.stoveApiUrl const apiUrl = `${stoveApiBaseUrl}/pub-comm/v1.0/template/operateResources` const queryParams: Record = { page_seq: pageSeq, page_ver: pageVer, page_ver_tmpl_seq: pageVerTmplSeq, lang_code: langCode, q: q || '', qc: qc || '', _t: Date.now().toString(), // 캐시 무효화를 위한 타임스탬프 } const response = (await commonFetch('GET', apiUrl, { query: queryParams, loading: true, })) as OperateResourcesResponse | null if (response?.code === 0 && 'value' in response) { return response.value } return null } return { getOperateResources, } }