refactor: 프론트엔드 SSO 인증 통합 및 API 경로 정리

- Gateway 로그인/포탈 페이지 SSO 연동
- System1 web/fastapi-bridge API base URL 동적 설정
- SSO 토큰 기반 인증 흐름 통일
- deprecated JS 파일 삭제

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-06 23:18:09 +09:00
parent ec755ed52f
commit 61c810bd47
63 changed files with 255 additions and 1357 deletions

View File

@@ -28,7 +28,6 @@ class WorkAnalysisAPIClient {
config.body = JSON.stringify(data);
}
console.log(`📡 API 호출: ${this.baseURL}${endpoint} (${method})`);
const response = await fetch(`${this.baseURL}${endpoint}`, config);
const result = await response.json();
@@ -37,11 +36,10 @@ class WorkAnalysisAPIClient {
throw new Error(result.message || `HTTP ${response.status}`);
}
console.log(`✅ API 성공: ${this.baseURL}${endpoint}`);
return result;
} catch (error) {
console.error(` API 실패: ${this.baseURL}${endpoint}`, error);
console.error(` API 실패: ${this.baseURL}${endpoint}`, error);
throw error;
}
}
@@ -68,11 +66,9 @@ class WorkAnalysisAPIClient {
* 기본 통계 조회
*/
async getBasicStats(startDate, endDate, projectId = null) {
console.log('🔍 getBasicStats 호출:', startDate, '~', endDate, projectId ? `(프로젝트: ${projectId})` : '');
const params = this.createDateParams(startDate, endDate,
projectId ? { project_id: projectId } : {}
);
console.log('🌐 API 요청 URL:', `/work-analysis/stats?${params}`);
return await this.apiCall(`/work-analysis/stats?${params}`);
}
@@ -138,20 +134,18 @@ class WorkAnalysisAPIClient {
* @returns {Promise<Array>} 결과 배열
*/
async batchCall(apiCalls) {
console.log('🔄 배치 API 호출 시작:', apiCalls.length, '개');
const promises = apiCalls.map(async ({ name, method, ...args }) => {
try {
const result = await this[method](...args);
return { name, success: true, data: result };
} catch (error) {
console.warn(`⚠️ ${name} API 오류:`, error);
console.warn(` ${name} API 오류:`, error);
return { name, success: false, error: error.message, data: null };
}
});
const results = await Promise.all(promises);
console.log('✅ 배치 API 호출 완료');
return results.reduce((acc, result) => {
acc[result.name] = result;