use std::collections::HashMap; use crate::api::fetch_api; use crate::models::{DailySchedule, SuplError, SuplResult}; pub fn get_schedule_impl(provider_url: &str, class_name: String) -> Result { let resp = fetch_api(provider_url)?; let mut schedule_output = HashMap::new(); for (date, daily_data) in resp.schedule { if let Some(class_changes) = daily_data.changes.get(&class_name) { schedule_output.insert( date, DailySchedule { info: daily_data.info, changes: class_changes.clone(), absence: daily_data.absence, takes_place: daily_data.takes_place, }, ); } } Ok(SuplResult { status: resp.status, schedule: schedule_output, }) }