1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * Firefly III API
 *
 * This is the official documentation of the Firefly III API. You can find accompanying documentation on the website of Firefly III itself (see below). Please report any bugs or issues. This version of the API is live from version v4.7.9 and onwards. You may use the \"Authorize\" button to try the API below. 
 *
 * The version of the OpenAPI document: 0.10.4
 * Contact: thegrumpydictator@gmail.com
 * Generated by: https://openapi-generator.tech
 */


use serde::{Deserialize, Serialize};



#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct User {
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    /// The new users email address.
    #[serde(rename = "email")]
    pub email: String,
    /// Boolean to indicate if the user is blocked.
    #[serde(rename = "blocked", skip_serializing_if = "Option::is_none")]
    pub blocked: Option<bool>,
    /// If you say the user must be blocked, this will be the reason code.
    #[serde(rename = "blocked_code", skip_serializing_if = "Option::is_none")]
    pub blocked_code: Option<BlockedCode>,
    /// Role for the new user. Can be empty or omitted.
    #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
    pub role: Option<Role>,
}

impl User {
    pub fn new(email: String) -> User {
        User {
            created_at: None,
            updated_at: None,
            email,
            blocked: None,
            blocked_code: None,
            role: None,
        }
    }
}

/// If you say the user must be blocked, this will be the reason code.
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum BlockedCode {
    #[serde(rename = "email_changed")]
    EmailChanged,
}
/// Role for the new user. Can be empty or omitted.
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum Role {
    #[serde(rename = "owner")]
    Owner,
    #[serde(rename = "demo")]
    Demo,
}