Skip to main content

artifacts/models/
rate_limits_data_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 RateLimitsDataSchema {
7    /// Rate limits for account endpoints.
8    #[serde(rename = "account")]
9    pub account: Box<models::RateLimitScopeSchema>,
10    /// Rate limits for data endpoints.
11    #[serde(rename = "data")]
12    pub data: Box<models::RateLimitScopeSchema>,
13    /// Rate limits for action endpoints.
14    #[serde(rename = "action")]
15    pub action: Box<models::RateLimitScopeSchema>,
16    /// Rate limits for the fight simulation endpoint. Only available for members.
17    #[serde(rename = "simulation")]
18    pub simulation: Box<models::RateLimitScopeSchema>,
19    /// Assistant daily usage. Only available for members.
20    #[serde(rename = "assistant", skip_serializing_if = "Option::is_none")]
21    pub assistant: Option<Box<models::RateLimitScopeSchema>>,
22}
23
24impl RateLimitsDataSchema {
25    pub fn new(
26        account: models::RateLimitScopeSchema,
27        data: models::RateLimitScopeSchema,
28        action: models::RateLimitScopeSchema,
29        simulation: models::RateLimitScopeSchema,
30    ) -> RateLimitsDataSchema {
31        RateLimitsDataSchema {
32            account: Box::new(account),
33            data: Box::new(data),
34            action: Box::new(action),
35            simulation: Box::new(simulation),
36            assistant: None,
37        }
38    }
39}