Function first_exercise_submissions_by_module

Source
pub async fn first_exercise_submissions_by_module(
    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 module.

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

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

Get first exercise submission counts grouped by course module, with specified time granularity (year/month/day) and time window.

Returns: HashMap<module_id, Vec>

A CountResult contains: period: DateTime count: i64