diff --git a/backend/app.py b/backend/app.py index 40365ec..48af70e 100644 --- a/backend/app.py +++ b/backend/app.py @@ -59,9 +59,36 @@ app.register_blueprint(finance_blueprint, url_prefix='/api') app.register_blueprint(team_blueprint, url_prefix='/api') app.register_blueprint(repricer_blueprint, url_prefix='/api') +# Health check endpoint - проверка состояния приложения и БД +from flask import jsonify +from .db import get_db_connection, release_db_connection + +@app.route('/api/health') +def health_check(): + db_status = "ok" + db_error = None + try: + conn = get_db_connection() + cur = conn.cursor() + cur.execute("SELECT 1") + release_db_connection(conn) + except Exception as e: + db_status = "error" + db_error = str(e) + + status = "ok" if db_status == "ok" else "degraded" + return jsonify({ + "status": status, + "backend": "ok", + "database": db_status, + "db_error": db_error + }), 200 if status == "ok" else 503 + + import threading import time + def background_scanner(): """Фоновая задача для имитации сканирования маркетплейсов.""" while True: diff --git a/frontend/index.html b/frontend/index.html index a147902..f69685b 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -31,7 +31,7 @@
- +

Нет аккаунта? Зарегистрироваться diff --git a/frontend/js/app.js b/frontend/js/app.js index ab5ed8d..a885e77 100644 --- a/frontend/js/app.js +++ b/frontend/js/app.js @@ -87,6 +87,7 @@ function initAuth() { const authForm = document.getElementById('auth-form'); const toggleBtn = document.getElementById('auth-toggle'); const title = document.getElementById('auth-title'); + const submitBtn = document.getElementById('auth-submit-btn'); const logoutBtn = document.getElementById('logout-btn'); toggleBtn.addEventListener('click', (e) => { @@ -94,6 +95,7 @@ function initAuth() { isLoginMode = !isLoginMode; title.textContent = isLoginMode ? 'Вход в систему' : 'Регистрация'; toggleBtn.textContent = isLoginMode ? 'Нет аккаунта? Зарегистрироваться' : 'Уже есть аккаунт? Войти'; + submitBtn.textContent = isLoginMode ? 'Войти' : 'Зарегистрироваться'; }); authForm.addEventListener('submit', async (e) => { @@ -110,6 +112,7 @@ function initAuth() { isLoginMode = true; title.textContent = 'Вход в систему'; toggleBtn.textContent = 'Нет аккаунта? Зарегистрироваться'; + submitBtn.textContent = 'Войти'; return; } window.location.reload();