배치 등록된연결 저장 누락 + 실행 timeout + 권한관리 코드 숨김
Build and Push Images / build-and-push (push) Has been cancelled

- 배치(REST API→DB) 저장 시 매핑 payload 에 from_connection_id 추가
  — 등록된 연결 선택값이 DB 에 저장 안 돼 수정 화면 재진입 시 manual 로 표시되던 문제 해결
- 배치 실행 호출만 timeout 30s → 5분(300000ms) override
  — 외부 API + 대량 INSERT 시 자주 끊기던 AxiosError 해결
- 권한관리 좌측 권한 카드에서 authCode 행 제거
  — authName 만 노출(코드값은 hover tooltip 으로 유지). 검색은 authCode 도 매칭 유지

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-05-12 15:05:41 +09:00
parent d8d9ad3bcc
commit 2cefbf2855
3 changed files with 11 additions and 5 deletions
@@ -1145,6 +1145,9 @@ export default function BatchManagementNewPage(props: BatchManagementNewPageProp
: ("direct" as const);
return {
from_connection_type: "restapi" as const,
// 등록된 외부 REST API 연결을 선택했으면 그 id 를 함께 저장 → 로드 시 셀렉트 복원
from_connection_id:
selectedRestApiId !== "manual" ? Number(selectedRestApiId) : undefined,
from_table_name: fromEndpoint,
from_column_name: fromColumnName,
from_api_url: fromApiUrl,
@@ -659,7 +659,9 @@ export default function UserAuthPage() {
)}
>
<div className="flex items-start justify-between gap-2">
<div className="min-w-0 flex-1">
{/* authCode 는 내부 식별자만 — 화면에는 라벨(authName) 만 노출.
hover/title 로 코드값은 개발자가 확인 가능. */}
<div className="min-w-0 flex-1" title={role.authCode}>
<div
className={cn(
"truncate text-sm font-semibold",
@@ -668,9 +670,6 @@ export default function UserAuthPage() {
>
{role.authName}
</div>
<div className="text-muted-foreground mt-0.5 truncate font-mono text-[10px]">
{role.authCode}
</div>
</div>
<div
className={cn(
+5 -1
View File
@@ -424,6 +424,8 @@ export class BatchAPI {
};
}> {
try {
// 배치 실행은 외부 API + 대량 INSERT/UPDATE 가 동기적으로 일어나 30초 이상 걸릴 수 있음.
// apiClient 기본 timeout(30s) 으로는 자주 끊겨 이 호출만 5분으로 override.
const response = await apiClient.post<{
success: boolean;
message?: string;
@@ -434,7 +436,9 @@ export class BatchAPI {
failedRecords: number;
duration: number;
};
}>(`/batch-management/batch-configs/${batchId}/execute`);
}>(`/batch-management/batch-configs/${batchId}/execute`, undefined, {
timeout: 300000, // 5분
});
return response.data;
} catch (error) {