Coverage for view / web / web_api.py: 100%
8 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-04 15:08 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-04 15:08 +0000
1"""
2FastAPI 라우터: 웹 뷰용 API 엔드포인트.
3각 페이지별 라우터는 view.web.routes 패키지에 분리되어 있으며,
4이 모듈은 하위 호환성을 위한 파사드 역할을 한다.
5"""
7# --- 통합 라우터 ---
8from view.web.routes import router # noqa: F401
10# --- 공통 유틸리티 re-export (기존 코드 호환용) ---
11from view.web.api_common import ( # noqa: F401
12 set_ctx,
13 _get_ctx,
14 check_auth,
15 _serialize_response,
16 _serialize_list_items,
17 _PRICE_CACHE,
18 OrderRequest,
19 EnvironmentRequest,
20 ProgramTradingRequest,
21 ProgramTradingUnsubscribeRequest,
22 ProgramTradingDataModel,
23)
25# --- 개별 엔드포인트 함수 re-export (테스트 호환용) ---
26from view.web.routes.program import stream_program_trading # noqa: F401
29# _ctx를 프로퍼티처럼 동작시키기 위해 모듈 레벨에서 api_common 참조
30import view.web.api_common as _api_common
33def __getattr__(name):
34 """모듈 레벨 속성 접근 시 api_common의 _ctx를 반환 (테스트 호환용)."""
35 if name == "_ctx":
36 return _api_common._ctx
37 raise AttributeError(f"module {__name__!r} has no attribute {name!r}")