1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
use crate::api::schema::{IntegrationInstallResult, IntegrationUninstallResult, ResponseResult};
use crate::app::App;
use super::responses::{encode_error, encode_success};
impl App {
pub(super) fn handle_integration_install(
&mut self,
id: String,
params: crate::api::schema::IntegrationInstallParams,
) -> String {
let target = params.target;
let messages = match crate::integration::install_target(target) {
Ok(messages) => messages,
Err(err) => return encode_error(id, "integration_install_failed", err.to_string()),
};
encode_success(
id,
ResponseResult::IntegrationInstall {
target,
details: IntegrationInstallResult { messages },
},
)
}
pub(super) fn handle_integration_uninstall(
&mut self,
id: String,
params: crate::api::schema::IntegrationUninstallParams,
) -> String {
let target = params.target;
let messages = match crate::integration::uninstall_target(target) {
Ok(messages) => messages,
Err(err) => return encode_error(id, "integration_uninstall_failed", err.to_string()),
};
encode_success(
id,
ResponseResult::IntegrationUninstall {
target,
details: IntegrationUninstallResult { messages },
},
)
}
}
|