Skip to main content

gitbundle_sdk/models/
user_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.4.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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}