librus_rs/structs/
users.rs1use serde::Deserialize;
4
5#[derive(Debug, Deserialize)]
7#[serde(rename_all = "PascalCase")]
8pub struct User {
9 pub id: i64,
11 pub account_id: String,
13 pub first_name: String,
15 pub last_name: String,
17 pub class: Option<UserClass>,
19 pub unit: Option<UserUnit>,
21 pub class_register_number: Option<i64>,
23 pub is_employee: bool,
25 pub group_id: i64,
27}
28
29#[derive(Debug, Deserialize)]
31#[serde(rename_all = "PascalCase")]
32pub struct UserClass {
33 pub id: i64,
35 pub url: String,
37 #[serde(rename = "UUID")]
39 pub uuid: String,
40}
41
42#[derive(Debug, Deserialize)]
44#[serde(rename_all = "PascalCase")]
45pub struct UserUnit {
46 pub id: i64,
48 pub url: String,
50}
51
52#[derive(Debug, Deserialize)]
53#[serde(rename_all = "PascalCase")]
54pub struct UserUrl {
55 pub url: String,
56}
57
58#[derive(Debug, Deserialize)]
59pub struct UserResources {
60 #[serde(rename = "Users\\IndividualEducationPeriods")]
61 pub users_individual_education_periods: UserUrl,
62 #[serde(rename = "Users\\CrossedOutStudents")]
63 pub users_crossed_out_students: UserUrl,
64 #[serde(rename = "..")]
65 pub root: UserUrl,
66}
67
68#[derive(Debug, Deserialize)]
70#[serde(rename_all = "PascalCase")]
71pub struct ResponseUser {
72 pub user: Option<User>,
74 pub resources: UserResources,
76 pub url: String,
78}