Enable saving and loading LimitsConfiguration (#152)
Impl Serialize, Deserialize for LimitsConfiguration and children
This commit is contained in:
parent
1163b32460
commit
6f3bd04963
|
@ -1,11 +1,13 @@
|
||||||
use std::hash::Hash;
|
use std::hash::Hash;
|
||||||
|
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::Snowflake;
|
use crate::types::Snowflake;
|
||||||
|
|
||||||
/// The different types of ratelimits that can be applied to a request. Includes "Baseline"-variants
|
/// The different types of ratelimits that can be applied to a request. Includes "Baseline"-variants
|
||||||
/// for when the Snowflake is not yet known.
|
/// for when the Snowflake is not yet known.
|
||||||
/// See <https://discord.com/developers/docs/topics/rate-limits#rate-limits> for more information.
|
/// See <https://discord.com/developers/docs/topics/rate-limits#rate-limits> for more information.
|
||||||
#[derive(Clone, Copy, Eq, PartialEq, Debug, Default, Hash)]
|
#[derive(Clone, Copy, Eq, PartialEq, Debug, Default, Hash, Serialize, Deserialize)]
|
||||||
pub enum LimitType {
|
pub enum LimitType {
|
||||||
AuthRegister,
|
AuthRegister,
|
||||||
AuthLogin,
|
AuthLogin,
|
||||||
|
@ -25,7 +27,7 @@ pub enum LimitType {
|
||||||
/// Unlike [`RateLimits`], this struct shows the current ratelimits, not the rate limit
|
/// Unlike [`RateLimits`], this struct shows the current ratelimits, not the rate limit
|
||||||
/// configuration for the instance.
|
/// configuration for the instance.
|
||||||
/// See <https://discord.com/developers/docs/topics/rate-limits#rate-limits> for more information.
|
/// See <https://discord.com/developers/docs/topics/rate-limits#rate-limits> for more information.
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct Limit {
|
pub struct Limit {
|
||||||
pub bucket: LimitType,
|
pub bucket: LimitType,
|
||||||
pub limit: u64,
|
pub limit: u64,
|
||||||
|
|
|
@ -25,7 +25,7 @@ pub struct Instance {
|
||||||
pub client: Client,
|
pub client: Client,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct LimitsInformation {
|
pub struct LimitsInformation {
|
||||||
pub ratelimits: HashMap<LimitType, Limit>,
|
pub ratelimits: HashMap<LimitType, Limit>,
|
||||||
pub configuration: RateLimits,
|
pub configuration: RateLimits,
|
||||||
|
|
Loading…
Reference in New Issue