Skip to main content

headless_lms_models/library/credit_registration/
mod.rs

1//! The credit registration pipeline's rules, which the worker crate's phases apply.
2//!
3//! The pure half decides what each move does to a row (`outcomes`), how long to wait and what may
4//! be retried (`backoff`, `classification`), what gets registered (`payload`, `grade_mapping`,
5//! `enrolment_selection`), and what of an exchange may be kept (`scrub`). The rest are database steps
6//! the phases run, such as `materialize`, `preconditions`, `enrolment_checks` and `account_linking`.
7//! Every state change goes through `credit_registrations::transition`.
8
9pub mod account_linking;
10pub mod backoff;
11pub mod classification;
12pub mod config_validation;
13pub mod enrolment_check_schedule;
14pub mod enrolment_checks;
15pub mod enrolment_selection;
16pub mod grade_mapping;
17pub mod legacy_mirror;
18pub mod materialize;
19pub mod outcomes;
20pub mod payload;
21pub mod pending_reason;
22pub mod preconditions;
23pub mod scrub;
24pub mod sisu_day_gap;
25pub mod student_facing_status;
26pub mod student_notifications;
27pub mod student_number;
28pub mod student_number_change;
29pub mod study_registry;
30pub mod submission_context;
31
32// Only symbols reached from outside this module in more than one place are hoisted here; everything
33// else goes through its submodule's own path (`credit_registration::submodule::Item`).
34pub use pending_reason::{
35    CreditRegistrationPendingReason, PendingPreconditions, PendingReasonCounts,
36};
37pub use student_facing_status::{StageMatch, StudentFacingCreditRegistrationStatus};