headless_lms_models::library::course_stats

Function first_exercise_submissions_history_by_instance

Source
pub async fn first_exercise_submissions_history_by_instance(
    conn: &mut PgConnection,
    course_id: Uuid,
    granularity: TimeGranularity,
    time_window: u16,
) -> ModelResult<HashMap<Uuid, Vec<CountResult>>>
Expand description

Get first exercise submission counts with specified time granularity, grouped by course instance.

Returns a HashMap where keys are course instance IDs and values are vectors of submission counts over time for that instance.

The time_window parameter controls how far back to look:

  • For Year granularity: number of years
  • For Month granularity: number of months
  • For Day granularity: number of days