leetcode_api/leetcode/resps/
user_data.rs1use 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}