From 90a4cfacbb64750a6779995e91509588f78e9802 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Wed, 17 Feb 2021 21:22:58 +0100 Subject: Add lobby concept --- src/serve.rs | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/serve.rs') diff --git a/src/serve.rs b/src/serve.rs index 53a3cac..ee0e5ff 100644 --- a/src/serve.rs +++ b/src/serve.rs @@ -3,11 +3,11 @@ use crate::errors::Error; use crate::spotify; use rocket::response::Redirect; -#[get("/callback//")] -pub fn get_tracks(name: String, url: String) -> Result<(), Error> { - let (spotify_uid, spotify_client) = spotify::auth_user(name.as_ref(), url)?; - let uid = database::insert_user(spotify_uid.as_ref())?; - spotify::load_profile(uid, spotify_uid.as_ref(), spotify_client) +#[get("/callback///")] +pub async fn get_tracks(name: String, lobby: String, url: String) -> Result<(), Error> { + let (spotify_uid, spotify_client) = spotify::auth_user(name.as_ref(), url).await?; + let uid = database::insert_user(spotify_uid.as_ref(), lobby.as_ref())?; + spotify::load_profile(uid, spotify_uid.as_ref(), spotify_client).await } #[get("/token/")] @@ -15,12 +15,21 @@ pub fn token(name: String) -> Result { Ok(Redirect::to(spotify::token(name)?)) } -#[get("/match//")] -pub fn match_users(name1: String, name2: String) -> Result { - database::match_users(name1, name2) +#[get("/match//")] +pub fn match_users(lobby: String, names: String) -> Result { + //let bytes = base64::decode_config(names, base64::URL_SAFE).unwrap(); + //let names = String::from_utf8(bytes).unwrap(); + let names: Vec<&str> = names.split(',').collect(); + database::match_users(lobby, names.as_slice()) } -#[get("/user")] -pub fn get_users() -> Result { - database::get_users() +#[get("/users/")] +pub fn get_users(lobby: String) -> Result { + database::get_users(lobby.as_str()) +} + +//#[post("/lobby", format = "application/json", data = "")] +#[post("/lobby/")] +pub fn create_lobby(name: String) -> Result { + database::create_lobby(name.as_str()) } -- cgit v1.2.3-70-g09d2