Skip to main content

Module course_module_suotar_realisations

Module course_module_suotar_realisations 

Source

Structs§

CourseModuleSuotarRealisation
RealisationDiscoveryReport
One active realisation’s counters from its last successful discovery run, and whether the attempts since then have been failing. Point-in-time, not a windowed sum: the phase overwrites the row whole, so every surface rendering them has to say so.
RealisationListingOutcome
Outcome counters for one enrolment-discovery run over one realisation. Written whole, so the dashboard never mixes two runs.
RealisationToList
A realisation and the module facts a list-by-course request for it needs.

Functions§

claim_stalest_for_listing
Claims the realisations one discovery iteration takes, stalest attempt first.
get_active_discovery_reports
get_active_for_course
Every active realisation of one course, unpaginated: unlike claim_stalest_for_listing, which pages by staleness for the scheduler, this one must not miss any of them.
get_by_course_id
get_by_course_module_id
listing_request_item_id
The id list-by-course echoes back for one realisation. Derived rather than stored, so the realisation stays greppable in both call logs without a ledger row.
mark_listing_failed
Records a listing attempt whose roster never arrived. last_listed_at and the counters keep describing the last roster that did, because zeroing them would make a failed listing read as an empty course.
realisations_for 🔒
Shared by get_by_course_module_id and get_by_course_id, which differ only in which of these is Some.
record_listing_outcome
replace_for_course_module
Makes the module’s live realisations exactly wanted, soft-deleting the rest rather than setting active = false, which means “configured but not polled now”.
soft_delete
sum_last_fast_track_name_mismatches
How many persons the last discovery run refused to fast-track because the registry’s name did not look like the matched account’s, summed over the active realisations.
upsert