summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/main.rs23
1 files changed, 10 insertions, 13 deletions
diff --git a/server/src/main.rs b/server/src/main.rs
index 413545b..f4fec18 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -119,7 +119,7 @@ async fn project<'r>(
mut db: Connection<Db>,
_user: User,
projectid: u64,
-) -> Result<Json<api_model::Project>, NotFound<String>> {
+) -> Result<Json<api_model::Project>, NotFound<&'static str>> {
let members = sqlx::query!(
"SELECT id, username, name, active FROM users JOIN project_users ON project_users.user=users.id WHERE project_users.project=?",
projectid)
@@ -145,14 +145,13 @@ async fn project<'r>(
description: r.description,
members: members,
})
- .await
- .map_err(|e| NotFound(e.to_string()))
- .unwrap();
+ .map_err(|_| NotFound("No such project"))
+ .await?;
Ok(Json(project))
}
-#[get("/reviews/<projectid>?<limit>&<offset>")]
+#[get("/project/<projectid>/reviews?<limit>&<offset>")]
async fn reviews<'r>(
mut db: Connection<Db>,
_user: User,
@@ -202,13 +201,12 @@ async fn reviews<'r>(
})
}
-#[get("/review/<projectid>/<reviewid>")]
+#[get("/review/<reviewid>")]
async fn review<'r>(
mut db: Connection<Db>,
_user: User,
- projectid: u64,
reviewid: u64,
-) -> Result<Json<api_model::Review>, NotFound<String>> {
+) -> Result<Json<api_model::Review>, NotFound<&'static str>> {
let mut users = sqlx::query!(
"SELECT id,username,name,active,review_users.role AS role FROM users JOIN review_users ON review_users.user=id WHERE review_users.review=? ORDER BY role,username,id",
reviewid)
@@ -240,8 +238,8 @@ async fn review<'r>(
}
let review = sqlx::query!(
- "SELECT reviews.id AS id,title,description,state,progress,users.id AS user_id,users.username AS username,users.name AS name,users.active AS user_active FROM reviews JOIN users ON users.id=owner WHERE project=? AND reviews.id=?",
- projectid, reviewid)
+ "SELECT reviews.id AS id,title,description,state,progress,users.id AS user_id,users.username AS username,users.name AS name,users.active AS user_active FROM reviews JOIN users ON users.id=owner WHERE reviews.id=?",
+ reviewid)
.fetch_one(&mut **db)
.map_ok(|r| api_model::Review {
id: r.id,
@@ -258,9 +256,8 @@ async fn review<'r>(
state: api_model::ReviewState::try_from(r.state).unwrap(),
progress: r.progress,
})
- .await
- .map_err(|e| NotFound(e.to_string()))
- .unwrap();
+ .map_err(|_| NotFound("No such review"))
+ .await?;
Ok(Json(review))
}