headless_lms_credit_registration/use_cases/
preconditions.rs1use headless_lms_models::library::credit_registration::preconditions::{
5 PRECONDITIONS_LIMIT, recompute_preconditions,
6};
7use sqlx::PgPool;
8
9use crate::error::CreditRegistrationResult;
10use crate::workflow::Counts;
11use headless_lms_models::credit_registrations::RegistrationScope;
12
13pub(crate) async fn run(
14 pool: &PgPool,
15 scope: &RegistrationScope,
16) -> CreditRegistrationResult<Counts> {
17 let mut conn = pool.acquire().await?;
18 let moved = recompute_preconditions(&mut conn, scope, PRECONDITIONS_LIMIT).await?;
19 Ok(Counts::processed(moved))
20}