wekan_cli/command_result/
integrations.rs1use serde::Serialize;
2
3#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
4pub struct IntegrationDetail {
5 pub integration_id: String,
6 pub enabled: bool,
7 pub title: Option<String>,
8 pub integration_type: String,
9 pub activities: Vec<String>,
10 pub url: String,
11 pub board_id: String,
12 pub created_at: String,
13 pub modified_at: String,
14 pub user_id: String,
15}
16
17impl From<crate::client::integrations::IntegrationDocument> for IntegrationDetail {
18 fn from(d: crate::client::integrations::IntegrationDocument) -> Self {
19 Self {
20 integration_id: d.integration_id,
21 enabled: d.enabled,
22 title: d.title,
23 integration_type: d.integration_type,
24 activities: d.activities,
25 url: d.url,
26 board_id: d.board_id,
27 created_at: d.created_at,
28 modified_at: d.modified_at,
29 user_id: d.user_id,
30 }
31 }
32}
33
34#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
35pub struct IntegrationCollectionSuccess {
36 pub board_id: String,
37 pub integrations: Vec<IntegrationDetail>,
38}
39
40#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
41pub struct IntegrationCreateSuccess {
42 pub board_id: String,
43 pub integration_id: String,
44}
45
46#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
47#[serde(rename_all = "snake_case")]
48pub enum IntegrationSubmittedField {
49 Enabled,
50 Title,
51 Url,
52 Token,
53 Activities,
54}
55
56#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
57pub struct IntegrationUpdateSuccess {
58 pub board_id: String,
59 pub integration_id: String,
60 pub submitted_fields: Vec<IntegrationSubmittedField>,
61 pub mutation_confirmed: bool,
62}
63
64#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
65pub struct IntegrationDeleteSuccess {
66 pub board_id: String,
67 pub integration_id: String,
68 pub deletion_requested: bool,
69 pub mutation_confirmed: bool,
70}
71
72#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
73#[serde(rename_all = "snake_case")]
74pub enum IntegrationActivityAction {
75 Add,
76 Remove,
77}
78
79#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
80pub struct IntegrationActivityMutationSuccess {
81 pub board_id: String,
82 pub integration_id: String,
83 pub action: IntegrationActivityAction,
84 pub requested_activities: Vec<String>,
85 pub activities: Vec<String>,
86}