MCPcopy Create free account
hub / github.com/BigBoot/AutoKuma / handle

Function handle

kuma-cli/src/monitor.rs:30–102  ·  view source on GitHub ↗
(command: &Option<Command>, config: &Config, cli: &Cli)

Source from the content-addressed store, hash-verified

28}
29
30pub(crate) async fn handle(command: &Option<Command>, config: &Config, cli: &Cli) {
31 match command {
32 Some(Command::Add { file }) => connect(config, cli)
33 .await
34 .pipe_borrow(|client| {
35 load_files::<Monitor>(file, cli).then(|values| {
36 join_all(values.into_iter().map(|value| client.add_monitor(value)))
37 })
38 })
39 .await
40 .into_iter()
41 .collect::<Result<Vec<_>>>()
42 .map(|result| result.into_iter().collect_or_unwrap())
43 .print_result(cli),
44
45 Some(Command::Edit { file }) => connect(config, cli)
46 .await
47 .pipe_borrow(|client| {
48 load_files::<Monitor>(file, cli).then(|values| {
49 join_all(values.into_iter().map(|value| client.edit_monitor(value)))
50 })
51 })
52 .await
53 .into_iter()
54 .collect::<Result<Vec<_>>>()
55 .map(|result| result.into_iter().collect_or_unwrap())
56 .print_result(cli),
57
58 Some(Command::Get { id }) => connect(config, cli)
59 .await
60 .pipe_borrow(|client| join_all(id.into_iter().map(|id| client.get_monitor(*id))))
61 .await
62 .into_iter()
63 .collect::<Result<Vec<_>>>()
64 .map(|result| result.into_iter().collect_or_unwrap())
65 .print_result(cli),
66
67 Some(Command::Delete { id }) => connect(config, cli)
68 .await
69 .pipe_borrow(|client| join_all(id.into_iter().map(|id| client.delete_monitor(*id))))
70 .await
71 .into_iter()
72 .collect::<Result<Vec<_>>>()
73 .map(|result| result.into_iter().collect_or_unwrap())
74 .print_result(cli),
75
76 Some(Command::List {}) => connect(config, cli)
77 .await
78 .get_monitors()
79 .await
80 .print_result(cli),
81
82 Some(Command::Resume { id }) => connect(config, cli)
83 .await
84 .pipe_borrow(|client| join_all(id.into_iter().map(|id| client.resume_monitor(*id))))
85 .await
86 .into_iter()
87 .collect::<Result<Vec<_>>>()

Callers

nothing calls this directly

Calls 10

connectFunction · 0.85
print_resultMethod · 0.80
add_monitorMethod · 0.80
collect_or_unwrapMethod · 0.80
edit_monitorMethod · 0.80
get_monitorMethod · 0.80
delete_monitorMethod · 0.80
resume_monitorMethod · 0.80
pause_monitorMethod · 0.80
get_monitorsMethod · 0.45

Tested by

no test coverage detected