diff --git a/backend/app/api/routes/__init__.py b/backend/app/api/routes/__init__.py index 5fd6e8e..84e857b 100644 --- a/backend/app/api/routes/__init__.py +++ b/backend/app/api/routes/__init__.py @@ -80,11 +80,17 @@ async def create_route( _: bool = Depends(get_current_admin) ): """Create a new route (Admin only).""" - db_route = Route.model_validate(route) - session.add(db_route) - session.commit() - session.refresh(db_route) - return db_route + try: + db_route = Route.model_validate(route) + session.add(db_route) + session.commit() + session.refresh(db_route) + return db_route + except Exception as e: + session.rollback() + import traceback + error_detail = f"{str(e)}\n\n{traceback.format_exc()}" + raise HTTPException(status_code=400, detail=error_detail) @router.put("/{route_id}", response_model=RouteResponse) async def update_route(