pdf-quiz-generator/backend/app
Daniel b39e09f393 Persist reminders_disabled in Postgres and harden reminder scheduler
- Add reminders_disabled boolean column to users (DB source of truth).
- Scheduler reads the DB column directly; Redis no longer used for
  opt-out checks.
- Scheduler now deactivates reminders when a user has no completed
  attempts left for a quiz (e.g., after deleting their attempts).
- Settings API: GET returns DB value for reminders_disabled; PUT
  persists that key to DB and keeps the rest of the blob in Redis.

Rollback point for Alembic wiring.
2026-04-14 04:31:03 +02:00
..
middleware Add comprehensive structured logging with Loki + Grafana 2026-04-11 02:53:54 +02:00
models Persist reminders_disabled in Postgres and harden reminder scheduler 2026-04-14 04:31:03 +02:00
routers Persist reminders_disabled in Postgres and harden reminder scheduler 2026-04-14 04:31:03 +02:00
schemas Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
services Add certificate generation, SCORM support, QTI export/import 2026-04-11 01:30:09 +02:00
tasks Add comprehensive structured logging with Loki + Grafana 2026-04-11 02:53:54 +02:00
utils Persist reminders_disabled in Postgres and harden reminder scheduler 2026-04-14 04:31:03 +02:00
__init__.py Initial commit: PDF Quiz Generator app 2026-03-30 20:04:53 +00:00
cli.py Fix CLI argument handling for all commands 2026-04-08 20:57:58 +02:00
config.py Add comprehensive structured logging with Loki + Grafana 2026-04-11 02:53:54 +02:00
database.py Tag filtering, multi-category, bug fixes, image validation, docs 2026-04-04 22:48:26 +02:00
logging_config.py Add comprehensive structured logging with Loki + Grafana 2026-04-11 02:53:54 +02:00
main.py Add comprehensive structured logging with Loki + Grafana 2026-04-11 02:53:54 +02:00