headless_lms_credit_registration/use_cases/mod.rs
1//! The application layer: one module per phase, and [`account_linking`] for the linking mail
2//! resend, each reading its rows, asking the study registry through its port, deciding, and writing
3//! the decision back.
4//!
5//! Use cases call the models crate directly and reach the study registry only through
6//! [`crate::registry::StudyRegistry`] or [`crate::registry::InteractiveStudyRegistry`]: Suotar's
7//! client, wire types, request ids, limiter and breakers are `runtime::suotar`'s.
8
9pub(crate) mod account_linking;
10pub(crate) mod batch_flow;
11pub(crate) mod config_validation;
12pub(crate) mod enrolment_discovery;
13pub(crate) mod import;
14pub(crate) mod ledger_snapshot;
15pub(crate) mod legacy_mirror;
16pub(crate) mod link_emails;
17mod mail_queue;
18pub(crate) mod materialize;
19pub(crate) mod preconditions;
20pub(crate) mod resolve_enrolments;
21pub(crate) mod retention_sweep;
22pub(crate) mod student_notifications;
23pub(crate) mod verify;