외부 REST API 커넥션에 DB 토큰 및 테스트 UX 개선
This commit is contained in:
@@ -731,11 +731,34 @@ export class ExternalRestApiConnectionService {
|
||||
return result;
|
||||
} catch (error) {
|
||||
logger.error("REST API 연결 테스트 (ID) 오류:", error);
|
||||
|
||||
const errorMessage =
|
||||
error instanceof Error ? error.message : "알 수 없는 오류";
|
||||
|
||||
// 예외가 발생한 경우에도 마지막 테스트 결과를 실패로 기록
|
||||
try {
|
||||
await pool.query(
|
||||
`
|
||||
UPDATE external_rest_api_connections
|
||||
SET
|
||||
last_test_date = NOW(),
|
||||
last_test_result = $1,
|
||||
last_test_message = $2
|
||||
WHERE id = $3
|
||||
`,
|
||||
["N", errorMessage, id]
|
||||
);
|
||||
} catch (updateError) {
|
||||
logger.error(
|
||||
"REST API 연결 테스트 (ID) 오류 기록 실패:",
|
||||
updateError
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
message: "연결 테스트에 실패했습니다.",
|
||||
error_details:
|
||||
error instanceof Error ? error.message : "알 수 없는 오류",
|
||||
error_details: errorMessage,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,22 @@ export function RestApiConnectionList() {
|
||||
|
||||
setTestResults((prev) => new Map(prev).set(connection.id!, result.success));
|
||||
|
||||
// 현재 행의 "마지막 테스트" 정보만 낙관적으로 업데이트하여
|
||||
// 전체 목록 리로딩 없이도 UI를 즉시 반영한다.
|
||||
const nowIso = new Date().toISOString();
|
||||
setConnections((prev) =>
|
||||
prev.map((c) =>
|
||||
c.id === connection.id
|
||||
? {
|
||||
...c,
|
||||
last_test_date: nowIso as any,
|
||||
last_test_result: result.success ? "Y" : "N",
|
||||
last_test_message: result.message,
|
||||
}
|
||||
: c
|
||||
)
|
||||
);
|
||||
|
||||
if (result.success) {
|
||||
toast({
|
||||
title: "연결 성공",
|
||||
|
||||
Reference in New Issue
Block a user