Feature: In-game timer, anonymous leaderboard, witty tiered finale results, legal pages, button renames

This commit is contained in:
kobold-ai
2026-09-21 13:23:29 +02:00
parent 16bffa3be8
commit 26ff0660d3
12 changed files with 1508 additions and 74 deletions
+14
View File
@@ -41,9 +41,23 @@ class QuizSession(Base):
is_finished = Column(Boolean, default=False)
lang = Column(String(10), default="de") # 'de' or 'en'
difficulty = Column(String(20), default="all") # 'all', 'easy', 'medium', 'hard'
duration_seconds = Column(Integer, nullable=True)
created_at = Column(DateTime, default=datetime.datetime.utcnow)
finished_at = Column(DateTime, nullable=True)
class LeaderboardEntry(Base):
__tablename__ = "leaderboard_entries"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
nickname = Column(String(50), nullable=False, index=True)
score = Column(Integer, nullable=False, index=True)
total_questions = Column(Integer, default=10)
time_seconds = Column(Integer, nullable=False, index=True)
difficulty = Column(String(20), default="all", index=True)
lang = Column(String(10), default="de")
session_id = Column(String(36), nullable=True)
created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True)
class AdminUser(Base):
__tablename__ = "admin_users"