cortex_client/models/
user.rs

1/*
2 * Cortex API
3 *
4 * API for Cortex, a powerful observable analysis and active response engine.
5 *
6 * The version of the OpenAPI document: 3.1.8
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct User {
16    /// User ID (same as login).
17    #[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
18    pub _id: Option<String>,
19    #[serde(rename = "login", skip_serializing_if = "Option::is_none")]
20    pub login: Option<String>,
21    /// Full name.
22    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
23    pub name: Option<String>,
24    #[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
25    pub roles: Option<Vec<Roles>>,
26    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
27    pub status: Option<Status>,
28    #[serde(rename = "avatar", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29    pub avatar: Option<Option<String>>,
30    /// User preferences as a JSON object.
31    #[serde(rename = "preferences", skip_serializing_if = "Option::is_none")]
32    pub preferences: Option<std::collections::HashMap<String, serde_json::Value>>,
33    #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
34    pub organization: Option<String>,
35    /// Indicates if the user has an API key.
36    #[serde(rename = "hasKey", skip_serializing_if = "Option::is_none")]
37    pub has_key: Option<bool>,
38    /// Indicates if the user has a password set.
39    #[serde(rename = "hasPassword", skip_serializing_if = "Option::is_none")]
40    pub has_password: Option<bool>,
41}
42
43impl User {
44    pub fn new() -> User {
45        User {
46            _id: None,
47            login: None,
48            name: None,
49            roles: None,
50            status: None,
51            avatar: None,
52            preferences: None,
53            organization: None,
54            has_key: None,
55            has_password: None,
56        }
57    }
58}
59/// 
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum Roles {
62    #[serde(rename = "read")]
63    Read,
64    #[serde(rename = "analyze")]
65    Analyze,
66    #[serde(rename = "orgadmin")]
67    Orgadmin,
68    #[serde(rename = "superadmin")]
69    Superadmin,
70}
71
72impl Default for Roles {
73    fn default() -> Roles {
74        Self::Read
75    }
76}
77/// 
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
79pub enum Status {
80    #[serde(rename = "Ok")]
81    Ok,
82    #[serde(rename = "Locked")]
83    Locked,
84}
85
86impl Default for Status {
87    fn default() -> Status {
88        Self::Ok
89    }
90}
91