use chrono::Utc; use domain::models::GeneratedSchedule; use domain::value_objects::ChannelId; use domain::DomainResult; use super::deps::ScheduleDeps; use super::queries::GetActiveScheduleQuery; /// Fetch the schedule currently active at `now`. /// /// Returns `None` when no schedule covers the current time. pub async fn execute( deps: &ScheduleDeps, query: GetActiveScheduleQuery, ) -> DomainResult> { let channel_id = ChannelId::from(query.channel_id); deps.schedule_query.find_active(channel_id, Utc::now()).await } #[cfg(test)] #[path = "tests/get_active.rs"] mod tests;