60 lines
1.4 KiB
TypeScript
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
|
|
}
|