격자 저장문제 수정
This commit is contained in:
@@ -62,9 +62,23 @@ export async function getColumnList(
|
||||
try {
|
||||
const { tableName } = req.params;
|
||||
const { page = 1, size = 50 } = req.query;
|
||||
|
||||
// 🔥 회사 코드 추출 (JWT에서 또는 DB에서 조회)
|
||||
let companyCode = req.user?.companyCode;
|
||||
|
||||
if (!companyCode && req.user?.userId) {
|
||||
// JWT에 없으면 DB에서 조회
|
||||
const { query } = require("../database/db");
|
||||
const userResult = await query(
|
||||
`SELECT company_code FROM user_info WHERE user_id = $1`,
|
||||
[req.user.userId]
|
||||
);
|
||||
companyCode = userResult[0]?.company_code;
|
||||
logger.info(`DB에서 회사 코드 조회 (컬럼 목록): ${req.user.userId} → ${companyCode}`);
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`=== 컬럼 정보 조회 시작: ${tableName} (page: ${page}, size: ${size}) ===`
|
||||
`=== 컬럼 정보 조회 시작: ${tableName} (page: ${page}, size: ${size}), company: ${companyCode} ===`
|
||||
);
|
||||
|
||||
if (!tableName) {
|
||||
@@ -84,7 +98,8 @@ export async function getColumnList(
|
||||
const result = await tableManagementService.getColumnList(
|
||||
tableName,
|
||||
parseInt(page as string),
|
||||
parseInt(size as string)
|
||||
parseInt(size as string),
|
||||
companyCode // 🔥 회사 코드 전달
|
||||
);
|
||||
|
||||
logger.info(
|
||||
@@ -124,8 +139,22 @@ export async function updateColumnSettings(
|
||||
try {
|
||||
const { tableName, columnName } = req.params;
|
||||
const settings: ColumnSettings = req.body;
|
||||
|
||||
// 🔥 회사 코드 추출 (JWT에서 또는 DB에서 조회)
|
||||
let companyCode = req.user?.companyCode;
|
||||
|
||||
if (!companyCode && req.user?.userId) {
|
||||
// JWT에 없으면 DB에서 조회
|
||||
const { query } = require("../database/db");
|
||||
const userResult = await query(
|
||||
`SELECT company_code FROM user_info WHERE user_id = $1`,
|
||||
[req.user.userId]
|
||||
);
|
||||
companyCode = userResult[0]?.company_code;
|
||||
logger.info(`DB에서 회사 코드 조회: ${req.user.userId} → ${companyCode}`);
|
||||
}
|
||||
|
||||
logger.info(`=== 컬럼 설정 업데이트 시작: ${tableName}.${columnName} ===`);
|
||||
logger.info(`=== 컬럼 설정 업데이트 시작: ${tableName}.${columnName}, company: ${companyCode} ===`);
|
||||
|
||||
if (!tableName || !columnName) {
|
||||
const response: ApiResponse<null> = {
|
||||
@@ -153,14 +182,34 @@ export async function updateColumnSettings(
|
||||
return;
|
||||
}
|
||||
|
||||
if (!companyCode) {
|
||||
logger.error(`회사 코드 누락: ${tableName}.${columnName}`, {
|
||||
user: req.user,
|
||||
hasUser: !!req.user,
|
||||
userId: req.user?.userId,
|
||||
companyCodeFromJWT: req.user?.companyCode,
|
||||
});
|
||||
const response: ApiResponse<null> = {
|
||||
success: false,
|
||||
message: "회사 코드를 찾을 수 없습니다.",
|
||||
error: {
|
||||
code: "MISSING_COMPANY_CODE",
|
||||
details: "사용자 정보에서 회사 코드를 찾을 수 없습니다. 관리자에게 문의하세요.",
|
||||
},
|
||||
};
|
||||
res.status(400).json(response);
|
||||
return;
|
||||
}
|
||||
|
||||
const tableManagementService = new TableManagementService();
|
||||
await tableManagementService.updateColumnSettings(
|
||||
tableName,
|
||||
columnName,
|
||||
settings
|
||||
settings,
|
||||
companyCode // 🔥 회사 코드 전달
|
||||
);
|
||||
|
||||
logger.info(`컬럼 설정 업데이트 완료: ${tableName}.${columnName}`);
|
||||
logger.info(`컬럼 설정 업데이트 완료: ${tableName}.${columnName}, company: ${companyCode}`);
|
||||
|
||||
const response: ApiResponse<null> = {
|
||||
success: true,
|
||||
@@ -194,8 +243,28 @@ export async function updateAllColumnSettings(
|
||||
try {
|
||||
const { tableName } = req.params;
|
||||
const columnSettings: ColumnSettings[] = req.body;
|
||||
|
||||
// 🔥 회사 코드 추출 (JWT에서 또는 DB에서 조회)
|
||||
let companyCode = req.user?.companyCode;
|
||||
|
||||
if (!companyCode && req.user?.userId) {
|
||||
// JWT에 없으면 DB에서 조회
|
||||
const { query } = require("../database/db");
|
||||
const userResult = await query(
|
||||
`SELECT company_code FROM user_info WHERE user_id = $1`,
|
||||
[req.user.userId]
|
||||
);
|
||||
companyCode = userResult[0]?.company_code;
|
||||
logger.info(`DB에서 회사 코드 조회: ${req.user.userId} → ${companyCode}`);
|
||||
}
|
||||
|
||||
logger.info(`=== 전체 컬럼 설정 일괄 업데이트 시작: ${tableName} ===`);
|
||||
// 🔍 디버깅: 사용자 정보 출력
|
||||
logger.info(`[DEBUG] req.user:`, JSON.stringify(req.user, null, 2));
|
||||
logger.info(`[DEBUG] req.user?.companyCode: ${req.user?.companyCode}`);
|
||||
logger.info(`[DEBUG] req.user?.userId: ${req.user?.userId}`);
|
||||
logger.info(`[DEBUG] companyCode 최종값: ${companyCode}`);
|
||||
|
||||
logger.info(`=== 전체 컬럼 설정 일괄 업데이트 시작: ${tableName}, company: ${companyCode} ===`);
|
||||
|
||||
if (!tableName) {
|
||||
const response: ApiResponse<null> = {
|
||||
@@ -223,14 +292,35 @@ export async function updateAllColumnSettings(
|
||||
return;
|
||||
}
|
||||
|
||||
if (!companyCode) {
|
||||
logger.error(`회사 코드 누락 (일괄 업데이트): ${tableName}`, {
|
||||
user: req.user,
|
||||
hasUser: !!req.user,
|
||||
userId: req.user?.userId,
|
||||
companyCodeFromJWT: req.user?.companyCode,
|
||||
settingsCount: columnSettings.length,
|
||||
});
|
||||
const response: ApiResponse<null> = {
|
||||
success: false,
|
||||
message: "회사 코드를 찾을 수 없습니다.",
|
||||
error: {
|
||||
code: "MISSING_COMPANY_CODE",
|
||||
details: "사용자 정보에서 회사 코드를 찾을 수 없습니다. 관리자에게 문의하세요.",
|
||||
},
|
||||
};
|
||||
res.status(400).json(response);
|
||||
return;
|
||||
}
|
||||
|
||||
const tableManagementService = new TableManagementService();
|
||||
await tableManagementService.updateAllColumnSettings(
|
||||
tableName,
|
||||
columnSettings
|
||||
columnSettings,
|
||||
companyCode // 🔥 회사 코드 전달
|
||||
);
|
||||
|
||||
logger.info(
|
||||
`전체 컬럼 설정 일괄 업데이트 완료: ${tableName}, ${columnSettings.length}개`
|
||||
`전체 컬럼 설정 일괄 업데이트 완료: ${tableName}, ${columnSettings.length}개, company: ${companyCode}`
|
||||
);
|
||||
|
||||
const response: ApiResponse<null> = {
|
||||
@@ -453,9 +543,23 @@ export async function updateColumnInputType(
|
||||
try {
|
||||
const { tableName, columnName } = req.params;
|
||||
const { inputType, detailSettings } = req.body;
|
||||
|
||||
// 🔥 회사 코드 추출 (JWT에서 또는 DB에서 조회)
|
||||
let companyCode = req.user?.companyCode;
|
||||
|
||||
if (!companyCode && req.user?.userId) {
|
||||
// JWT에 없으면 DB에서 조회
|
||||
const { query } = require("../database/db");
|
||||
const userResult = await query(
|
||||
`SELECT company_code FROM user_info WHERE user_id = $1`,
|
||||
[req.user.userId]
|
||||
);
|
||||
companyCode = userResult[0]?.company_code;
|
||||
logger.info(`DB에서 회사 코드 조회: ${req.user.userId} → ${companyCode}`);
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`=== 컬럼 입력 타입 설정 시작: ${tableName}.${columnName} = ${inputType} ===`
|
||||
`=== 컬럼 입력 타입 설정 시작: ${tableName}.${columnName} = ${inputType}, company: ${companyCode} ===`
|
||||
);
|
||||
|
||||
if (!tableName || !columnName || !inputType) {
|
||||
@@ -471,16 +575,37 @@ export async function updateColumnInputType(
|
||||
return;
|
||||
}
|
||||
|
||||
if (!companyCode) {
|
||||
logger.error(`회사 코드 누락 (입력 타입): ${tableName}.${columnName}`, {
|
||||
user: req.user,
|
||||
hasUser: !!req.user,
|
||||
userId: req.user?.userId,
|
||||
companyCodeFromJWT: req.user?.companyCode,
|
||||
inputType,
|
||||
});
|
||||
const response: ApiResponse<null> = {
|
||||
success: false,
|
||||
message: "회사 코드를 찾을 수 없습니다.",
|
||||
error: {
|
||||
code: "MISSING_COMPANY_CODE",
|
||||
details: "사용자 정보에서 회사 코드를 찾을 수 없습니다. 관리자에게 문의하세요.",
|
||||
},
|
||||
};
|
||||
res.status(400).json(response);
|
||||
return;
|
||||
}
|
||||
|
||||
const tableManagementService = new TableManagementService();
|
||||
await tableManagementService.updateColumnInputType(
|
||||
tableName,
|
||||
columnName,
|
||||
inputType,
|
||||
companyCode,
|
||||
detailSettings
|
||||
);
|
||||
|
||||
logger.info(
|
||||
`컬럼 입력 타입 설정 완료: ${tableName}.${columnName} = ${inputType}`
|
||||
`컬럼 입력 타입 설정 완료: ${tableName}.${columnName} = ${inputType}, company: ${companyCode}`
|
||||
);
|
||||
|
||||
const response: ApiResponse<null> = {
|
||||
@@ -960,7 +1085,24 @@ export async function getColumnWebTypes(
|
||||
): Promise<void> {
|
||||
try {
|
||||
const { tableName } = req.params;
|
||||
logger.info(`=== 컬럼 웹타입 정보 조회 시작: ${tableName} ===`);
|
||||
|
||||
// 🔥 회사 코드 추출 (JWT에서 또는 DB에서 조회)
|
||||
let companyCode = req.user?.companyCode;
|
||||
|
||||
if (!companyCode && req.user?.userId) {
|
||||
// JWT에 없으면 DB에서 조회
|
||||
const { query } = require("../database/db");
|
||||
const userResult = await query(
|
||||
`SELECT company_code FROM user_info WHERE user_id = $1`,
|
||||
[req.user.userId]
|
||||
);
|
||||
companyCode = userResult[0]?.company_code;
|
||||
logger.info(`DB에서 회사 코드 조회 (조회): ${req.user.userId} → ${companyCode}`);
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`=== 컬럼 웹타입 정보 조회 시작: ${tableName}, company: ${companyCode} ===`
|
||||
);
|
||||
|
||||
if (!tableName) {
|
||||
const response: ApiResponse<null> = {
|
||||
@@ -975,12 +1117,33 @@ export async function getColumnWebTypes(
|
||||
return;
|
||||
}
|
||||
|
||||
if (!companyCode) {
|
||||
logger.error(`회사 코드 누락 (조회): ${tableName}`, {
|
||||
user: req.user,
|
||||
hasUser: !!req.user,
|
||||
userId: req.user?.userId,
|
||||
companyCodeFromJWT: req.user?.companyCode,
|
||||
});
|
||||
const response: ApiResponse<null> = {
|
||||
success: false,
|
||||
message: "회사 코드를 찾을 수 없습니다.",
|
||||
error: {
|
||||
code: "MISSING_COMPANY_CODE",
|
||||
details: "사용자 정보에서 회사 코드를 찾을 수 없습니다. 관리자에게 문의하세요.",
|
||||
},
|
||||
};
|
||||
res.status(400).json(response);
|
||||
return;
|
||||
}
|
||||
|
||||
const tableManagementService = new TableManagementService();
|
||||
const inputTypes =
|
||||
await tableManagementService.getColumnInputTypes(tableName);
|
||||
const inputTypes = await tableManagementService.getColumnInputTypes(
|
||||
tableName,
|
||||
companyCode
|
||||
);
|
||||
|
||||
logger.info(
|
||||
`컬럼 입력타입 정보 조회 완료: ${tableName}, ${inputTypes.length}개 컬럼`
|
||||
`컬럼 입력타입 정보 조회 완료: ${tableName}, company: ${companyCode}, ${inputTypes.length}개 컬럼`
|
||||
);
|
||||
|
||||
const response: ApiResponse<ColumnTypeInfo[]> = {
|
||||
|
||||
Reference in New Issue
Block a user