조인테이블의 컬럼 사용할 수 있도록 수정

This commit is contained in:
kjs
2025-09-16 18:02:19 +09:00
parent 1d05965a55
commit 049d8ed295
8 changed files with 523 additions and 9 deletions

View File

@@ -62,6 +62,11 @@ export const entityJoinApi = {
sortBy?: string;
sortOrder?: "asc" | "desc";
enableEntityJoin?: boolean;
additionalJoinColumns?: Array<{
sourceTable: string;
sourceColumn: string;
joinAlias: string;
}>;
} = {},
): Promise<EntityJoinResponse> => {
const searchParams = new URLSearchParams();
@@ -87,6 +92,7 @@ export const entityJoinApi = {
params: {
...params,
search: params.search ? JSON.stringify(params.search) : undefined,
additionalJoinColumns: params.additionalJoinColumns ? JSON.stringify(params.additionalJoinColumns) : undefined,
},
});
return response.data.data;
@@ -153,6 +159,40 @@ export const entityJoinApi = {
await apiClient.delete(`/table-management/cache`, { params });
},
/**
* Entity 조인된 테이블의 추가 컬럼 목록 조회 (화면편집기용)
*/
getEntityJoinColumns: async (
tableName: string,
): Promise<{
tableName: string;
joinTables: Array<{
tableName: string;
currentDisplayColumn: string;
availableColumns: Array<{
columnName: string;
columnLabel: string;
dataType: string;
description?: string;
}>;
}>;
availableColumns: Array<{
tableName: string;
columnName: string;
columnLabel: string;
dataType: string;
joinAlias: string;
suggestedLabel: string;
}>;
summary: {
totalJoinTables: number;
totalAvailableColumns: number;
};
}> => {
const response = await apiClient.get(`/table-management/tables/${tableName}/entity-join-columns`);
return response.data.data;
},
/**
* 공통 참조 테이블 자동 캐싱
*/