1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct User {
16 #[serde(rename = "org_id", skip_serializing_if = "Option::is_none")]
17 pub org_id: Option<String>,
18 #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
19 pub server_id: Option<String>,
20 #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
21 pub email: Option<String>,
22 #[serde(rename = "autoalert", skip_serializing_if = "Option::is_none")]
23 pub autoalert: Option<bool>,
24 #[serde(rename = "authkey", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub authkey: Option<Option<String>>,
27 #[serde(rename = "invited_by", skip_serializing_if = "Option::is_none")]
28 pub invited_by: Option<String>,
29 #[serde(rename = "gpgkey", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub gpgkey: Option<Option<String>>,
31 #[serde(rename = "certif_public", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub certif_public: Option<Option<String>>,
33 #[serde(rename = "nids_sid", skip_serializing_if = "Option::is_none")]
34 pub nids_sid: Option<String>,
35 #[serde(rename = "termsaccepted", skip_serializing_if = "Option::is_none")]
36 pub termsaccepted: Option<bool>,
37 #[serde(rename = "newsread", skip_serializing_if = "Option::is_none")]
38 pub newsread: Option<String>,
39 #[serde(rename = "role_id", skip_serializing_if = "Option::is_none")]
40 pub role_id: Option<String>,
41 #[serde(rename = "change_pw", skip_serializing_if = "Option::is_none")]
43 pub change_pw: Option<ChangePw>,
44 #[serde(rename = "contactalert", skip_serializing_if = "Option::is_none")]
45 pub contactalert: Option<bool>,
46 #[serde(rename = "disabled", skip_serializing_if = "Option::is_none")]
47 pub disabled: Option<bool>,
48 #[serde(rename = "expiration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
49 pub expiration: Option<Option<String>>,
50 #[serde(rename = "current_login", skip_serializing_if = "Option::is_none")]
51 pub current_login: Option<String>,
52 #[serde(rename = "last_login", skip_serializing_if = "Option::is_none")]
53 pub last_login: Option<String>,
54 #[serde(rename = "force_logout", skip_serializing_if = "Option::is_none")]
55 pub force_logout: Option<bool>,
56 #[serde(rename = "date_created", skip_serializing_if = "Option::is_none")]
57 pub date_created: Option<String>,
58 #[serde(rename = "date_modified", skip_serializing_if = "Option::is_none")]
59 pub date_modified: Option<String>,
60 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
61 pub id: Option<String>,
62}
63
64impl User {
65 pub fn new() -> User {
66 User {
67 org_id: None,
68 server_id: None,
69 email: None,
70 autoalert: None,
71 authkey: None,
72 invited_by: None,
73 gpgkey: None,
74 certif_public: None,
75 nids_sid: None,
76 termsaccepted: None,
77 newsread: None,
78 role_id: None,
79 change_pw: None,
80 contactalert: None,
81 disabled: None,
82 expiration: None,
83 current_login: None,
84 last_login: None,
85 force_logout: None,
86 date_created: None,
87 date_modified: None,
88 id: None,
89 }
90 }
91}
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
94pub enum ChangePw {
95 #[serde(rename = "0")]
96 Variant0,
97 #[serde(rename = "1")]
98 Variant1,
99}
100
101impl Default for ChangePw {
102 fn default() -> ChangePw {
103 Self::Variant0
104 }
105}
106