add reset path

main
Cizz22 5 months ago
parent 2c6292fddf
commit afe23f4958

@ -399,7 +399,7 @@ async def update_equipment_for_simulation(*, db_session: DbSession, project_name
reqNodeInputs.append(eq) reqNodeInputs.append(eq)
print("Updating equipment for simulation") 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") print("Updated equipment for simulation")
return results return results

@ -9,18 +9,18 @@ from src.database.service import CommonParameters
from src.models import StandardResponse from src.models import StandardResponse
from .schema import AerosProjectInput, AerosMetadata 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 = APIRouter()
@router.post("", response_model=StandardResponse[None]) @router.post("", response_model=StandardResponse[None])
async def import_aro( async def import_aro(
db_session: DbSession, db_session: DbSession,
schematic_name: str = Form(...), schematic_name: str = Form(...),
aro_file: UploadFile = File(..., description="ARO file"), aro_file: UploadFile = File(..., description="ARO file"),
project_name: str = "trialapi" project_name: str = "trialapi"
): ):
# Create the input object manually # Create the input object manually
aeros_project_input = AerosProjectInput(schematic_name=schematic_name, aro_file=aro_file) 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]) @router.get("/metadata", response_model=StandardResponse[AerosMetadata])
async def getAerosMetadata(db_session: DbSession): async def getAerosMetadata(db_session: DbSession):
result = await fetch_aro_record(db_session=db_session) result = await fetch_aro_record(db_session=db_session)
return {"data": result, "status": "success", "message": "Success"} 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]) # @router.post("", response_model=StandardResponse[None])
# async def import_aro_old(db_session: DbSession, aeros_project_in: AerosProjectInput, project_name: str = "trialapi"): # async def import_aro_old(db_session: DbSession, aeros_project_in: AerosProjectInput, project_name: str = "trialapi"):
# # TEST ONLY # # TEST ONLY

@ -181,3 +181,21 @@ async def _initialize_default_project_data(
except Exception as e: except Exception as e:
await db_session.rollback() await db_session.rollback()
raise e 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

Loading…
Cancel
Save