wekan_cli/command_result/
integrations.rs1use serde::Serialize;
2
3#[derive(Debug, Eq, PartialEq, Serialize)]
4pub struct InboundEmailReceipt {
5 pub resource_id: Option<String>,
6}
7
8impl From<crate::client::integrations::inbound_email::InboundEmailReceipt> for InboundEmailReceipt {
9 fn from(receipt: crate::client::integrations::inbound_email::InboundEmailReceipt) -> Self {
10 Self {
11 resource_id: receipt.resource_id,
12 }
13 }
14}
15
16#[derive(Debug, Eq, PartialEq, Serialize)]
17pub struct BounceReceipt {
18 pub ok: bool,
19 pub recorded: u64,
20}
21
22impl From<crate::client::integrations::inbound_email::BounceReceipt> for BounceReceipt {
23 fn from(receipt: crate::client::integrations::inbound_email::BounceReceipt) -> Self {
24 Self {
25 ok: receipt.ok,
26 recorded: receipt.recorded,
27 }
28 }
29}
30
31#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
32pub struct IntegrationDetail {
33 pub integration_id: String,
34 pub enabled: bool,
35 pub title: Option<String>,
36 pub integration_type: String,
37 pub activities: Vec<String>,
38 pub url: String,
39 pub board_id: String,
40 pub created_at: String,
41 pub modified_at: String,
42 pub user_id: String,
43 pub notification_delivery: Option<crate::client::integrations::WebhookNotificationDelivery>,
44 pub mattermost_direct_messages: Option<bool>,
45 pub bot: Option<bool>,
46}
47
48impl From<crate::client::integrations::IntegrationDocument> for IntegrationDetail {
49 fn from(d: crate::client::integrations::IntegrationDocument) -> Self {
50 Self {
51 integration_id: d.integration_id,
52 enabled: d.enabled,
53 title: d.title,
54 integration_type: d.integration_type,
55 activities: d.activities,
56 url: d.url,
57 board_id: d.board_id,
58 created_at: d.created_at,
59 modified_at: d.modified_at,
60 user_id: d.user_id,
61 notification_delivery: d.notification_delivery,
62 mattermost_direct_messages: d.mattermost_direct_messages,
63 bot: d.bot,
64 }
65 }
66}
67
68#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
69pub struct IntegrationCollectionSuccess {
70 pub board_id: String,
71 pub integrations: Vec<IntegrationDetail>,
72}
73
74#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
75pub struct IntegrationCreateSuccess {
76 pub board_id: String,
77 pub integration_id: String,
78}
79
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
81#[serde(rename_all = "snake_case")]
82pub enum IntegrationSubmittedField {
83 Enabled,
84 Title,
85 Url,
86 Token,
87 Activities,
88 NotificationDelivery,
89}
90
91#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
92pub struct IntegrationUpdateSuccess {
93 pub board_id: String,
94 pub integration_id: String,
95 pub submitted_fields: Vec<IntegrationSubmittedField>,
96}
97
98#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
99pub struct IntegrationDeleteSuccess {
100 pub board_id: String,
101 pub integration_id: String,
102}
103
104#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
105#[serde(rename_all = "snake_case")]
106pub enum IntegrationActivityAction {
107 Add,
108 Remove,
109}
110
111#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
112pub struct IntegrationActivityMutationSuccess {
113 pub board_id: String,
114 pub integration_id: String,
115 pub action: IntegrationActivityAction,
116 pub requested_activities: Vec<String>,
117 pub activities: Vec<String>,
118}