1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ExtendedTaxonomyEntry {
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 = "events", skip_serializing_if = "Option::is_none")]
61 pub events: Option<f64>,
62 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
63 pub attributes: Option<f64>,
64}
65
66impl ExtendedTaxonomyEntry {
67 pub fn new() -> ExtendedTaxonomyEntry {
68 ExtendedTaxonomyEntry {
69 org_id: None,
70 server_id: None,
71 email: None,
72 autoalert: None,
73 authkey: None,
74 invited_by: None,
75 gpgkey: None,
76 certif_public: None,
77 nids_sid: None,
78 termsaccepted: None,
79 newsread: None,
80 role_id: None,
81 change_pw: None,
82 contactalert: None,
83 disabled: None,
84 expiration: None,
85 current_login: None,
86 last_login: None,
87 force_logout: None,
88 date_created: None,
89 date_modified: None,
90 events: None,
91 attributes: None,
92 }
93 }
94}
95#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
97pub enum ChangePw {
98 #[serde(rename = "0")]
99 Variant0,
100 #[serde(rename = "1")]
101 Variant1,
102}
103
104impl Default for ChangePw {
105 fn default() -> ChangePw {
106 Self::Variant0
107 }
108}
109