Skip to main content

wekan_cli/command_result/
custom_fields.rs

1use serde::Serialize;
2
3#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
4pub struct CustomFieldSummary {
5    pub custom_field_id: String,
6    pub name: String,
7    pub field_type: String,
8}
9#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
10pub struct CustomFieldDropdownItem {
11    pub item_id: String,
12    pub name: String,
13}
14#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
15pub struct CustomFieldSettings {
16    pub jira_time_field: Option<String>,
17    pub jira_estimate_field_id: Option<String>,
18    pub jira_estimate_unit: Option<String>,
19    pub currency_code: Option<String>,
20    pub dropdown_items: Option<Vec<CustomFieldDropdownItem>>,
21    pub stringtemplate_format: Option<String>,
22    pub stringtemplate_separator: Option<String>,
23}
24#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
25pub struct CustomFieldDetail {
26    pub custom_field_id: String,
27    pub board_ids: Vec<String>,
28    pub name: String,
29    pub field_type: String,
30    pub settings: CustomFieldSettings,
31    pub show_on_card: bool,
32    pub automatically_on_card: bool,
33    pub always_on_card: bool,
34    pub show_label_on_mini_card: bool,
35    pub show_sum_at_top_of_list: bool,
36    pub created_at: Option<String>,
37    pub modified_at: String,
38    pub card_kinds: Option<Vec<String>>,
39    pub read_only: Option<bool>,
40    pub admin_only: Option<bool>,
41    pub sort: Option<serde_json::Number>,
42}
43#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
44pub struct CustomFieldCollectionSuccess {
45    pub board_id: String,
46    pub custom_fields: Vec<CustomFieldSummary>,
47}
48#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
49pub struct CustomFieldCreateSuccess {
50    pub board_id: String,
51    pub custom_field_id: String,
52}
53#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
54pub struct CustomFieldUpdateSuccess {
55    pub board_id: String,
56    pub custom_field_id: String,
57    pub submitted_fields: Vec<CustomFieldSubmittedField>,
58}
59#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
60pub struct CustomFieldDeleteSuccess {
61    pub board_id: String,
62    pub custom_field_id: String,
63    pub delete_mode: CustomFieldDeleteMode,
64}
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
66#[serde(rename_all = "snake_case")]
67pub enum CustomFieldSubmittedField {
68    Name,
69    Type,
70    Settings,
71    ShowOnCard,
72    AutomaticallyOnCard,
73    AlwaysOnCard,
74    ShowLabelOnMiniCard,
75    ShowSumAtTopOfList,
76}
77#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
78#[serde(rename_all = "snake_case")]
79pub enum CustomFieldDeleteMode {
80    Hard,
81}