headless_lms_models::library::course_stats

Function unique_users_starting_history_by_instance

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

Get unique users starting counts with specified time granularity, grouped by course instance.

Returns a HashMap where keys are course instance IDs and values are vectors of user 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