From ef557e7b68a032a064ad232047b6ad5c13df4b71 Mon Sep 17 00:00:00 2001 From: itqop Date: Tue, 30 Dec 2025 23:07:49 +0300 Subject: [PATCH] add errors --- backend/src/app/main.py | 10 ++++++++++ frontend/src/pages/LoginPage.tsx | 13 ++++++++++++- frontend/src/pages/RegisterPage.tsx | 11 ++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/backend/src/app/main.py b/backend/src/app/main.py index 6b9e8d6..03a5ccb 100644 --- a/backend/src/app/main.py +++ b/backend/src/app/main.py @@ -17,6 +17,16 @@ async def lifespan(app: FastAPI): """Application lifespan handler.""" # Startup await init_db() + + # TEMPORARY: Clean up old deleted assets (remove this after first run) + from app.infra.database import get_session + from sqlalchemy import text + async for session in get_session(): + await session.execute(text("DELETE FROM assets WHERE status = 'deleted'")) + await session.commit() + break + # END TEMPORARY + yield # Shutdown pass diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx index f7197f6..ea83ed2 100644 --- a/frontend/src/pages/LoginPage.tsx +++ b/frontend/src/pages/LoginPage.tsx @@ -30,7 +30,18 @@ export default function LoginPage() { await login(email, password); navigate('/library'); } catch (err: any) { - setError(err.response?.data?.detail || 'Ошибка входа. Проверьте данные.'); + console.error('Login error:', err); + if (err.response?.status === 401) { + setError('Неверный email или пароль'); + } else if (err.response?.status === 403) { + setError('Аккаунт заблокирован'); + } else if (err.response?.data?.detail) { + setError(err.response.data.detail); + } else if (err.message) { + setError(err.message); + } else { + setError('Ошибка входа. Проверьте подключение к интернету.'); + } } finally { setLoading(false); } diff --git a/frontend/src/pages/RegisterPage.tsx b/frontend/src/pages/RegisterPage.tsx index 77d9f2e..0e3e401 100644 --- a/frontend/src/pages/RegisterPage.tsx +++ b/frontend/src/pages/RegisterPage.tsx @@ -42,7 +42,16 @@ export default function RegisterPage() { await register(email, password); navigate('/login'); } catch (err: any) { - setError(err.response?.data?.detail || 'Ошибка регистрации'); + console.error('Registration error:', err); + if (err.response?.status === 400) { + setError('Email уже зарегистрирован'); + } else if (err.response?.data?.detail) { + setError(err.response.data.detail); + } else if (err.message) { + setError(err.message); + } else { + setError('Ошибка регистрации. Проверьте подключение к интернету.'); + } } finally { setLoading(false); }