Initial commit
This commit is contained in:
79
backend/app/api/routes.py
Normal file
79
backend/app/api/routes.py
Normal file
@ -0,0 +1,79 @@
|
||||
from fastapi import APIRouter, Query
|
||||
|
||||
from app.api.schemas import (
|
||||
AShareIndexFlowResponse,
|
||||
AShareSectorFlowResponse,
|
||||
HealthResponse,
|
||||
HistoryResponse,
|
||||
MetaResponse,
|
||||
OverviewResponse,
|
||||
PushRecord,
|
||||
PushRecordsResponse,
|
||||
RulesResponse,
|
||||
SourceDiagnosticsResponse,
|
||||
)
|
||||
from app.services.ashare_flow_service import ashare_flow_service
|
||||
from app.services.alert_service import alert_service
|
||||
from app.services.monitoring_service import monitoring_service
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/health", response_model=HealthResponse)
|
||||
def health() -> HealthResponse:
|
||||
return HealthResponse(status="ok")
|
||||
|
||||
|
||||
@router.get("/meta", response_model=MetaResponse)
|
||||
def meta() -> MetaResponse:
|
||||
return monitoring_service.get_meta()
|
||||
|
||||
|
||||
@router.get("/overview", response_model=OverviewResponse)
|
||||
def overview() -> OverviewResponse:
|
||||
return monitoring_service.get_overview()
|
||||
|
||||
|
||||
@router.get("/history", response_model=HistoryResponse)
|
||||
def history() -> HistoryResponse:
|
||||
return monitoring_service.get_history()
|
||||
|
||||
|
||||
@router.get("/push-records", response_model=PushRecordsResponse)
|
||||
def push_records() -> PushRecordsResponse:
|
||||
return monitoring_service.get_push_records()
|
||||
|
||||
|
||||
@router.post("/push-records/test", response_model=PushRecord)
|
||||
def send_test_push_record() -> PushRecord:
|
||||
return PushRecord(**alert_service.send_test_alert())
|
||||
|
||||
|
||||
@router.get("/rules", response_model=RulesResponse)
|
||||
def rules() -> RulesResponse:
|
||||
return monitoring_service.get_rules()
|
||||
|
||||
|
||||
@router.get("/source-diagnostics", response_model=SourceDiagnosticsResponse)
|
||||
def source_diagnostics() -> SourceDiagnosticsResponse:
|
||||
return monitoring_service.get_source_diagnostics()
|
||||
|
||||
|
||||
@router.get("/ashare/index-flows/realtime", response_model=AShareIndexFlowResponse)
|
||||
def ashare_index_realtime() -> AShareIndexFlowResponse:
|
||||
return AShareIndexFlowResponse(**ashare_flow_service.get_index_realtime())
|
||||
|
||||
|
||||
@router.get("/ashare/index-flows/daily", response_model=AShareIndexFlowResponse)
|
||||
def ashare_index_daily(trade_date: str | None = Query(default=None)) -> AShareIndexFlowResponse:
|
||||
return AShareIndexFlowResponse(**ashare_flow_service.get_index_daily(trade_date))
|
||||
|
||||
|
||||
@router.get("/ashare/sector-flows/realtime", response_model=AShareSectorFlowResponse)
|
||||
def ashare_sector_realtime() -> AShareSectorFlowResponse:
|
||||
return AShareSectorFlowResponse(**ashare_flow_service.get_sector_realtime())
|
||||
|
||||
|
||||
@router.get("/ashare/sector-flows/daily", response_model=AShareSectorFlowResponse)
|
||||
def ashare_sector_daily(trade_date: str | None = Query(default=None)) -> AShareSectorFlowResponse:
|
||||
return AShareSectorFlowResponse(**ashare_flow_service.get_sector_daily(trade_date))
|
||||
Reference in New Issue
Block a user