diff --git a/app/routes/subscription_routes.py b/app/routes/subscription_routes.py index 994fb7c..0e89c93 100644 --- a/app/routes/subscription_routes.py +++ b/app/routes/subscription_routes.py @@ -121,6 +121,9 @@ async def get_subscriptions(user_id: UUID, database_manager: DatabaseManager = D except Exception as e: logger.error(f"Неожиданная ошибка: {e}") raise HTTPException(status_code=500, detail=str(e)) + except HTTPException as e: + # Пропускаем HTTPException, чтобы FastAPI обработал её автоматически + raise e @router.get("/uri", response_model=dict) async def get_uri(telegram_id: int, database_manager: DatabaseManager = Depends(get_database_manager)): @@ -132,15 +135,21 @@ async def get_uri(telegram_id: int, database_manager: DatabaseManager = Depends( # Получаем подписки без ограничений или с указанным лимитом uri = await database_manager.generate_uri(telegram_id) if uri == "SUB_ERROR": - raise HTTPException(status_code=404, detail="User not found") + raise HTTPException(status_code=404, detail="SUB_ERROR") if not uri: logger.warning(f"Не удалось сгенерировать URI для пользователя с telegram_id {telegram_id}") raise HTTPException(status_code=404, detail="URI not found") - return {"detail": uri } + return {"detail": uri} + + except HTTPException as e: + # Пропускаем HTTPException, чтобы FastAPI обработал её автоматически + raise e + except SQLAlchemyError as e: logger.error(f"Ошибка базы данных при получении подписок для пользователя {telegram_id}: {e}") raise HTTPException(status_code=500, detail="Database error") + except Exception as e: logger.error(f"Неожиданная ошибка: {e}") - raise HTTPException(status_code=500, detail=str(e)) \ No newline at end of file + raise HTTPException(status_code=500, detail=str(e))