Skip to main content

wekan_cli/command_result/
users.rs

1use super::UserBoardSummary;
2use serde::Serialize;
3
4#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
5pub struct UserDetail {
6    pub user_id: String,
7    pub username: Option<String>,
8    pub full_name: Option<String>,
9    pub emails: Vec<UserEmail>,
10    pub is_admin: Option<bool>,
11    pub login_disabled: Option<bool>,
12    pub authentication_method: Option<String>,
13    pub created_at: Option<String>,
14    pub modified_at: Option<String>,
15    pub last_connection_date: Option<String>,
16    pub organizations: Vec<UserOrganization>,
17    pub teams: Vec<UserTeam>,
18    pub boards: Vec<UserBoardMembership>,
19}
20
21#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
22pub struct UserEmail {
23    pub address: Option<String>,
24    pub verified: Option<bool>,
25}
26
27#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
28pub struct UserOrganization {
29    pub organization_id: Option<String>,
30    pub display_name: Option<String>,
31    pub is_admin: Option<bool>,
32}
33
34#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
35pub struct UserTeam {
36    pub team_id: Option<String>,
37    pub display_name: Option<String>,
38}
39
40#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
41pub struct UserBoardMembership {
42    pub board_id: String,
43    pub is_active: Option<bool>,
44    pub is_admin: Option<bool>,
45    pub is_no_comments: Option<bool>,
46    pub is_comment_only: Option<bool>,
47    pub is_worker: Option<bool>,
48    pub is_normal_assigned_only: Option<bool>,
49    pub is_comment_assigned_only: Option<bool>,
50    pub is_read_only: Option<bool>,
51    pub is_read_assigned_only: Option<bool>,
52}
53
54#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
55pub struct UserSummary {
56    pub user_id: String,
57    pub username: Option<String>,
58}
59
60#[derive(Debug, Eq, PartialEq, Serialize)]
61pub struct UserListSuccess {
62    pub users: Vec<UserSummary>,
63}
64
65#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
66pub struct UserCard {
67    pub card_id: String,
68    pub title: Option<String>,
69    pub board_id: Option<String>,
70    pub swimlane_id: Option<String>,
71    pub list_id: Option<String>,
72    pub due_at: Option<String>,
73    pub start_at: Option<String>,
74    pub end_at: Option<String>,
75    pub members: Vec<String>,
76    pub assignees: Vec<String>,
77}
78
79#[derive(Debug, Eq, PartialEq, Serialize)]
80pub struct UserCardsSuccess {
81    pub cards: Vec<UserCard>,
82}
83
84#[derive(Debug, Eq, PartialEq, Serialize)]
85pub struct UserBoardsSuccess {
86    pub user_id: String,
87    pub boards: Vec<UserBoardSummary>,
88}
89
90#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
91#[serde(rename_all = "snake_case")]
92pub enum UserCreateWarning {
93    #[serde(rename = "user_id_unavailable_in_wekan_v11_06")]
94    UserIdUnavailableInWekanV1106,
95}
96
97#[derive(Debug, Eq, PartialEq, Serialize)]
98pub struct UserCreateSuccess {
99    pub created: bool,
100    pub username: String,
101    pub email: String,
102    pub user_id: Option<String>,
103    pub warning: Option<UserCreateWarning>,
104}
105
106#[derive(Debug, Eq, PartialEq, Serialize)]
107pub struct UserOwnershipSuccess {
108    pub from_user_id: String,
109    pub to_user_id: String,
110    pub boards: Vec<UserBoardSummary>,
111}
112
113#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
114#[serde(rename_all = "snake_case")]
115pub enum UserLoginAction {
116    Disabled,
117    Enabled,
118}
119
120#[derive(Debug, Eq, PartialEq, Serialize)]
121pub struct UserLoginChangeSuccess {
122    pub action: UserLoginAction,
123    pub user: UserDetail,
124}
125
126#[derive(Debug, Eq, PartialEq, Serialize)]
127pub struct UserDeleteSuccess {
128    pub user_id: String,
129    pub deleted: bool,
130    pub deleted_current_user: bool,
131    pub credential_stored: bool,
132    pub local_credential_removed: bool,
133}