diff options
author | Dessalines <tyhou13@gmx.com> | 2020-01-20 18:39:45 -0500 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2020-01-20 18:39:45 -0500 |
commit | a964b4ce21cc19eb42ae4da1a1aef8bfc0a1df5c (patch) | |
tree | e1143d93855032c86090e8d153e55f7e778a7a17 /server/src | |
parent | 86871d17ac5d6aa14ef8515bd5569c85e68a65b6 (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.rs | 16 |
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()?; |