From 276255f5a20fa05a005e765287239ca5ffe439e4 Mon Sep 17 00:00:00 2001 From: Cara Salter Date: Thu, 9 Jun 2022 10:28:42 -0400 Subject: planets: State manipulation --- src/main.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 8fbd0ff..742113e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,11 +2,12 @@ use axum::{ error_handling::HandleErrorLayer, http::StatusCode, response::IntoResponse, - routing::get, + routing::{get, post}, Json, Router }; use serde::{Deserialize, Serialize}; +use solarlib::star::Star; use std::{net::SocketAddr, time::Duration, str::FromStr}; use tower::{BoxError, ServiceBuilder}; @@ -33,6 +34,10 @@ async fn main() { let app = Router::new() .route("/health", get(health_check)) .route("/planets/list", get(handlers::planets::list)) + .route("/planets/:uuid", get(handlers::planets::get)) + .route("/planets/:uuid/shutdown", post(handlers::planets::shutdown)) + .route("/planets/:uuid/start", post(handlers::planets::start)) + .route("/planets/:uuid/pause", post(handlers::planets::pause)) .layer( ServiceBuilder::new() .layer(HandleErrorLayer::new(|error: BoxError| async move { if error.is::() { @@ -61,3 +66,9 @@ async fn main() { async fn health_check() -> &'static str { "OK" } + +fn get_star() -> Result { + let con_url = std::env::var("QEMU_URL").unwrap_or("qemu:///system".to_string()); + + Ok(Star::new(con_url)?) +} -- cgit v1.2.3