- query = match self.sort.unwrap_or(SortType::Hot) {
- SortType::New | SortType::NewComments => query.order_by(person::published.desc()),
- SortType::Old => query.order_by(person::published.asc()),
- SortType::Hot | SortType::Active | SortType::TopAll => {
- query.order_by(person_aggregates::comment_score.desc())
- }
- SortType::MostComments => query.order_by(person_aggregates::comment_count.desc()),
- SortType::TopYear => query
- .filter(person::published.gt(now - 1.years()))
- .order_by(person_aggregates::comment_score.desc()),
- SortType::TopMonth => query
- .filter(person::published.gt(now - 1.months()))
- .order_by(person_aggregates::comment_score.desc()),
- SortType::TopWeek => query
- .filter(person::published.gt(now - 1.weeks()))
- .order_by(person_aggregates::comment_score.desc()),
- SortType::TopDay => query
- .filter(person::published.gt(now - 1.days()))
- .order_by(person_aggregates::comment_score.desc()),
- };
+ pub async fn admins(pool: &mut DbPool<'_>) -> Result<Vec<Self>, Error> {
+ queries().list(pool, ListMode::Admins).await
+ }