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.
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
from typing import Annotated, List, Optional
|
|
from uuid import UUID
|
|
|
|
from fastapi import APIRouter, Depends, HTTPException, Query, status
|
|
|
|
from src.auth.service import CurrentUser
|
|
from src.dashboard_model.schema import DashboardModelQuery
|
|
from src.database.core import DbSession
|
|
from src.database.service import CommonParameters
|
|
from src.models import StandardResponse
|
|
from src.dashboard_model.schema_masterdata import RBDMasterDataSchema, RBDMasterDataUpdate
|
|
|
|
from .service import get_model_data
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("", response_model=StandardResponse[dict])
|
|
async def get_dashboard_model_data(
|
|
db_session: DbSession,
|
|
query:Annotated[DashboardModelQuery, Query()]
|
|
):
|
|
simulation_id = query.simulation_id
|
|
result = await get_model_data(db_session=db_session, simulation_id=simulation_id)
|
|
|
|
return StandardResponse(
|
|
data=result,
|
|
message="Data retrieved successfully",
|
|
)
|
|
|
|
|
|
@router.get("/master-data", response_model=StandardResponse[List[RBDMasterDataSchema]])
|
|
async def get_dashboard_master_data(
|
|
db_session: DbSession
|
|
):
|
|
from src.dashboard_model.service import get_master_data_list
|
|
result = await get_master_data_list(db_session=db_session)
|
|
|
|
|
|
return StandardResponse(
|
|
data=result,
|
|
message="Master data retrieved successfully"
|
|
)
|
|
|
|
|
|
@router.post("/master-data/{md_id}/update", response_model=StandardResponse[RBDMasterDataSchema])
|
|
async def update_dashboard_master_data(
|
|
md_id: UUID,
|
|
payload: RBDMasterDataUpdate,
|
|
db_session: DbSession
|
|
):
|
|
from src.dashboard_model.service import update_master_data
|
|
result = await update_master_data(db_session=db_session, md_id=md_id, payload=payload)
|
|
return StandardResponse(
|
|
data=result,
|
|
message="Master data updated successfully"
|
|
)
|