1use crate::client::metadata::*;
2use serde::Serialize;
3use serde_json::Number;
4use std::collections::BTreeMap;
5
6#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize)]
7pub struct UserProfileDetail {
8 pub chat_view_layout: Option<ChatViewLayout>,
9 pub email_to_card: Option<MemberEmailToCard>,
10 pub notification_delivery: Option<Box<MemberNotificationDelivery>>,
11 pub my_dependencies: Option<Vec<PersonalDependency>>,
12
13 pub notify_muted_activities: Option<Vec<String>>,
14 pub notify_override_tray: Option<bool>,
15 pub notify_override_email: Option<bool>,
16 pub webhook_hide_identity: Option<bool>,
17 pub unread_changes_since: Option<String>,
18 pub keep_title_tags: Option<bool>,
19 pub checklist_ding_sound: Option<bool>,
20 pub dismissed_board_announcements: Option<BTreeMap<String, String>>,
21 pub card_label_text_override: Option<bool>,
22 pub show_label_text_override: Option<bool>,
23 pub board_labels: Option<BTreeMap<String, Vec<String>>>,
24 pub hidden_boards: Option<Vec<String>>,
25 pub starred_swimlanes: Option<Vec<String>>,
26 pub starred_lists: Option<Vec<String>>,
27 pub starred_cards: Option<Vec<String>>,
28 pub default_board_template_id: Option<String>,
29 pub default_board_template_board_id: Option<String>,
30 pub board_views: Option<BTreeMap<String, String>>,
31 pub show_board_dependencies: Option<bool>,
32 pub show_my_dependencies: Option<bool>,
33 pub board_visits: Option<BTreeMap<String, String>>,
34 pub dismissed_rule_suggestions: Option<BTreeMap<String, Vec<String>>>,
35 pub date_format_override: Option<bool>,
36 pub full_name: Option<String>,
37 pub avatar_url: Option<String>,
38 pub email_buffer: Option<Vec<Option<String>>>,
39 pub show_desktop_drag_handles: Option<bool>,
40 pub left_menu_collapsed: Option<bool>,
41 pub collapsed_workspaces: Option<BTreeMap<String, bool>>,
42 pub left_menu_width: Option<Number>,
43 pub submit_on_enter: Option<bool>,
44 pub open_many_cards_at_once: Option<bool>,
45 pub all_boards_theme_tiles: Option<bool>,
46 pub global_theme_color: Option<String>,
47 pub global_theme_custom_colors: Option<Vec<Option<String>>>,
48 pub ui_font: Option<String>,
49 pub ui_font_size: Option<String>,
50 pub ui_text_color: Option<String>,
51 pub ui_text_bg_color: Option<String>,
52 pub dismissed_announcement_version: Option<String>,
53 pub card_maximized: Option<bool>,
54 pub card_collapsed: Option<bool>,
55 pub show_activities: Option<bool>,
56 pub custom_fields_grid: Option<bool>,
57 pub trello_api_saved: Option<bool>,
58 pub hidden_minicard_label_text: Option<bool>,
59 pub initials: Option<String>,
60 pub board_workspaces_tree: Option<Vec<UserWorkspaceNodeDetail>>,
61 pub board_workspace_assignments: Option<BTreeMap<String, String>>,
62 pub invited_boards: Option<Vec<Option<String>>>,
63 pub language: Option<String>,
64 pub map_provider: Option<String>,
65 pub move_and_copy_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
66 pub move_checklist_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
67 pub copy_checklist_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
68 pub notifications: Option<Vec<UserProfileNotificationDetail>>,
69 pub rescue_card_description: Option<bool>,
70 pub show_cards_count_at: Option<Number>,
71 pub start_day_of_week: Option<Number>,
72 pub starred_boards: Option<Vec<Option<String>>>,
73 pub starred_pages: Option<Vec<UserProfileStarredPageDetail>>,
74 pub default_board_id: Option<String>,
75 pub icode: Option<String>,
76 pub board_view: Option<String>,
77 pub list_sort_by: Option<String>,
78 pub all_boards_sort_by: Option<String>,
79 pub templates_board_id: Option<String>,
80 pub card_templates_swimlane_id: Option<String>,
81 pub list_templates_swimlane_id: Option<String>,
82 pub board_templates_swimlane_id: Option<String>,
83 pub sidebar_width: Option<Number>,
84 pub list_widths: Option<BTreeMap<String, BTreeMap<String, Number>>>,
85 pub list_constraints: Option<BTreeMap<String, BTreeMap<String, Number>>>,
86 pub auto_width_boards: Option<BTreeMap<String, bool>>,
87 pub board_sort_index: Option<BTreeMap<String, Number>>,
88 pub fixed_list_width_boards: Option<BTreeMap<String, bool>>,
89 pub fixed_list_widths: Option<BTreeMap<String, Number>>,
90 pub swimlane_heights: Option<BTreeMap<String, BTreeMap<String, Number>>>,
91 pub collapsed_lists: Option<BTreeMap<String, BTreeMap<String, bool>>>,
92 pub collapsed_swimlanes: Option<BTreeMap<String, BTreeMap<String, bool>>>,
93 pub collapsed_card_sections: Option<BTreeMap<String, BTreeMap<String, bool>>>,
94 pub keyboard_shortcuts: Option<bool>,
95 pub vertical_scrollbars: Option<bool>,
96 pub show_week_of_year: Option<bool>,
97 pub date_format: Option<String>,
98 pub mobile_mode: Option<bool>,
99 pub card_zoom: Option<Number>,
100 pub calendar_system: Option<String>,
101 pub collapsed_cards: Option<BTreeMap<String, BTreeMap<String, bool>>>,
102 pub card_last_views: Option<BTreeMap<String, String>>,
103}
104
105#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
106pub struct UserDialogOptionsDetail {
107 pub board_id: String,
108 pub swimlane_id: String,
109 pub list_id: String,
110 pub card_id: Option<String>,
111}
112
113#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
114pub struct UserWorkspaceNodeDetail {
115 pub id: Option<String>,
116 pub name: Option<String>,
117 pub icon: Option<String>,
118 pub children: Option<Vec<UserWorkspaceNodeDetail>>,
119}
120
121#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
122pub struct UserProfileNotificationDetail {
123 pub activity: String,
124 pub read: Option<String>,
125 pub show_at: Option<Number>,
126}
127
128#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
129pub struct UserProfileStarredPageDetail {
130 pub url: String,
131 pub title: String,
132}