Skip to content

[refactor] apiClient 및 네이티브 브릿지 인증 연동 개선 #243

@ff1451

Description

@ff1451

개요

apiClient의 코드 중복과 네이티브 WebView 브릿지 인증 동기화 누락을 개선합니다.

문제

  1. sendRequestsendRequestWithoutRetry가 URL 빌드, 헤더 구성, timeout 처리 등 거의 동일한 로직을 복사하고 있어 유지보수 부담
  2. refresh 토큰 deduplication이 client.tsauth/index.ts 두 곳에서 이중 관리
  3. clearAuth()만 호출하는 경로(회원탈퇴, 알림 스트림 등)에서 네이티브에 LOGOUT 미통보 → 웹/네이티브 상태 불일치
  4. parseResponse에서 JSON 파싱 실패 시 {} 반환 → 호출자가 T 타입으로 신뢰하고 접근할 때 엉뚱한 곳에서 런타임 에러 발생
  5. 네이티브 브릿지 메시지 전송이 여러 파일에 산재하여 포맷 변경 시 수정 지점 분산

작업 내용

  • sendRequest / sendRequestWithoutRetryallowRetry 파라미터로 하나의 함수로 통합
  • client.ts의 모듈 스코프 refreshPromise 제거 (auth/index.ts dedup에 위임)
  • postNativeMessage 유틸 추출 및 모든 브릿지 호출 통일
  • clearAuth() 내부에 LOGOUT 브릿지 전송 중앙화
  • initialize() refresh 실패 경로도 clearAuth() 경유하도록 통일
  • parseResponse JSON 파싱 실패 시 ApiError로 래핑, 204 명시 처리

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions