diff --git a/dashboard/backend/routers/auth.py b/dashboard/backend/routers/auth.py index 0e3775f..46e98ba 100644 --- a/dashboard/backend/routers/auth.py +++ b/dashboard/backend/routers/auth.py @@ -378,13 +378,21 @@ async def get_preferences(current_user = Depends(auth.get_current_user)): @router.put("/preferences") async def save_preferences(request: Request, current_user = Depends(auth.get_current_user)): + import traceback from rbac import save_sidebar_order - body = await request.json() - order = body.get("sidebar_order") - if order is None or not isinstance(order, dict): - raise HTTPException(status_code=400, detail="Missing sidebar_order dict") - save_sidebar_order(current_user.username, order) - return {"ok": True} + try: + body = await request.json() + order = body.get("sidebar_order") + if order is None or not isinstance(order, dict): + raise HTTPException(status_code=400, detail="Missing sidebar_order dict") + save_sidebar_order(current_user.username, order) + return {"ok": True} + except HTTPException: + raise + except Exception as e: + print(f"Error saving preferences: {e}") + traceback.print_exc() + raise HTTPException(status_code=500, detail=str(e)) @router.delete("/rbac/overrides/{username}") async def rbac_delete_override(username: str, current_user = Depends(auth.get_current_user)):