Bug fixing fehlende oder Fehlerhafte Module korrigiert

This commit is contained in:
Nirodan
2025-06-17 14:18:14 +02:00
parent 4c6872a866
commit e680776bc4
8 changed files with 62 additions and 7 deletions
+47
View File
@@ -0,0 +1,47 @@
import time
import os
from flask import Blueprint, request, render_template, redirect, jsonify
from util.db_config import load_config, save_config, test_connection, is_configured
from auth.setup_admin import initialize_admin_user
from util.logger import logger
setup_blueprint = Blueprint("setup", __name__, template_folder="../backend/templates")
MAX_WAIT = 30
WAIT_INTERVAL = 10
def wait_for_db():
elapsed = 0
config = load_config()
while not test_connection(config) and elapsed < MAX_WAIT:
logger.info(f"[SETUP] DB nicht erreichbar warte {WAIT_INTERVAL}s...")
time.sleep(WAIT_INTERVAL)
elapsed += WAIT_INTERVAL
return elapsed < MAX_WAIT
@setup_blueprint.route('/api/status')
def status():
if not is_configured():
return jsonify({"status": "init", "db_connected": False})
elif test_connection(load_config()):
return jsonify({"status": "ready", "db_connected": True})
else:
return jsonify({"status": "error", "db_connected": False})
@setup_blueprint.route('/setup', methods=['GET', 'POST'])
def setup():
if request.method == 'POST':
db_config = {
"host": request.form['host'],
"port": int(request.form['port']),
"user": request.form['user'],
"password": request.form['password'],
"database": request.form['database']
}
save_config(db_config)
if test_connection(db_config):
initialize_admin_user(db_config)
return redirect('/')
else:
return "Verbindung fehlgeschlagen. Bitte zurück und prüfen.", 500
return render_template('setup.html')