diff options
-rw-r--r-- | Cargo.toml | 5 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | src/database.rs | 3 | ||||
-rw-r--r-- | src/main.rs | 6 |
5 files changed, 9 insertions, 10 deletions
@@ -9,7 +9,4 @@ edition = "2021" serde = "1.0.130" chrono = "0.4.23" sqlite = "0.30.4" - -[dependencies.rocket] -version = "0.5.0-rc.2" -features = ["json"] +rocket = {version = "0.5.0-rc.2", features = ["json"]} @@ -30,8 +30,10 @@ GET `/get_user/<id>` - Return type: JSON - Returns: <user> -GET `/get_user_by_name/<name>` +GET `/get_user_by_name` Gets a user from name +- Data type: JSON +- Data: `String` - Return type: JSON - Returns: <user> @@ -1,6 +1,5 @@ Authentication -Rework Response to be an enum Add Channels Add DM'ing diff --git a/src/database.rs b/src/database.rs index 0671594..b231675 100644 --- a/src/database.rs +++ b/src/database.rs @@ -191,7 +191,8 @@ impl Database { } pub fn get_user_by_name(&self, name: String) -> Option<User> { let query = "SELECT * FROM users WHERE username IS :name"; - let statement = self.db.prepare(query).unwrap().into_iter().bind::<&[(_, sqlite::Value)]>(&[(":name", name.into())]).unwrap(); + let statement = self.db.prepare(query).unwrap().into_iter() + .bind::<&[(_, sqlite::Value)]>(&[(":name", name.into())]).unwrap(); for row in statement.map(|row| row.unwrap()) { let username = row.read::<&str, _>("username"); diff --git a/src/main.rs b/src/main.rs index 86a6186..a387678 100644 --- a/src/main.rs +++ b/src/main.rs @@ -89,10 +89,10 @@ fn get_user(id: u64, db: &State<SharedDB>) -> Json<Response<User, &'static str>> None => Json(Response(Err("User not found"))) } } -#[get("/get_user_by_name/<name>")] -fn get_user_by_name(name: String, db: &State<SharedDB>) -> Json<Response<User, &'static str>> { +#[post("/get_user_by_name", format = "application/json", data="<name>")] +fn get_user_by_name(name: Json<String>, db: &State<SharedDB>) -> Json<Response<User, &'static str>> { let lock = db.sdb.lock().unwrap(); - match lock.get_user_by_name(name) { + match lock.get_user_by_name(name.0) { Some(n) => Json(Response(Ok(n))), None => Json(Response(Err("User not found"))) } |