gitbundle_sdk/models/
user_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct UserModel {
17 #[serde(rename = "created")]
18 pub created: i64,
19 #[serde(
20 rename = "display_name",
21 default,
22 with = "::serde_with::rust::double_option",
23 skip_serializing_if = "Option::is_none"
24 )]
25 pub display_name: Option<Option<String>>,
26 #[serde(rename = "email")]
27 pub email: String,
28 #[serde(rename = "id")]
29 pub id: i64,
30 #[serde(rename = "is_active")]
31 pub is_active: bool,
32 #[serde(rename = "is_admin")]
33 pub is_admin: bool,
34 #[serde(rename = "is_blocked")]
35 pub is_blocked: bool,
36 #[serde(rename = "name")]
37 pub name: String,
38 #[serde(
39 rename = "parent_id",
40 default,
41 with = "::serde_with::rust::double_option",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub parent_id: Option<Option<i64>>,
45 #[serde(
46 rename = "parent_type",
47 default,
48 with = "::serde_with::rust::double_option",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub parent_type: Option<Option<models::ParentResourceType>>,
52 #[serde(rename = "type")]
53 pub r#type: models::UserType,
54 #[serde(rename = "updated")]
55 pub updated: i64,
56}
57
58impl UserModel {
59 pub fn new(
60 created: i64,
61 email: String,
62 id: i64,
63 is_active: bool,
64 is_admin: bool,
65 is_blocked: bool,
66 name: String,
67 r#type: models::UserType,
68 updated: i64,
69 ) -> UserModel {
70 UserModel {
71 created,
72 display_name: None,
73 email,
74 id,
75 is_active,
76 is_admin,
77 is_blocked,
78 name,
79 parent_id: None,
80 parent_type: None,
81 r#type,
82 updated,
83 }
84 }
85}