diff options
Diffstat (limited to 'server/src/db/community_view.rs')
-rw-r--r-- | server/src/db/community_view.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/server/src/db/community_view.rs b/server/src/db/community_view.rs index ff0fc89b..6249090d 100644 --- a/server/src/db/community_view.rs +++ b/server/src/db/community_view.rs @@ -113,8 +113,9 @@ impl CommunityView { } pub fn list(conn: &PgConnection, + sort: &SortType, from_user_id: Option<i32>, - sort: SortType, + search_term: Option<String>, page: Option<i64>, limit: Option<i64>, ) -> Result<Vec<Self>, Error> { @@ -123,6 +124,10 @@ impl CommunityView { let (limit, offset) = limit_and_offset(page, limit); + if let Some(search_term) = search_term { + query = query.filter(name.ilike(fuzzy_search(&search_term))); + }; + // The view lets you pass a null user_id, if you're not logged in match sort { SortType::Hot => query = query.order_by(hot_rank.desc()) |