summaryrefslogtreecommitdiffstats
path: root/server/src/api/site.rs
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-12-08 12:39:54 -0800
committerDessalines <tyhou13@gmx.com>2019-12-08 12:39:54 -0800
commitd18f2c9eb1ca4b121886fe0f2def426bf5ce1ad6 (patch)
tree645b0706bfbd323db23cfa0fe447f13e28cb8709 /server/src/api/site.rs
parent13f8608e05cf6da1c6f4146680296d78e67aa88c (diff)
Use builder pattern for views
- Fixes #360
Diffstat (limited to 'server/src/api/site.rs')
-rw-r--r--server/src/api/site.rs80
1 files changed, 38 insertions, 42 deletions
diff --git a/server/src/api/site.rs b/server/src/api/site.rs
index 0e780b38..e2963d8c 100644
--- a/server/src/api/site.rs
+++ b/server/src/api/site.rs
@@ -329,31 +329,28 @@ impl Perform<SearchResponse> for Oper<Search> {
.list()?;
}
SearchType::Comments => {
- comments = CommentView::list(
- &conn,
- &sort,
- None,
- None,
- Some(data.q.to_owned()),
- None,
- false,
- data.page,
- data.limit,
- )?;
+ comments = CommentQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
}
SearchType::Communities => {
- communities = CommunityView::list(
- &conn,
- &sort,
- None,
- true,
- Some(data.q.to_owned()),
- data.page,
- data.limit,
- )?;
+ communities = CommunityQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
}
SearchType::Users => {
- users = UserView::list(&conn, &sort, Some(data.q.to_owned()), data.page, data.limit)?;
+ users = UserQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
}
SearchType::All => {
posts = PostQueryBuilder::create(&conn)
@@ -365,27 +362,26 @@ impl Perform<SearchResponse> for Oper<Search> {
.limit_optional(data.limit)
.list()?;
- comments = CommentView::list(
- &conn,
- &sort,
- None,
- None,
- Some(data.q.to_owned()),
- None,
- false,
- data.page,
- data.limit,
- )?;
- communities = CommunityView::list(
- &conn,
- &sort,
- None,
- true,
- Some(data.q.to_owned()),
- data.page,
- data.limit,
- )?;
- users = UserView::list(&conn, &sort, Some(data.q.to_owned()), data.page, data.limit)?;
+ comments = CommentQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
+
+ communities = CommunityQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
+
+ users = UserQueryBuilder::create(&conn)
+ .sort(&sort)
+ .search_term(data.q.to_owned())
+ .page_optional(data.page)
+ .limit_optional(data.limit)
+ .list()?;
}
SearchType::Url => {
posts = PostQueryBuilder::create(&conn)