From c8db39dea2cf50dd1fa6c499600e09818b8db44a Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Wed, 29 Jan 2020 19:15:28 -0500 Subject: Add database support --- src/server.rs | 50 +++++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 19 deletions(-) (limited to 'src/server.rs') diff --git a/src/server.rs b/src/server.rs index 6f05afe..2c7baad 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,11 +1,17 @@ +use rocket::config; +use rocket::config::Environment; +use rocket::config::Value; use rocket::response; use rocket::State; use rocket_contrib::templates::Template; use std::collections::HashMap; -use crate::Config; use crate::strava; +pub struct Params { + pub base_url: String, +} + #[get("/")] fn index() -> Template { let mut context = HashMap::new(); @@ -15,30 +21,36 @@ fn index() -> Template { } #[get("/link_strava_callback?")] -fn link_strava_callback(config: State, code: String) -> Result { - strava::exchange_token( - &config.client_id, &config.client_secret, &code) +fn link_strava_callback( + config: State, + code: String, +) -> Result { + strava::exchange_token("&config.client_id", "&config.client_secret", &code) .map(|t| format!("{:#?}", t)) } #[get("/link_strava")] -fn link_strava(config: State) -> response::Redirect { - response::Redirect::to( - format!( - concat!( - "https://www.strava.com/oauth/authorize?", - "client_id={}&", - "response_type=code&", - "redirect_uri={}&", - "approval_prompt=force&", - "scope=read", - ), - config.client_id, - format!("{}/link_strava_callback", config.base_url)) - ) +fn link_strava(config: State) -> response::Redirect { + response::Redirect::to(format!( + concat!( + "https://www.strava.com/oauth/authorize?", + "client_id={}&", + "response_type=code&", + "redirect_uri={}&", + "approval_prompt=force&", + "scope=read", + ), + "config.client_id", + format!("{}/link_strava_callback", config.base_url) + )) } -pub fn start(config: Config) { +pub fn start(db_url: &str, config: Params) { + let mut database_config = HashMap::new(); + let mut databases = HashMap::new(); + database_config.insert("url", Value::from(db_url)); + databases.insert("db", Value::from(database_config)); + rocket::ignite() .manage(config) .mount("/", routes![index, link_strava, link_strava_callback]) -- cgit v1.2.3