artifacts-rs 1.8.0

Rust client for Artifacts
Documentation
use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct RateLimitsDataSchema {
    /// Rate limits for account endpoints.
    #[serde(rename = "account")]
    pub account: Box<models::RateLimitScopeSchema>,
    /// Rate limits for data endpoints.
    #[serde(rename = "data")]
    pub data: Box<models::RateLimitScopeSchema>,
    /// Rate limits for action endpoints.
    #[serde(rename = "action")]
    pub action: Box<models::RateLimitScopeSchema>,
    /// Rate limits for the fight simulation endpoint. Only available for members.
    #[serde(rename = "simulation")]
    pub simulation: Box<models::RateLimitScopeSchema>,
    /// Assistant daily usage. Only available for members.
    #[serde(rename = "assistant", skip_serializing_if = "Option::is_none")]
    pub assistant: Option<Box<models::RateLimitScopeSchema>>,
}

impl RateLimitsDataSchema {
    pub fn new(
        account: models::RateLimitScopeSchema,
        data: models::RateLimitScopeSchema,
        action: models::RateLimitScopeSchema,
        simulation: models::RateLimitScopeSchema,
    ) -> RateLimitsDataSchema {
        RateLimitsDataSchema {
            account: Box::new(account),
            data: Box::new(data),
            action: Box::new(action),
            simulation: Box::new(simulation),
            assistant: None,
        }
    }
}