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