botx_api/api/v3/users/users_as_csv/
models.rs1use serde::{Serialize, Deserialize};
2use uuid::Uuid;
3
4use crate::bot::models::UserKind;
5
6#[derive(Debug, Serialize, Deserialize, Clone)]
8pub enum SyncSource {
9 #[serde(rename(serialize = "ad", deserialize = "ad"))]
10 Ad,
11 #[serde(rename(serialize = "admin", deserialize = "admin"))]
12 Admin,
13 #[serde(rename(serialize = "email", deserialize = "email"))]
14 Email,
15 #[serde(rename(serialize = "openid", deserialize = "openid"))]
16 OpenId,
17}
18
19#[derive(Debug, Serialize, Deserialize, Clone)]
21pub struct UserShortInfo {
22 #[serde(rename = "HUID")]
23 pub huid: Uuid,
24
25 #[serde(rename = "AD Login")]
26 pub ad_login: String,
27
28 #[serde(rename = "Domain")]
29 pub ad_domain: String,
30
31 #[serde(rename = "AD E-mail")]
32 pub ad_email: Option<String>,
33
34 #[serde(rename = "Name")]
35 pub name: String,
36
37 #[serde(rename = "Sync source")]
38 pub sync_source: SyncSource,
39
40 #[serde(rename = "Active")]
41 pub active: bool,
42
43 #[serde(rename = "Kind")]
44 pub kind: UserKind,
45
46 #[serde(rename = "Company")]
47 pub company: Option<String>,
48
49 #[serde(rename = "Department")]
50 pub department: Option<String>,
51
52 #[serde(rename = "Position")]
53 pub position: Option<String>,
54}
55
56#[derive(Debug, Serialize, Deserialize, Clone)]
58#[serde(tag = "reason")]
59pub enum GetUsersAsCsvError {
60 #[serde(rename(serialize = "no_user_kind_selected", deserialize = "no_user_kind_selected"))]
62 NoUserKindSelected(NoUserKindSelected),
63
64 #[serde(other)]
67 Other,
68}
69
70#[derive(Debug, Serialize, Deserialize, Clone)]
72pub struct NoUserKindSelected {
73 pub errors: Vec<String>,
75
76 pub error_data: NoUserKindSelectedData,
78}
79
80#[derive(Debug, Serialize, Deserialize, Clone)]
81pub struct NoUserKindSelectedData {
82}