Files
web-temp/layers/composables/useOperateResources.ts
2025-11-10 21:11:39 +09:00

48 lines
1.3 KiB
TypeScript

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<OperateComponents | null> => {
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<string, string | number> = {
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,
}
}