1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub struct RateLimitStatus { pub limit: i32, pub remaining: i32, pub reset: i64, } impl RateLimitStatus { pub fn reset_date_time(&self) -> chrono::DateTime<chrono::Utc> { use chrono::TimeZone; chrono::Utc.timestamp(self.reset, 0) } } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct RateLimitStatusResponse { pub rate_limit_context: RateLimitContext, pub resources: HashMap<String, HashMap<String, RateLimitStatus>>, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct RateLimitContext { pub access_token: String, }