summaryrefslogtreecommitdiff
path: root/src/serve.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/serve.rs')
-rw-r--r--src/serve.rs31
1 files changed, 20 insertions, 11 deletions
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/<name>/<url>")]
-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/<name>/<lobby>/<url>")]
+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/<name>")]
@@ -15,12 +15,21 @@ pub fn token(name: String) -> Result<Redirect, Error> {
Ok(Redirect::to(spotify::token(name)?))
}
-#[get("/match/<name1>/<name2>")]
-pub fn match_users(name1: String, name2: String) -> Result<String, Error> {
- database::match_users(name1, name2)
+#[get("/match/<lobby>/<names>")]
+pub fn match_users(lobby: String, names: String) -> Result<String, Error> {
+ //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<String, Error> {
- database::get_users()
+#[get("/users/<lobby>")]
+pub fn get_users(lobby: String) -> Result<String, Error> {
+ database::get_users(lobby.as_str())
+}
+
+//#[post("/lobby", format = "application/json", data = "<name>")]
+#[post("/lobby/<name>")]
+pub fn create_lobby(name: String) -> Result<String, Error> {
+ database::create_lobby(name.as_str())
}