Skip to main content

wekan_cli/command_result/
users.rs

1mod profile;
2mod tokens;
3use super::UserBoardSummary;
4pub use profile::{
5    UserProfileDetail, UserProfileNotificationDetail, UserProfileStarredPageDetail,
6    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(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
103#[serde(rename_all = "snake_case")]
104pub enum UserCreateWarning {
105    #[serde(rename = "user_id_unavailable_in_wekan_v11_06")]
106    UserIdUnavailableInWekanV1106,
107}
108
109#[derive(Debug, Eq, PartialEq, Serialize)]
110pub struct UserCreateSuccess {
111    pub created: bool,
112    pub username: String,
113    pub email: String,
114    pub user_id: Option<String>,
115    pub warning: Option<UserCreateWarning>,
116}
117
118#[derive(Debug, Eq, PartialEq, Serialize)]
119pub struct UserOwnershipSuccess {
120    pub from_user_id: String,
121    pub to_user_id: String,
122    pub boards: Vec<UserBoardSummary>,
123}
124
125#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
126#[serde(rename_all = "snake_case")]
127pub enum UserLoginAction {
128    Disabled,
129    Enabled,
130}
131
132#[derive(Debug, Eq, PartialEq, Serialize)]
133pub struct UserLoginChangeSuccess {
134    pub action: UserLoginAction,
135    pub user: UserDetail,
136}
137
138#[derive(Debug, Eq, PartialEq, Serialize)]
139pub struct UserDeleteSuccess {
140    pub user_id: String,
141    pub deleted: bool,
142    pub deleted_current_user: bool,
143    pub credential_stored: bool,
144    pub local_credential_removed: bool,
145}
146
147#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
148pub struct UserSessionData {
149    pub total_hits: Option<serde_json::Number>,
150}