Function for the [`Commands::Daemon`] in the CLI.
(cmd: DaemonCommands)
| 4 | |
| 5 | /// Function for the [`Commands::Daemon`] in the CLI. |
| 6 | pub async fn daemon(cmd: DaemonCommands) -> Result<()> { |
| 7 | let daemon = daemon::Daemon::new(); |
| 8 | |
| 9 | match cmd { |
| 10 | DaemonCommands::Start => { |
| 11 | println!("{} Starting daemon...", style(INFO_PREFIX).cyan()); |
| 12 | match daemon.start() { |
| 13 | Ok(_) => println!("{} Daemon started successfully", style(SUCCESS_PREFIX).green()), |
| 14 | Err(e) => { |
| 15 | println!("{} Failed to start daemon: {}", style(ERROR_PREFIX).yellow(), style(&e).red()); |
| 16 | return Err(e); |
| 17 | }, |
| 18 | } |
| 19 | }, |
| 20 | DaemonCommands::Stop => { |
| 21 | println!("{} Stopping daemon...", style(WARNING_PREFIX).yellow()); |
| 22 | match daemon.stop() { |
| 23 | Ok(_) => println!("{} Daemon stopped", style(SUCCESS_PREFIX).green()), |
| 24 | Err(e) => { |
| 25 | println!("{} Failed to stop daemon: {}", style(ERROR_PREFIX).yellow(), style(&e).red()); |
| 26 | return Err(e); |
| 27 | }, |
| 28 | } |
| 29 | }, |
| 30 | DaemonCommands::Restart => { |
| 31 | println!("{} Restarting daemon...", style(INFO_PREFIX).cyan()); |
| 32 | match daemon.restart() { |
| 33 | Ok(_) => println!("{} Daemon restarted successfully", style(SUCCESS_PREFIX).green()), |
| 34 | Err(e) => { |
| 35 | println!( |
| 36 | "{} Failed to restart daemon: {}", |
| 37 | style(WARNING_PREFIX).yellow(), |
| 38 | style(&e).red() |
| 39 | ); |
| 40 | return Err(e); |
| 41 | }, |
| 42 | } |
| 43 | }, |
| 44 | DaemonCommands::Install => { |
| 45 | println!("{} Installing daemon service...", style(INFO_PREFIX).cyan()); |
| 46 | match daemon.install() { |
| 47 | Ok(_) => { |
| 48 | println!("{} Daemon service installed", style(SUCCESS_PREFIX).green()); |
| 49 | daemon_install_prompt(&daemon); |
| 50 | }, |
| 51 | Err(e) => { |
| 52 | println!( |
| 53 | "{} Failed to install daemon: {}", |
| 54 | style(WARNING_PREFIX).yellow(), |
| 55 | style(&e).red() |
| 56 | ); |
| 57 | return Err(e); |
| 58 | }, |
| 59 | } |
| 60 | }, |
| 61 | DaemonCommands::Uninstall => { |
| 62 | println!("{} Removing daemon service...", style(WARNING_PREFIX).yellow()); |
| 63 | match daemon.uninstall() { |