다국어 관리 페이지
This commit is contained in:
@@ -665,7 +665,7 @@ export async function getLanguageList(
|
||||
}
|
||||
|
||||
/**
|
||||
* 다국어 키 목록 조회 (더미 데이터)
|
||||
* 다국어 키 목록 조회
|
||||
*/
|
||||
export async function getLangKeyList(
|
||||
req: AuthenticatedRequest,
|
||||
@@ -677,59 +677,61 @@ export async function getLangKeyList(
|
||||
user: req.user,
|
||||
});
|
||||
|
||||
// 더미 데이터 반환
|
||||
const langKeys = [
|
||||
{
|
||||
keyId: 1,
|
||||
companyCode: "ILSHIN",
|
||||
menuName: "사용자 관리",
|
||||
langKey: "user.management.title",
|
||||
description: "사용자 관리 페이지 제목",
|
||||
isActive: "Y",
|
||||
createdDate: new Date().toISOString(),
|
||||
createdBy: "admin",
|
||||
updatedDate: new Date().toISOString(),
|
||||
updatedBy: "admin",
|
||||
},
|
||||
{
|
||||
keyId: 2,
|
||||
companyCode: "ILSHIN",
|
||||
menuName: "메뉴 관리",
|
||||
langKey: "menu.management.title",
|
||||
description: "메뉴 관리 페이지 제목",
|
||||
isActive: "Y",
|
||||
createdDate: new Date().toISOString(),
|
||||
createdBy: "admin",
|
||||
updatedDate: new Date().toISOString(),
|
||||
updatedBy: "admin",
|
||||
},
|
||||
{
|
||||
keyId: 3,
|
||||
companyCode: "HUTECH",
|
||||
menuName: "대시보드",
|
||||
langKey: "dashboard.title",
|
||||
description: "대시보드 페이지 제목",
|
||||
isActive: "Y",
|
||||
createdDate: new Date().toISOString(),
|
||||
createdBy: "admin",
|
||||
updatedDate: new Date().toISOString(),
|
||||
updatedBy: "admin",
|
||||
},
|
||||
];
|
||||
|
||||
// 프론트엔드에서 기대하는 응답 형식으로 변환
|
||||
const response: ApiResponse<any[]> = {
|
||||
success: true,
|
||||
message: "다국어 키 목록 조회 성공",
|
||||
data: langKeys,
|
||||
};
|
||||
|
||||
logger.info("다국어 키 목록 조회 성공", {
|
||||
totalCount: langKeys.length,
|
||||
response: response,
|
||||
// 실제 데이터베이스에서 데이터 조회
|
||||
const client = new Client({
|
||||
host: process.env.DB_HOST || "localhost",
|
||||
port: parseInt(process.env.DB_PORT || "5432"),
|
||||
database: process.env.DB_NAME || "ilshin",
|
||||
user: process.env.DB_USER || "postgres",
|
||||
password: process.env.DB_PASSWORD || "postgres",
|
||||
});
|
||||
|
||||
res.status(200).json(response);
|
||||
await client.connect();
|
||||
|
||||
try {
|
||||
const query = `
|
||||
SELECT
|
||||
key_id as "keyId",
|
||||
company_code as "companyCode",
|
||||
menu_name as "menuName",
|
||||
lang_key as "langKey",
|
||||
description,
|
||||
is_active as "isActive",
|
||||
created_date as "createdDate",
|
||||
created_by as "createdBy",
|
||||
updated_date as "updatedDate",
|
||||
updated_by as "updatedBy"
|
||||
FROM multi_lang_key_master
|
||||
ORDER BY company_code, menu_name, lang_key
|
||||
`;
|
||||
|
||||
const result = await client.query(query);
|
||||
const langKeys = result.rows.map((row) => ({
|
||||
...row,
|
||||
createdDate: row.createdDate
|
||||
? new Date(row.createdDate).toISOString()
|
||||
: undefined,
|
||||
updatedDate: row.updatedDate
|
||||
? new Date(row.updatedDate).toISOString()
|
||||
: undefined,
|
||||
}));
|
||||
|
||||
// 프론트엔드에서 기대하는 응답 형식으로 변환
|
||||
const response: ApiResponse<any[]> = {
|
||||
success: true,
|
||||
message: "다국어 키 목록 조회 성공",
|
||||
data: langKeys,
|
||||
};
|
||||
|
||||
logger.info("다국어 키 목록 조회 성공", {
|
||||
totalCount: langKeys.length,
|
||||
response: response,
|
||||
});
|
||||
|
||||
res.status(200).json(response);
|
||||
} finally {
|
||||
await client.end();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error("다국어 키 목록 조회 실패:", error);
|
||||
res.status(500).json({
|
||||
|
||||
Reference in New Issue
Block a user