mcsr_ranked_api/user/
mod.rs1use std::fmt::Debug;
2
3use serde::Deserialize;
4use serde_repr::Deserialize_repr;
5use uuid::Uuid;
6#[cfg(feature = "serialize")]
7use {serde::Serialize, serde_repr::Serialize_repr};
8
9use crate::types::{Elo, Rank};
10
11pub mod identifier;
12pub mod info;
13pub mod requests;
14#[cfg(test)]
15mod tests;
16
17#[cfg_attr(feature = "serialize", derive(Serialize_repr))]
18#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Deserialize_repr)]
19#[repr(u8)]
20pub enum SupporterTier {
21 None = 0,
22 Stone = 1,
23 Iron = 2,
24 Diamond = 3,
25}
26
27#[cfg_attr(feature = "serialize", derive(Serialize))]
29#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
30#[serde(rename_all = "camelCase")]
31pub struct UserProfile {
32 pub uuid: Uuid,
33 pub nickname: Box<str>,
34 #[serde(rename = "roleType")]
35 pub supporter_tier: SupporterTier,
36 #[serde(rename = "eloRate")]
37 pub elo: Option<Elo>,
38 #[serde(rename = "eloRank")]
39 pub rank: Option<Rank>,
40 pub country: Option<Box<str>>,
41}