전체 조건 설정 로직 수정

This commit is contained in:
hyeonsu
2025-09-16 12:37:57 +09:00
parent b1814e6ab8
commit d18e78e8a0
4 changed files with 776 additions and 424 deletions

View File

@@ -195,7 +195,56 @@ export interface JsonDataFlowDiagram {
tables: string[];
};
node_positions?: NodePositions;
category?: string; // 연결 종류 ("simple-key", "data-save", "external-call")
category?: Array<{
id: string;
category: string;
}>;
control?: Array<{
id: string;
triggerType: "insert" | "update" | "delete";
conditions: Array<{
id?: string;
type?: string;
field?: string;
operator?: string;
value?: unknown;
logicalOperator?: string;
groupId?: string;
groupLevel?: number;
}>;
}>;
plan?: Array<{
id: string;
sourceTable: string;
actions: Array<{
id: string;
name: string;
actionType: "insert" | "update" | "delete" | "upsert";
conditions?: Array<{
id: string;
type: string;
field?: string;
operator_type?: string;
value?: unknown;
logicalOperator?: string;
groupId?: string;
groupLevel?: number;
}>;
fieldMappings: Array<{
sourceTable?: string;
sourceField: string;
targetTable?: string;
targetField: string;
defaultValue?: string;
transformFunction?: string;
}>;
splitConfig?: {
sourceField: string;
delimiter: string;
targetField: string;
};
}>;
}>;
company_code: string;
created_at?: string;
updated_at?: string;
@@ -230,11 +279,16 @@ export interface CreateDiagramRequest {
control?: Array<{
id: string; // relationships의 id와 동일
triggerType: "insert" | "update" | "delete";
conditions?: Array<{
field: string;
operator: "=" | "!=" | ">" | "<" | ">=" | "<=" | "LIKE";
value: unknown;
conditions: Array<{
id?: string;
type?: string;
field?: string;
operator?: string;
value?: unknown;
dataType?: string;
logicalOperator?: "AND" | "OR";
groupId?: string;
groupLevel?: number;
}>;
}>;
// 🔥 저장 액션 - relationships의 id와 동일한 id 사용
@@ -251,15 +305,22 @@ export interface CreateDiagramRequest {
targetTable?: string;
targetField: string;
defaultValue?: string;
transformFunction?: string;
}>;
splitConfig?: {
sourceField: string;
delimiter: string;
targetField: string;
};
conditions?: Array<{
id: string;
type: string;
field: string;
operator_type: string;
value: unknown;
field?: string;
operator_type?: string;
value?: unknown;
dataType?: string;
logicalOperator?: string;
groupId?: string;
groupLevel?: number;
}>;
}>;
}>;
@@ -629,7 +690,7 @@ export class DataFlowAPI {
to_table_name: rel.toTable,
from_column_name: rel.fromColumns.join(","),
to_column_name: rel.toColumns.join(","),
connection_type: (jsonDiagram.category as "simple-key" | "data-save" | "external-call") || "simple-key", // 관계의 category 사용
connection_type: rel.connectionType || "simple-key", // 관계의 connectionType 사용
company_code: companyCode, // 실제 사용자 회사 코드 사용
settings: rel.settings || {},
created_at: jsonDiagram.created_at,