use std::fmt;
use crate::endpoints::movie::MovieShort;
use crate::endpoints::person::PersonShort;
use crate::endpoints::search::MultiResult;
use crate::endpoints::tv::TvShort;
use crate::{Language, Page};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TimeWindow {
Day,
Week,
}
impl fmt::Display for TimeWindow {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(match self {
Self::Day => "day",
Self::Week => "week",
})
}
}
endpoint! {
trending_movies(window: TimeWindow): GET "/trending/movie/{window}" => Page<MovieShort> {
params { language: Language }
}
}
endpoint! {
trending_tv(window: TimeWindow): GET "/trending/tv/{window}" => Page<TvShort> {
params { language: Language }
}
}
endpoint! {
trending_people(window: TimeWindow): GET "/trending/person/{window}" => Page<PersonShort> {
params { language: Language }
}
}
endpoint! {
trending_all(window: TimeWindow): GET "/trending/all/{window}" => Page<MultiResult> {
params { language: Language }
}
}