diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2020-05-18 21:27:30 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2020-05-18 21:27:30 +0200 |
commit | c44d69dcde20d6b200f7c2782a4ebbb848e2ed1f (patch) | |
tree | 92f07a1beeddd2b82972616a11670984376a168b /src/server.rs | |
parent | 75dadb51fee37579d5b02005096e0d9e7f26f87c (diff) |
Move app startup code to server part
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/server.rs')
-rw-r--r-- | src/server.rs | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/server.rs b/src/server.rs index f2df45c..0fc8e9b 100644 --- a/src/server.rs +++ b/src/server.rs @@ -8,7 +8,9 @@ use actix_web::Responder; use actix_web::http::StatusCode; use actix_web::body::Body; +use crate::app::App; use crate::cli::*; +use crate::configuration::Configuration; use crate::types::util::*; pub fn mk_lock() -> Pidlock { @@ -24,7 +26,26 @@ pub fn is_running(server_lock: &Pidlock) -> bool { } -pub async fn run_server(mut server_lock: Pidlock, adr: String) -> Result<()> { +pub async fn run_server(config: Configuration, mut server_lock: Pidlock, adr: String) -> Result<()> { + let app = { + let device_name = config.get_device_name(); + let device_key = config.get_device_key(); + + if let (Some(name), Some(key)) = (device_name, device_key) { + let name = IPNSHash::from(name.clone()); + let key = key.clone(); + let api_url = config.get_api_url().clone(); + let api_port = config.get_api_port().clone(); + + App::load(name, key, &api_url, api_port) + } else { + // ask user for name(s) + // boot repository + // load App object + unimplemented!() + } + }?; + info!("Starting server"); let _ = server_lock.acquire().map_err(|_| anyhow!("Error while getting the PID lock"))?; |