diff --git a/src/aeros_project/router.py b/src/aeros_project/router.py index 3473938..c117ab9 100644 --- a/src/aeros_project/router.py +++ b/src/aeros_project/router.py @@ -8,8 +8,8 @@ from src.database.core import DbSession from src.database.service import CommonParameters from src.models import StandardResponse -from .schema import AerosProjectInput -from .service import import_aro_project +from .schema import AerosProjectInput, AerosMetadata +from .service import import_aro_project, fetch_aro_record router = APIRouter() @@ -26,9 +26,13 @@ async def import_aro( result = await import_aro_project(db_session=db_session, aeros_project_in=aeros_project_input) - return {"data": None, "status": "success", "message": "Success", "result": result} - + return {"data": None, "status": "success", "message": "Success"} +@router.get("/metadata", response_model=StandardResponse[AerosMetadata]) +async def getAerosMetadata(db_session: DbSession): + result = await fetch_aro_record(db_session=db_session) + + return {"data": result, "status": "success", "message": "Success"} # @router.post("", response_model=StandardResponse[None]) # async def import_aro_old(db_session: DbSession, aeros_project_in: AerosProjectInput, project_name: str = "trialapi"): diff --git a/src/aeros_project/schema.py b/src/aeros_project/schema.py index 1f3fc63..81c6869 100644 --- a/src/aeros_project/schema.py +++ b/src/aeros_project/schema.py @@ -18,6 +18,11 @@ class AerosProjectBase(DefultBase): class AerosProjectInput(AerosProjectBase): schematic_name: str aro_file: UploadFile = File(..., description="ARO file") + +class AerosMetadata(AerosProjectBase): + project_name: str + aro_file_path: str + updated_at: datetime # class OverhaulScheduleCreate(OverhaulScheduleBase): diff --git a/src/aeros_project/service.py b/src/aeros_project/service.py index eaeeeeb..2fab0cc 100644 --- a/src/aeros_project/service.py +++ b/src/aeros_project/service.py @@ -130,6 +130,13 @@ async def import_aro_project(*, db_session: DbSession, aeros_project_in: AerosPr # project_name=project_name # ) +async def fetch_aro_record(*, db_session: DbSession): + stmt = select(AerosProject).order_by(desc(AerosProject.updated_at)).limit(1) + result = await db_session.execute(stmt) + found_record = result.scalar_one_or_none() + + return found_record + async def _initialize_default_project_data( *,