From 7c36a0f1575fb58a89b34f0d4d9403a54c5338e7 Mon Sep 17 00:00:00 2001 From: Disledg Date: Tue, 7 Jan 2025 11:56:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D1=83?= =?UTF-8?q?=D1=8E=D1=89=D0=B8=D0=B5=20=D1=84=D0=B8=D0=BA=D1=81=D1=8B=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=20=D0=B1=D0=BE=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/routes/subscription_routes.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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))