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 #[serde(rename = "first_time_user")]
35 pub first_time_user: bool,
36 #[serde(rename = "role_source")]
37 pub role_source: RoleSource,
38 #[serde(rename = "disabled")]
39 pub disabled: bool,
40}
41
42impl GlobalUserInfo {
43 pub fn new(email: String, login_type: LoginType, super_admin: bool, verified: bool, first_time_user: bool, role_source: RoleSource, disabled: bool) -> GlobalUserInfo {
44 GlobalUserInfo {
45 email,
46 login_type,
47 super_admin,
48 devops: None,
49 verified,
50 name: None,
51 company: None,
52 username: None,
53 operator_only: None,
54 first_time_user,
55 role_source,
56 disabled,
57 }
58 }
59}
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum LoginType {
63 #[serde(rename = "password")]
64 Password,
65 #[serde(rename = "github")]
66 Github,
67}
68
69impl Default for LoginType {
70 fn default() -> LoginType {
71 Self::Password
72 }
73}
74#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
76pub enum RoleSource {
77 #[serde(rename = "manual")]
78 Manual,
79 #[serde(rename = "instance_group")]
80 InstanceGroup,
81}
82
83impl Default for RoleSource {
84 fn default() -> RoleSource {
85 Self::Manual
86 }
87}
88