pub async fn get_course_material_service_info_by_exercise_type(
    conn: &mut PgConnection,
    exercise_type: &str,
    fetch_service_info: impl Fn(Url) -> BoxFuture<'static, ModelResult<ExerciseServiceInfoApi>>
) -> ModelResult<Option<CourseMaterialExerciseServiceInfo>>
Expand description

Returns service info meant for the course material. If no service info is found and fetching it fails, we return None to indicate that the service info is unavailable.