From afe23f4958b9eab093f94633f7a5cbc22a1c2148 Mon Sep 17 00:00:00 2001 From: Cizz22 Date: Wed, 20 Aug 2025 10:39:12 +0700 Subject: [PATCH] add reset path --- src/aeros_equipment/service.py | 2 +- src/aeros_project/router.py | 21 ++++++++++++++++----- src/aeros_project/service.py | 18 ++++++++++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/aeros_equipment/service.py b/src/aeros_equipment/service.py index 7bfed67..4572ff4 100644 --- a/src/aeros_equipment/service.py +++ b/src/aeros_equipment/service.py @@ -399,7 +399,7 @@ async def update_equipment_for_simulation(*, db_session: DbSession, project_name reqNodeInputs.append(eq) print("Updating equipment for simulation") - await update_node(db_session=db_session, equipment_nodes=reqNodeInputs, project_name=project_name) + ## await update_node(db_session=db_session, equipment_nodes=reqNodeInputs, project_name=project_name) print("Updated equipment for simulation") return results diff --git a/src/aeros_project/router.py b/src/aeros_project/router.py index c117ab9..e238d20 100644 --- a/src/aeros_project/router.py +++ b/src/aeros_project/router.py @@ -9,18 +9,18 @@ from src.database.service import CommonParameters from src.models import StandardResponse from .schema import AerosProjectInput, AerosMetadata -from .service import import_aro_project, fetch_aro_record +from .service import import_aro_project, fetch_aro_record, reset_project router = APIRouter() @router.post("", response_model=StandardResponse[None]) async def import_aro( - db_session: DbSession, + db_session: DbSession, schematic_name: str = Form(...), - aro_file: UploadFile = File(..., description="ARO file"), + aro_file: UploadFile = File(..., description="ARO file"), project_name: str = "trialapi" ): - + # Create the input object manually aeros_project_input = AerosProjectInput(schematic_name=schematic_name, aro_file=aro_file) @@ -31,9 +31,20 @@ async def import_aro( @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.get("/reset", response_model=StandardResponse[None]) +async def reset_aeros_project(db_session: DbSession): + # Logic to reset the ARO project + reset_path = await reset_project(db_session=db_session) + + return { + "data": reset_path, + "message": "Success" + } + # @router.post("", response_model=StandardResponse[None]) # async def import_aro_old(db_session: DbSession, aeros_project_in: AerosProjectInput, project_name: str = "trialapi"): # # TEST ONLY diff --git a/src/aeros_project/service.py b/src/aeros_project/service.py index 3491295..ba3ab11 100644 --- a/src/aeros_project/service.py +++ b/src/aeros_project/service.py @@ -181,3 +181,21 @@ async def _initialize_default_project_data( except Exception as e: await db_session.rollback() raise e + + +def reset_project(*, db_session: DbSession): + project = await fetch_aro_record(db_session=db_session) + + try: + response = await client.post( + f"{AEROS_BASE_URL}/api/Project/ImportAROFile", + content=f'"{project.aro_file_path}"', + headers={"Content-Type": "application/json"}, + ) + response.raise_for_status() + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e) + ) + + return project.aro_file_path