pub async fn get_course_material_exercise_tasks(
    conn: &mut PgConnection,
    exercise_slide_id: Uuid,
    user_id: Option<Uuid>,
    fetch_service_info: impl Fn(Url) -> BoxFuture<'static, ModelResult<ExerciseServiceInfoApi>>
) -> ModelResult<Vec<CourseMaterialExerciseTask>>