mcsr_ranked_api/user/
mod.rs

1use 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/// A user's profile
28#[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}