summaryrefslogtreecommitdiffstats
path: root/server/src/api/site.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/api/site.rs')
-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 1291891b..a5faf34d 100644
--- a/server/src/api/site.rs
+++ b/server/src/api/site.rs
@@ -18,6 +18,7 @@ pub struct Search {
sort: String,
page: Option<i64>,
limit: Option<i64>,
+ auth: Option<String>,
}
#[derive(Serialize, Deserialize)]
@@ -297,6 +298,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_)?;
@@ -314,6 +326,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()?;
@@ -322,6 +335,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()?;
@@ -348,6 +362,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()?;
@@ -355,6 +370,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()?;