feat(learner): progress, notes and exercise attempt API

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Lucas Winther
2026-10-30 03:24:16 +01:00
co-authored by Claude Opus 5.5
parent 5f85ce1d4b
commit 96c147e3a2
3 changed files with 184 additions and 0 deletions
@@ -5,6 +5,7 @@ import { json } from "./http";
import { adminRoutes } from "./admin";
import { libraryRoutes } from "./catalog";
import { lessonRoutes } from "./lesson";
import { userDataRoutes } from "./userdata";
/**
* The learner feature: auth, library, reader, notes, progress and exercises.
@@ -26,6 +27,7 @@ export function learnerFeature(ctx: ServerContext): Feature & { auth: AuthServic
...adminRoutes(ctx, auth.service.invalidate),
...libraryRoutes(ctx),
...lessonRoutes(ctx),
...userDataRoutes(ctx),
};
// Every handler waits for the learner migrations (a no-op once Phase 2 runs them in migrate()).
for (const methods of Object.values(routes)) {