생성된 관계도 확인

This commit is contained in:
2025-09-09 11:35:05 +09:00
parent 989c118ad2
commit 7260ad733b
8 changed files with 1018 additions and 107 deletions

View File

@@ -608,3 +608,113 @@ export async function getTableData(req: Request, res: Response): Promise<void> {
res.status(500).json(response);
}
}
/**
* 관계도 그룹 목록 조회 (관계도 이름별로 그룹화)
*/
export async function getDataFlowDiagrams(
req: AuthenticatedRequest,
res: Response
): Promise<void> {
try {
logger.info("=== 관계도 목록 조회 시작 ===");
const { page = 1, size = 20, searchTerm = "" } = req.query;
// 사용자 정보에서 회사 코드 가져오기
const companyCode = (req.user as any)?.company_code || "*";
const pageNum = parseInt(page as string, 10);
const sizeNum = parseInt(size as string, 10);
const dataflowService = new DataflowService();
const result = await dataflowService.getDataFlowDiagrams(
companyCode,
pageNum,
sizeNum,
searchTerm as string
);
logger.info(`관계도 목록 조회 완료: ${result.total}`);
const response: ApiResponse<typeof result> = {
success: true,
message: "관계도 목록을 성공적으로 조회했습니다.",
data: result,
};
res.status(200).json(response);
} catch (error) {
logger.error("관계도 목록 조회 중 오류 발생:", error);
const response: ApiResponse<null> = {
success: false,
message: "관계도 목록 조회 중 오류가 발생했습니다.",
error: {
code: "DATAFLOW_DIAGRAMS_LIST_ERROR",
details: error instanceof Error ? error.message : "Unknown error",
},
};
res.status(500).json(response);
}
}
/**
* 특정 관계도의 모든 관계 조회
*/
export async function getDiagramRelationships(
req: AuthenticatedRequest,
res: Response
): Promise<void> {
try {
logger.info("=== 관계도 관계 조회 시작 ===");
const { diagramName } = req.params;
if (!diagramName) {
const response: ApiResponse<null> = {
success: false,
message: "관계도 이름이 필요합니다.",
error: {
code: "MISSING_DIAGRAM_NAME",
details: "diagramName 파라미터가 필요합니다.",
},
};
res.status(400).json(response);
return;
}
// 사용자 정보에서 회사 코드 가져오기
const companyCode = (req.user as any)?.company_code || "*";
const dataflowService = new DataflowService();
const relationships = await dataflowService.getDiagramRelationships(
companyCode,
decodeURIComponent(diagramName)
);
logger.info(`관계도 관계 조회 완료: ${relationships.length}`);
const response: ApiResponse<any[]> = {
success: true,
message: "관계도 관계를 성공적으로 조회했습니다.",
data: relationships,
};
res.status(200).json(response);
} catch (error) {
logger.error("관계도 관계 조회 중 오류 발생:", error);
const response: ApiResponse<null> = {
success: false,
message: "관계도 관계 조회 중 오류가 발생했습니다.",
error: {
code: "DIAGRAM_RELATIONSHIPS_GET_ERROR",
details: error instanceof Error ? error.message : "Unknown error",
},
};
res.status(500).json(response);
}
}