use super::serde_;
use crate::model::user_::UserCompact;
use serde::{Deserialize, Serialize};
use time::OffsetDateTime;
#[cfg(feature = "rkyv")]
use rkyv::{Archive, Deserialize as RkyvDeserialize, Serialize as RkyvSerialize};
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[cfg_attr(feature = "rkyv", derive(Archive, RkyvDeserialize, RkyvSerialize))]
pub struct SeasonalBackground {
pub url: String,
#[serde(rename = "user")]
pub artist: UserCompact,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[cfg_attr(feature = "rkyv", derive(Archive, RkyvDeserialize, RkyvSerialize))]
pub struct SeasonalBackgrounds {
#[serde(with = "serde_::datetime")]
#[cfg_attr(feature = "rkyv", with(super::rkyv_impls::DateTimeWrapper))]
pub ends_at: OffsetDateTime,
pub backgrounds: Vec<SeasonalBackground>,
}