retrommo_fetch/
player.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4/// Represents a single player. Note that this struct is NOT the same as the one
5/// returned by leaderboard resulsts. This is explicitly when requesting a
6/// specific player, and contains much more information.
7#[derive(Debug, Deserialize, Serialize)]
8#[serde(rename_all = "camelCase")]
9pub struct Player {
10    pub rank: u64,
11    pub registered_at: DateTime<Utc>,
12    pub username: String,
13    pub time_played: f64,
14    pub permissions: u8,
15    pub lifetime_experience: u64,
16}
17
18impl std::fmt::Display for Player {
19    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
20        write!(
21            f,
22            "Username: {}\nExperience{} ({})\nRegistered: {}, Time Played: {}, Permission Rank: {}",
23            self.username,
24            self.lifetime_experience,
25            self.rank,
26            self.registered_at,
27            self.time_played,
28            self.permissions
29        )
30    }
31}