Skip to main content

artifacts/models/
rate_limit_scope_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct RateLimitScopeSchema {
7    #[serde(rename = "second", skip_serializing_if = "Option::is_none")]
8    pub second: Option<Box<models::RateLimitWindowSchema>>,
9    #[serde(rename = "minute", skip_serializing_if = "Option::is_none")]
10    pub minute: Option<Box<models::RateLimitWindowSchema>>,
11    #[serde(rename = "hour", skip_serializing_if = "Option::is_none")]
12    pub hour: Option<Box<models::RateLimitWindowSchema>>,
13    #[serde(rename = "day", skip_serializing_if = "Option::is_none")]
14    pub day: Option<Box<models::RateLimitWindowSchema>>,
15}
16
17impl RateLimitScopeSchema {
18    pub fn new() -> RateLimitScopeSchema {
19        RateLimitScopeSchema {
20            second: None,
21            minute: None,
22            hour: None,
23            day: None,
24        }
25    }
26}