import sqlite3 from fastapi import FastAPI # 📁 Dateiname der Datenbank DB_NAME = "hangman.db" # 🛠️ Datenbank-Hilfsfunktionen def get_db_connection(): """Erstellt eine Verbindung zur SQLite-Datenbank.""" conn = sqlite3.connect(DB_NAME) conn.row_factory = sqlite3.Row return conn # 💡 Initialisiere die FastAPI-Anwendung (ohne Lifespan/Init-Logik) app = FastAPI() @app.get("/random_word") def get_random_word(): """ Holt ein zufälliges Wort direkt aus der SQL-Datenbank. """ try: conn = get_db_connection() cursor = conn.cursor() # SQL-Magie: Wählt zufällig eine Zeile aus der Datenbank cursor.execute('SELECT word FROM words ORDER BY RANDOM() LIMIT 1') result = cursor.fetchone() conn.close() if result: return {"word": result["word"]} else: return {"error": "Keine Wörter in der Datenbank gefunden (Bitte init.py ausführen)."} except sqlite3.OperationalError: # Fängt den Fall ab, dass die Tabelle noch nicht existiert return {"error": "Datenbankfehler: Wurde init.py ausgeführt?"}