You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
from typing import Dict, List, Optional
|
|
|
|
from fastapi import APIRouter, HTTPException, status
|
|
from fastapi.params import Query
|
|
|
|
from src.database.core import DbSession
|
|
from src.models import StandardResponse
|
|
|
|
from .service import get_eaf_timeline
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
# @router.get("", response_model=StandardResponse[List[Dict]])
|
|
# async def get_target_reliability(
|
|
# db_session: DbSession,
|
|
# scope_name: Optional[str] = Query(None),
|
|
# eaf_threshold: float = Query(100),
|
|
# ):
|
|
# """Get all scope pagination."""
|
|
# results = await get_all_target_reliability(
|
|
# db_session=db_session, scope_name=scope_name, eaf_threshold=eaf_threshold
|
|
# )
|
|
|
|
# return StandardResponse(
|
|
# data=results,
|
|
# message="Data retrieved successfully",
|
|
# )
|
|
|
|
|
|
@router.get("", response_model=StandardResponse[List[Dict]])
|
|
async def get_target_reliability(
|
|
db_session: DbSession,
|
|
oh_session_id: Optional[str] = Query(None),
|
|
eaf_input: float = Query(0.5),
|
|
duration: int = Query(8000),
|
|
):
|
|
"""Get all scope pagination."""
|
|
if not oh_session_id:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_400_BAD_REQUEST,
|
|
detail="oh_session_id is required",
|
|
)
|
|
|
|
results = await get_eaf_timeline(
|
|
db_session=db_session,
|
|
oh_session_id=oh_session_id,
|
|
eaf_input=eaf_input,
|
|
oh_duration=duration
|
|
)
|
|
|
|
|
|
return StandardResponse(
|
|
data=results,
|
|
message="Data retrieved successfully",
|
|
)
|