Expand description
The ledger as a course’s teacher surfaces show it, and what a teacher’s bulk retry may move.
Structs§
- Course
Module State Count - Live rows of one course grouped by module and state, with the preconditions a
pendingrow is waiting on and how many of each group the pipeline handed to support. - Teacher
Credit Registration - One ledger row as a teacher sees it: the raw state, the student’s identity and the unmasked verified student number, but never the study registry’s own error text.
- Teacher
Credit Registration Filters - The optional narrowings a teacher surface applies, all of them in SQL.
Functions§
- count_
by_ module_ and_ state_ for_ course - The course’s live rows per module and state, narrowed to one instance where the caller names one.
- count_
submission_ uncertain_ by_ course_ id - How many of a course’s live rows a bulk retry has to refuse, all for the one remaining reason: the submission may have landed, so only a human may move that row.
- count_
teacher_ facing_ by_ course_ id - How many rows
get_teacher_facing_by_course_idwould return without a page limit. - get_
retryable_ ids_ by_ course_ id - The course’s live rows a bulk retry can actually move: failed for good, and not held open by
Suotar. Oldest first, capped by
limit. - get_
teacher_ facing_ attempts_ for_ completion - Every attempt for the same completion as
row, that one included, newest attempt first. - get_
teacher_ facing_ by_ course_ id - The course’s ledger rows as the teacher surfaces show them, newest completion first.
- get_
teacher_ facing_ by_ id - One row for a teacher surface, by id.
Nonewhen no such live row exists. - search_
pattern_ 🔒of - Lowercased and with metacharacters escaped, so a search for
%matches a literal one. - teacher_
facing_ 🔒page - The one query behind every teacher-facing read, so a filter wired into a page cannot be missed
in its count.
total_countis computed before the limit, which is why the count reads it withlimit = 1.