cortex_client/models/
user_create_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct UserCreateRequest {
16 #[serde(rename = "login")]
17 pub login: String,
18 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
19 pub name: Option<String>,
20 #[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
21 pub roles: Option<Vec<Roles>>,
22 #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
23 pub organization: Option<String>,
24 #[serde(rename = "password", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub password: Option<Option<String>>,
26 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
27 pub status: Option<Status>,
28 #[serde(rename = "preferences", skip_serializing_if = "Option::is_none")]
29 pub preferences: Option<std::collections::HashMap<String, serde_json::Value>>,
30 #[serde(rename = "avatar", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub avatar: Option<Option<String>>,
33}
34
35impl UserCreateRequest {
36 pub fn new(login: String) -> UserCreateRequest {
37 UserCreateRequest {
38 login,
39 name: None,
40 roles: None,
41 organization: None,
42 password: None,
43 status: None,
44 preferences: None,
45 avatar: None,
46 }
47 }
48}
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
51pub enum Roles {
52 #[serde(rename = "read")]
53 Read,
54 #[serde(rename = "analyze")]
55 Analyze,
56 #[serde(rename = "orgadmin")]
57 Orgadmin,
58 #[serde(rename = "superadmin")]
59 Superadmin,
60}
61
62impl Default for Roles {
63 fn default() -> Roles {
64 Self::Read
65 }
66}
67#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
69pub enum Status {
70 #[serde(rename = "Ok")]
71 Ok,
72 #[serde(rename = "Locked")]
73 Locked,
74}
75
76impl Default for Status {
77 fn default() -> Status {
78 Self::Ok
79 }
80}
81