pdf-quiz-generator/backend/app/routers
Daniel 7f1f14537b Security: fix SQL injection, add rate limiting, markdown in TeachChat
- teach.py, questions.py: replace f-string SQL with parameterized CAST(:vec AS vector) queries
- auth.py: add reusable check_rate_limit() Redis helper
- teach.py: rate limit /chat to 30 req/10min per user
- tts.py: rate limit /speak to 60 req/hr per user
- teach.py: stronger system prompt — no clarifying questions, use markdown, answer directly
- TeachChat.jsx: render assistant messages with ReactMarkdown (already in package.json)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 00:45:28 +02:00
..
__init__.py Initial commit: PDF Quiz Generator app 2026-03-30 20:04:53 +00:00
admin.py TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00
attempts.py TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00
auth.py Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
categories.py Major: categories, question bank, security fixes, mobile layout, UX improvements 2026-03-31 20:08:05 +02:00
documents.py UI overhaul, bug fixes, section delete, category at extraction 2026-04-01 01:12:19 +02:00
favorites.py Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
nextcloud.py Fix 5 bugs: dashboard stats, document access, Nextcloud filename, upload tab, results colours 2026-03-31 19:17:46 +02:00
question_categories.py Fix question bank: select-all, bulk category, page size, category delete 2026-04-01 02:55:25 +02:00
questions.py Security: fix SQL injection, add rate limiting, markdown in TeachChat 2026-04-04 00:45:28 +02:00
quizzes.py Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
teach.py Security: fix SQL injection, add rate limiting, markdown in TeachChat 2026-04-04 00:45:28 +02:00
tts.py Security: fix SQL injection, add rate limiting, markdown in TeachChat 2026-04-04 00:45:28 +02:00