Expand description
What the credit registration pipeline keeps per course module, one row each: whether the last
configuration check accepted the module, whether its registration is paused, and how its last
enrolment-discovery listing went. ensure_exists creates the row the writers update.
Modules§
- config_
check 🔒 - The configuration check: what it reads about each module with a course code, and what it concluded.
- configuration 🔒
- The row itself, and the Courses tab’s overview of every module with a course code.
- listing 🔒
- Enrolment discovery’s per-module listing: which modules a roster request covers, and what the last listing of each found.
- pause 🔒
- Pausing and resuming a module’s credit registration.
Structs§
- Course
Module Suotar Configuration - Module
Discovery Report - One active module’s last successful listing, and whether the attempts since then have been failing.
- Module
ToList - An active module and the facts a
list-by-courserequest for it needs. - Suotar
Config Check - What one configuration check concluded.
Nonemeans the check could not reach an answer, which the dashboard renders as “unknown” rather than as a failure. - Suotar
Module Config Facts - Everything the per-module configuration check reads, gathered in one query so validating every module costs one pass rather than a fan-out per module.
- Suotar
Module Overview - A module with a course code as the Courses tab lists it: what it is configured with, what the last check concluded, and how much work it has produced.
- Suotar
Pause - Who paused a module’s credit registration, and why. One value rather than three arguments
because
course_module_suotar_configurations_pause_pairrejects a timestamp without an actor.
Functions§
- count_
modules_ failing_ config_ check - Modules with a course code the last check found broken. A module nothing has checked yet is not counted: unknown is not a failure.
- ensure_
exists - Gives the module a live configuration row, which the pause and config-check writers update.
- exists
- Whether the module already has a live configuration row. Lets a caller tell “nothing to store” apart from “the teacher cleared what was stored”, which look the same in an edit payload.
- get_
active_ discovery_ reports - Every active module’s listing status, for the account-linking dashboard.
- get_
active_ modules_ for_ course - Every active, listable module of one course, unpaginated.
- get_
config_ facts_ for_ modules_ with_ course_ code - The configuration facts of every module with a course code, optionally narrowed to one course. Paused modules are included: a paused module’s configuration is exactly what an operator is about to fix.
- get_
module_ ids_ failing_ config_ check - The modules
count_modules_failing_config_checkcounts. - get_
module_ overviews - Every module with a course code, one row each, ordered by course then module order.
- mark_
listing_ failed - Records a listing attempt whose roster never arrived.
last_listed_atkeeps describing the last roster that did, because a failed listing must not read as an empty course. - mark_
listing_ succeeded - Records a listing whose roster arrived and clears the failure streak.
fed_linkingis whether account linking was on for it; only then does it movelast_listed_at. Sibling ofmark_listing_failed. - record_
config_ check - Stamps the check result on the module, creating the configuration row for a module that has none: a module with a course code and no configuration is itself one of the problems being reported.
- set_
paused - Pauses or resumes the module. Every phase’s claim query skips a paused module, so pausing
freezes its ledger rows where they stand instead of cancelling them. Pausing a paused module
only updates who paused it and why.
Noneresumes, and moves the rows’ enrolment check schedules on by as long as the pause lasted.