aboutsummaryrefslogtreecommitdiff
path: root/comments/src
diff options
context:
space:
mode:
Diffstat (limited to 'comments/src')
-rw-r--r--comments/src/main.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/comments/src/main.rs b/comments/src/main.rs
index 287b89e..95cd9ae 100644
--- a/comments/src/main.rs
+++ b/comments/src/main.rs
@@ -135,16 +135,20 @@ struct PostComment {
capcha_answer: String,
}
+struct CapchaAnswer {
+ answer:String
+}
+
async fn post_comments(
State(ctx): State<Ctx>,
Form(post_comment): Form<PostComment>) -> Result<Redirect,(StatusCode,String)> {
let capcha_id: Uuid = post_comment.capcha_id.parse()
.map_err(|_| {(StatusCode::BAD_REQUEST, "Invalid capcha_id".to_string())})?;
- let ans: String = sqlx::query_as!("select answer from capchas where id = $1", capcha_id)
+ let ans: CapchaAnswer = sqlx::query_as!(CapchaAnswer, "select answer from capchas where id = $1", capcha_id)
.fetch_one(&ctx.pool)
.await
.map_err(internal_error)?;
- if post_comment.capcha_answer != ans {
+ if post_comment.capcha_answer != ans.answer {
return Err((StatusCode::BAD_REQUEST, "Capcha was wrong!".to_string()));
}
sqlx::query!("insert into comments(url,author,comment) values($1, $2, $3)", post_comment.url, post_comment.author, post_comment.comment)