windmill_api/models/
global_user_info.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GlobalUserInfo {
16 #[serde(rename = "email")]
17 pub email: String,
18 #[serde(rename = "login_type")]
19 pub login_type: LoginType,
20 #[serde(rename = "super_admin")]
21 pub super_admin: bool,
22 #[serde(rename = "devops", skip_serializing_if = "Option::is_none")]
23 pub devops: Option<bool>,
24 #[serde(rename = "verified")]
25 pub verified: bool,
26 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
27 pub name: Option<String>,
28 #[serde(rename = "company", skip_serializing_if = "Option::is_none")]
29 pub company: Option<String>,
30 #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
31 pub username: Option<String>,
32 #[serde(rename = "operator_only", skip_serializing_if = "Option::is_none")]
33 pub operator_only: Option<bool>,
34}
35
36impl GlobalUserInfo {
37 pub fn new(email: String, login_type: LoginType, super_admin: bool, verified: bool) -> GlobalUserInfo {
38 GlobalUserInfo {
39 email,
40 login_type,
41 super_admin,
42 devops: None,
43 verified,
44 name: None,
45 company: None,
46 username: None,
47 operator_only: None,
48 }
49 }
50}
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum LoginType {
54 #[serde(rename = "password")]
55 Password,
56 #[serde(rename = "github")]
57 Github,
58}
59
60impl Default for LoginType {
61 fn default() -> LoginType {
62 Self::Password
63 }
64}
65