diff options
author | Dessalines <tyhou13@gmx.com> | 2019-12-08 12:39:54 -0800 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2019-12-08 12:39:54 -0800 |
commit | d18f2c9eb1ca4b121886fe0f2def426bf5ce1ad6 (patch) | |
tree | 645b0706bfbd323db23cfa0fe447f13e28cb8709 /server/src/api/site.rs | |
parent | 13f8608e05cf6da1c6f4146680296d78e67aa88c (diff) |
Use builder pattern for views
- Fixes #360
Diffstat (limited to 'server/src/api/site.rs')
-rw-r--r-- | server/src/api/site.rs | 80 |
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) |