diff --git a/src/controllers/krate/search.rs b/src/controllers/krate/search.rs index 552cb7d6ef..d2c100e451 100644 --- a/src/controllers/krate/search.rs +++ b/src/controllers/krate/search.rs @@ -37,10 +37,7 @@ pub fn search(req: &mut dyn Request) -> CargoResult { let conn = req.db_conn()?; let params = req.query(); - let sort = params - .get("sort") - .map(|s| &**s) - .unwrap_or("recent-downloads"); + let sort = params.get("sort").map(|s| &**s); let include_yanked = params .get("include_yanked") .map(|s| s == "yes") @@ -156,11 +153,11 @@ pub fn search(req: &mut dyn Request) -> CargoResult { )); } - if sort == "downloads" { + if sort == Some("downloads") { query = query.then_order_by(crates::downloads.desc()) - } else if sort == "recent-downloads" { + } else if sort == Some("recent-downloads") { query = query.then_order_by(recent_crate_downloads::downloads.desc().nulls_last()) - } else if sort == "recent-updates" { + } else if sort == Some("recent-updates") { query = query.order(crates::updated_at.desc()); } else { query = query.then_order_by(crates::name.asc())