diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc index 8c5da0e..026ad90 100644 Binary files a/__pycache__/app.cpython-313.pyc and b/__pycache__/app.cpython-313.pyc differ diff --git a/app.py b/app.py index bb6c1fe..c83e63c 100644 --- a/app.py +++ b/app.py @@ -354,6 +354,19 @@ def initialize_database(): db.session.commit() print("Admin-Benutzer wurde erstellt!") + # Prüfe, ob der "Wissen"-Knoten existiert, falls nicht, erstelle ihn + wissen_node = MindMapNode.query.filter_by(name="Wissen").first() + if not wissen_node: + wissen_node = MindMapNode( + name="Wissen", + description="Zentrale Wissensbasis", + color_code="#4299E1", + is_public=True + ) + db.session.add(wissen_node) + db.session.commit() + print("'Wissen'-Knoten wurde erstellt") + return True except Exception as e: print(f"Fehler bei Datenbank-Initialisierung: {e}") @@ -2464,9 +2477,10 @@ def get_mindmap_node(node_id): try: # Erkennen besonderer Knotennamen if node_id == 'root': - # Hauptknoten (Wissen) abrufen + # Hauptknoten (Wissen) abrufen - dieser sollte durch die Datenbank-Initialisierung bereits existieren wissen_node = MindMapNode.query.filter_by(name="Wissen").first() if not wissen_node: + # Fallback-Erstellung des Wissen-Knotens, falls er wider Erwarten nicht existiert wissen_node = MindMapNode( name="Wissen", description="Zentrale Wissensbasis", @@ -2475,6 +2489,8 @@ def get_mindmap_node(node_id): ) db.session.add(wissen_node) db.session.commit() + app.logger.warning("'Wissen'-Knoten musste während einer API-Anfrage erstellt werden. " + "Dies sollte normalerweise nicht vorkommen, da er bei der Initialisierung erstellt werden sollte.") # Alle direkten Kinder des Wissen-Knotens holen nodes = wissen_node.children.all() @@ -3140,6 +3156,19 @@ def initialize_app(): # Wir nutzen die initialize_database Funktion für Kategorien und Mindmap # Diese Funktionalität ist bereits dort implementiert initialize_database() + + # Zusätzliche Sicherheitsprüfung: Stelle sicher, dass der "Wissen"-Knoten existiert + wissen_node = MindMapNode.query.filter_by(name="Wissen").first() + if not wissen_node: + wissen_node = MindMapNode( + name="Wissen", + description="Zentrale Wissensbasis", + color_code="#4299E1", + is_public=True + ) + db.session.add(wissen_node) + db.session.commit() + print("'Wissen'-Knoten nachträglich erstellt") print("Datenbank wurde erfolgreich initialisiert.") except Exception as e: diff --git a/logs/app.log b/logs/app.log index 8c08c82..f34a411 100644 --- a/logs/app.log +++ b/logs/app.log @@ -409,3 +409,15 @@ Traceback (most recent call last): raise NotFound() from None werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:92] +2025-05-10 23:40:36,881 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:40:38,667 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:40:38,667 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:40:52,761 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:40:54,529 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:40:54,529 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:07,200 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:08,976 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:08,976 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:21,428 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:23,210 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-10 23:41:23,210 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76]