aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml5
-rw-r--r--README.md4
-rw-r--r--TODO1
-rw-r--r--src/database.rs3
-rw-r--r--src/main.rs6
5 files changed, 9 insertions, 10 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 21aef71..72ec6bd 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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"]}
diff --git a/README.md b/README.md
index be2fc96..58f9989 100644
--- a/README.md
+++ b/README.md
@@ -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>
diff --git a/TODO b/TODO
index 7121bc0..f997783 100644
--- a/TODO
+++ b/TODO
@@ -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")))
}