Files
web-temp/layers/composables/useGetMultilingual.ts

60 lines
1.4 KiB
TypeScript

import type {
ReqGetMultilingual,
ResGetMultilingual,
} from '#layers/types/MultilingualType'
/**
* 공통 - 다국어 조회
*
* @param {ReqGetMultilingual} req
*/
export const useGetMultilingual = async (req: ReqGetMultilingual) => {
let res: ResGetMultilingual
try {
const baseApiUrl = req.baseApiUrl ?? ''
const fileName = req.fileName ?? ''
const timestamp = new Date().getTime()
const serviceType = 'multilingual'
const url = `${baseApiUrl}/${serviceType}/${fileName}?${timestamp}`
let data: Record<string, any> = (await commonFetch('GET', url)) as {
gnb?: object[]
}
if (data != null) {
// locale 소문자 처리
const lowerCasedResult: Record<string, any> = {}
Object.keys(data).forEach(key => {
lowerCasedResult[key.toLowerCase()] = data[key]
})
data = lowerCasedResult
res = {
code: 0,
message: 'OK',
value: {
multilingual: (data as Map<string, object>) || {},
},
}
} else {
res = {
code: 404,
message: 'Not Found',
value: {
multilingual: {},
},
}
}
} catch (e) {
console.error('[Exception] useGetDataResources.useGetMultilingual: ', e)
res = {
code: 500,
message: 'error',
value: {
multilingual: {},
},
}
}
return res
}