leetcode_api/leetcode/resps/
user_data.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Deserialize, Serialize)]
4#[derive(Debug)]
5#[derive(Default)]
6#[derive(Clone)]
7#[derive(PartialEq, Eq)]
8pub struct GlobData {
9    #[serde(default)]
10    data: UserStatusData,
11}
12
13impl GlobData {
14    pub fn user_status(self) -> UserStatus {
15        self.data.user_status
16    }
17}
18
19#[derive(Deserialize, Serialize)]
20#[derive(Debug)]
21#[derive(Default)]
22#[derive(Clone)]
23#[derive(PartialEq, Eq)]
24struct UserStatusData {
25    #[serde(default, alias = "userStatus")]
26    user_status: UserStatus,
27}
28
29#[derive(Deserialize, Serialize)]
30#[derive(Debug)]
31#[derive(Default)]
32#[derive(Clone)]
33#[derive(PartialEq, Eq)]
34pub struct UserStatus {
35    #[serde(default, alias = "activeSessionId")]
36    pub active_session_id: u32,
37    #[serde(default)]
38    pub avatar: Option<String>,
39    #[serde(default, alias = "checkedInToday")]
40    pub checked_in_today: bool,
41    #[serde(default, alias = "isAdmin")]
42    pub is_admin: bool,
43    #[serde(default, alias = "isPremium")]
44    pub is_premium: Option<bool>,
45    #[serde(default, alias = "isSignedIn")]
46    pub is_signed_in: bool,
47    #[serde(default, alias = "isSuperuser")]
48    pub is_superuser: bool,
49    #[serde(default, alias = "isTranslator")]
50    pub is_translator: bool,
51    #[serde(default, alias = "isVerified")]
52    pub is_verified: bool,
53    #[serde(default)]
54    pub permissions: Vec<String>,
55    #[serde(default, alias = "realName")]
56    pub real_name: Option<String>,
57    #[serde(default, alias = "userSlug")]
58    pub user_slug: Option<String>,
59    #[serde(default)]
60    pub username: String,
61}