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.
68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
from typing import List
|
|
|
|
from fastapi import APIRouter, HTTPException, status
|
|
|
|
from src.database.core import DbSession
|
|
from src.models import StandardResponse
|
|
from src.overhaul.service import (get_overhaul_critical_parts,
|
|
get_overhaul_overview,
|
|
get_overhaul_schedules,
|
|
get_overhaul_system_components)
|
|
from src.overhaul_scope.schema import ScopeRead
|
|
|
|
from .schema import (OverhaulCriticalParts, OverhaulRead,
|
|
OverhaulSystemComponents)
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("", response_model=StandardResponse[OverhaulRead])
|
|
async def get_overhaul(db_session: DbSession):
|
|
"""Get all scope pagination."""
|
|
overview = await get_overhaul_overview(db_session=db_session)
|
|
schedules = await get_overhaul_schedules(db_session=db_session)
|
|
criticalParts = get_overhaul_critical_parts()
|
|
systemComponents = get_overhaul_system_components()
|
|
|
|
return StandardResponse(
|
|
data=OverhaulRead(
|
|
overview=overview,
|
|
schedules=schedules,
|
|
criticalParts=criticalParts,
|
|
systemComponents=systemComponents,
|
|
),
|
|
message="Data retrieved successfully",
|
|
)
|
|
|
|
|
|
@router.get("/schedules", response_model=StandardResponse[List[ScopeRead]])
|
|
async def get_schedules():
|
|
"""Get all overhaul schedules."""
|
|
schedules = get_overhaul_schedules()
|
|
return StandardResponse(
|
|
data=schedules,
|
|
message="Data retrieved successfully",
|
|
)
|
|
|
|
|
|
@router.get("/critical-parts", response_model=StandardResponse[OverhaulCriticalParts])
|
|
async def get_critical_parts():
|
|
"""Get all overhaul critical parts."""
|
|
criticalParts = get_overhaul_critical_parts()
|
|
return StandardResponse(
|
|
data=OverhaulCriticalParts(criticalParts=criticalParts),
|
|
message="Data retrieved successfully",
|
|
)
|
|
|
|
|
|
@router.get(
|
|
"/system-components", response_model=StandardResponse[OverhaulSystemComponents]
|
|
)
|
|
async def get_system_components():
|
|
"""Get all overhaul system components."""
|
|
systemComponents = get_overhaul_system_components()
|
|
return StandardResponse(
|
|
data=OverhaulSystemComponents(systemComponents=systemComponents),
|
|
message="Data retrieved successfully",
|
|
)
|