summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-01-20 18:39:45 -0500
committerDessalines <tyhou13@gmx.com>2020-01-20 18:39:45 -0500
commita964b4ce21cc19eb42ae4da1a1aef8bfc0a1df5c (patch)
treee1143d93855032c86090e8d153e55f7e778a7a17 /server/src
parent86871d17ac5d6aa14ef8515bd5569c85e68a65b6 (diff)
Allow comment/post upvoting from other pages.
- Fixes #355 - Votes now coming back for posts and comments on search page.
Diffstat (limited to 'server/src')
-rw-r--r--server/src/api/site.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/server/src/api/site.rs b/server/src/api/site.rs
index a189a030..ce07724a 100644
--- a/server/src/api/site.rs
+++ b/server/src/api/site.rs
@@ -19,6 +19,7 @@ pub struct Search {
sort: String,
page: Option<i64>,
limit: Option<i64>,
+ auth: Option<String>,
}
#[derive(Serialize, Deserialize)]
@@ -313,6 +314,17 @@ impl Perform<SearchResponse> for Oper<Search> {
fn perform(&self, conn: &PgConnection) -> Result<SearchResponse, Error> {
let data: &Search = &self.data;
+ let user_id: Option<i32> = match &data.auth {
+ Some(auth) => match Claims::decode(&auth) {
+ Ok(claims) => {
+ let user_id = claims.claims.id;
+ Some(user_id)
+ }
+ Err(_e) => None,
+ },
+ None => None,
+ };
+
let sort = SortType::from_str(&data.sort)?;
let type_ = SearchType::from_str(&data.type_)?;
@@ -330,6 +342,7 @@ impl Perform<SearchResponse> for Oper<Search> {
.show_nsfw(true)
.for_community_id(data.community_id)
.search_term(data.q.to_owned())
+ .my_user_id(user_id)
.page(data.page)
.limit(data.limit)
.list()?;
@@ -338,6 +351,7 @@ impl Perform<SearchResponse> for Oper<Search> {
comments = CommentQueryBuilder::create(&conn)
.sort(&sort)
.search_term(data.q.to_owned())
+ .my_user_id(user_id)
.page(data.page)
.limit(data.limit)
.list()?;
@@ -364,6 +378,7 @@ impl Perform<SearchResponse> for Oper<Search> {
.show_nsfw(true)
.for_community_id(data.community_id)
.search_term(data.q.to_owned())
+ .my_user_id(user_id)
.page(data.page)
.limit(data.limit)
.list()?;
@@ -371,6 +386,7 @@ impl Perform<SearchResponse> for Oper<Search> {
comments = CommentQueryBuilder::create(&conn)
.sort(&sort)
.search_term(data.q.to_owned())
+ .my_user_id(user_id)
.page(data.page)
.limit(data.limit)
.list()?;