Skip to main content

wekan_cli/command_result/
users.rs

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