pub async fn exercise_has_answer_files(
conn: &mut PgConnection,
exercise_id: Uuid,
) -> ModelResult<bool>Expand description
Whether the exercise has at least one file-typed answer whose files still exist.
Matches the rows get_answer_files_by_exercise_id would return, without reading them: the
caller only decides whether to offer the bulk download.