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