pdf-quiz-generator/backend/app/routers
Daniel 963ca04cf8
Some checks failed
Tests / backend (push) Failing after 7s
Tests / frontend (push) Successful in 30s
Tests / e2e (push) Failing after 33s
feat: no account creation here — the provider makes accounts
Gone: /auth/register, /auth/signup-policy, POST /admin/users, the
RegisterPage, the register half of the landing modal, the Register
button, the "Sign up" link, the "Create an account" hero button, and the
UserCreate schema. /register redirects to /login for anybody holding a
bookmark. A first admin on a fresh install still comes from
DEFAULT_ADMIN_EMAIL at startup, so nothing is locked out.

And no flash of the old way in. Both sign-in surfaces defaulted to "no
provider" and drew the email form while /auth/sso/config was in flight,
then swapped it — so a reload showed a form that does not exist, briefly,
every time. They render nothing until the answer arrives. The landing
modal is now one button, "Sign in with PedsHub SSO", with no sentence
under it: the button already says where you are going.

Also, the section strip takes the width it has. It sat inside the 1200px
measure that keeps an article readable, so on a wide desktop the last
entries fell off the end and a scroll arrow appeared beside acres of
empty space. Verified at 1280, 1600 and 1920: ten links, no arrows.

And "Make a deck" comes out of the strip and the phone menu — that was
an over-reach on my part. The landing CTA keeps it, pointing at
app.pedshub.com/#resources, which is what was actually asked for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TqXevQJhxFrM7jJg82cgZN
2026-09-13 14:37:10 +02:00
..
__init__.py Initial commit: PDF Quiz Generator app 2026-03-30 20:04:53 +00:00
access.py fix: a role is not set here while the provider holds it 2026-09-13 14:04:16 +02:00
admin.py feat: no account creation here — the provider makes accounts 2026-09-13 14:37:10 +02:00
ai_mode.py fix: moderator flag in /auth/me, and AI Mode answers that go wrong 2026-09-12 23:05:55 +02:00
articles.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
attempts.py refactor: remove the LMS 2026-09-12 23:27:51 +02:00
auth.py feat: no account creation here — the provider makes accounts 2026-09-13 14:37:10 +02:00
categories.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
collections.py feat: articles are collectible, and Summary is a toggle 2026-09-12 14:52:20 +02:00
contact.py fix: the contact form's messages were readable by anyone 2026-09-12 22:37:28 +02:00
documents.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
drafts.py feat: extracted questions are staged, and only acceptance takes an id 2026-09-11 22:57:08 +02:00
exams.py feat: exams are a group you can build, with the board's own blueprint 2026-09-11 20:27:48 +02:00
favorites.py Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
feedback.py feat: question folders, per-section notes, and two feedback paths 2026-09-12 18:37:43 +02:00
flashcards.py fix: a schema promising an owner where the column now says NULL 2026-09-13 14:17:55 +02:00
folders.py feat: question folders, per-section notes, and two feedback paths 2026-09-12 18:37:43 +02:00
media.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
mynote.py Add persistent MyNote for quizzes 2026-05-12 17:51:23 +02:00
nextcloud.py Security hardening, async TeachChat, rate limit UX, unthrottle 2026-04-04 01:09:42 +02:00
public.py feat: the objective is not optional, and the site can count itself 2026-09-12 06:40:48 +02:00
question_categories.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
questions.py feat: the bank belongs to a role, not to a person 2026-09-13 13:26:25 +02:00
quizzes.py feat: jobs move to the workbench, with their logs and a way to clear them 2026-09-13 03:41:22 +02:00
search.py feat: rerank what a learner is shown, with Cohere through the proxy 2026-09-12 18:23:06 +02:00
share.py refactor: remove the LMS 2026-09-12 23:27:51 +02:00
study_plans.py feat: study plans built to the board's content outline 2026-09-11 21:40:17 +02:00
study_tools.py feat: a versioned API, refresh tokens, and an end-to-end stack that found four bugs 2026-09-13 01:23:38 +02:00
tags.py fix: put the disciplines and diseases back, and order Performance as shown 2026-09-12 05:39:22 +02:00
teach.py fix: WebP figures, the openai SDK removed, and a voice a site can add to 2026-09-12 17:13:05 +02:00
tts.py fix: a speech model is added with its voices, and Orpheus is sent where it works 2026-09-13 05:04:37 +02:00
uploads.py feat: a versioned API, refresh tokens, and an end-to-end stack that found four bugs 2026-09-13 01:23:38 +02:00