use crate::client::metadata::*;
use serde::Serialize;
use serde_json::Number;
use std::collections::BTreeMap;
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize)]
pub struct UserProfileDetail {
pub chat_view_layout: Option<ChatViewLayout>,
pub email_to_card: Option<MemberEmailToCard>,
pub notification_delivery: Option<Box<MemberNotificationDelivery>>,
pub my_dependencies: Option<Vec<PersonalDependency>>,
pub notify_muted_activities: Option<Vec<String>>,
pub notify_override_tray: Option<bool>,
pub notify_override_email: Option<bool>,
pub webhook_hide_identity: Option<bool>,
pub unread_changes_since: Option<String>,
pub keep_title_tags: Option<bool>,
pub checklist_ding_sound: Option<bool>,
pub dismissed_board_announcements: Option<BTreeMap<String, String>>,
pub card_label_text_override: Option<bool>,
pub show_label_text_override: Option<bool>,
pub board_labels: Option<BTreeMap<String, Vec<String>>>,
pub hidden_boards: Option<Vec<String>>,
pub starred_swimlanes: Option<Vec<String>>,
pub starred_lists: Option<Vec<String>>,
pub starred_cards: Option<Vec<String>>,
pub default_board_template_id: Option<String>,
pub default_board_template_board_id: Option<String>,
pub board_views: Option<BTreeMap<String, String>>,
pub show_board_dependencies: Option<bool>,
pub show_my_dependencies: Option<bool>,
pub board_visits: Option<BTreeMap<String, String>>,
pub dismissed_rule_suggestions: Option<BTreeMap<String, Vec<String>>>,
pub date_format_override: Option<bool>,
pub full_name: Option<String>,
pub avatar_url: Option<String>,
pub email_buffer: Option<Vec<Option<String>>>,
pub show_desktop_drag_handles: Option<bool>,
pub left_menu_collapsed: Option<bool>,
pub collapsed_workspaces: Option<BTreeMap<String, bool>>,
pub left_menu_width: Option<Number>,
pub submit_on_enter: Option<bool>,
pub open_many_cards_at_once: Option<bool>,
pub all_boards_theme_tiles: Option<bool>,
pub global_theme_color: Option<String>,
pub global_theme_custom_colors: Option<Vec<Option<String>>>,
pub ui_font: Option<String>,
pub ui_font_size: Option<String>,
pub ui_text_color: Option<String>,
pub ui_text_bg_color: Option<String>,
pub dismissed_announcement_version: Option<String>,
pub card_maximized: Option<bool>,
pub card_collapsed: Option<bool>,
pub show_activities: Option<bool>,
pub custom_fields_grid: Option<bool>,
pub trello_api_saved: Option<bool>,
pub hidden_minicard_label_text: Option<bool>,
pub initials: Option<String>,
pub board_workspaces_tree: Option<Vec<UserWorkspaceNodeDetail>>,
pub board_workspace_assignments: Option<BTreeMap<String, String>>,
pub invited_boards: Option<Vec<Option<String>>>,
pub language: Option<String>,
pub map_provider: Option<String>,
pub move_and_copy_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
pub move_checklist_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
pub copy_checklist_dialog: Option<BTreeMap<String, UserDialogOptionsDetail>>,
pub notifications: Option<Vec<UserProfileNotificationDetail>>,
pub rescue_card_description: Option<bool>,
pub show_cards_count_at: Option<Number>,
pub start_day_of_week: Option<Number>,
pub starred_boards: Option<Vec<Option<String>>>,
pub starred_pages: Option<Vec<UserProfileStarredPageDetail>>,
pub default_board_id: Option<String>,
pub icode: Option<String>,
pub board_view: Option<String>,
pub list_sort_by: Option<String>,
pub all_boards_sort_by: Option<String>,
pub templates_board_id: Option<String>,
pub card_templates_swimlane_id: Option<String>,
pub list_templates_swimlane_id: Option<String>,
pub board_templates_swimlane_id: Option<String>,
pub sidebar_width: Option<Number>,
pub list_widths: Option<BTreeMap<String, BTreeMap<String, Number>>>,
pub list_constraints: Option<BTreeMap<String, BTreeMap<String, Number>>>,
pub auto_width_boards: Option<BTreeMap<String, bool>>,
pub board_sort_index: Option<BTreeMap<String, Number>>,
pub fixed_list_width_boards: Option<BTreeMap<String, bool>>,
pub fixed_list_widths: Option<BTreeMap<String, Number>>,
pub swimlane_heights: Option<BTreeMap<String, BTreeMap<String, Number>>>,
pub collapsed_lists: Option<BTreeMap<String, BTreeMap<String, bool>>>,
pub collapsed_swimlanes: Option<BTreeMap<String, BTreeMap<String, bool>>>,
pub collapsed_card_sections: Option<BTreeMap<String, BTreeMap<String, bool>>>,
pub keyboard_shortcuts: Option<bool>,
pub vertical_scrollbars: Option<bool>,
pub show_week_of_year: Option<bool>,
pub date_format: Option<String>,
pub mobile_mode: Option<bool>,
pub card_zoom: Option<Number>,
pub calendar_system: Option<String>,
pub collapsed_cards: Option<BTreeMap<String, BTreeMap<String, bool>>>,
pub card_last_views: Option<BTreeMap<String, String>>,
}
#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
pub struct UserDialogOptionsDetail {
pub board_id: String,
pub swimlane_id: String,
pub list_id: String,
pub card_id: Option<String>,
}
#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
pub struct UserWorkspaceNodeDetail {
pub id: Option<String>,
pub name: Option<String>,
pub icon: Option<String>,
pub children: Option<Vec<UserWorkspaceNodeDetail>>,
}
#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
pub struct UserProfileNotificationDetail {
pub activity: String,
pub read: Option<String>,
pub show_at: Option<Number>,
}
#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
pub struct UserProfileStarredPageDetail {
pub url: String,
pub title: String,
}