Skip to content

Commit 1ebfc08

Browse files
committed
WIP: Method 2
1 parent 0f1ae4e commit 1ebfc08

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

app/routes/team.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default Route.extend({
1616
return this.store.queryRecord('team', { team_id }).then(
1717
team => {
1818
params.team_id = team.get('id');
19+
params.include_yanked = 'n';
1920
return RSVP.hash({
2021
crates: this.store.query('crate', params),
2122
team,

app/routes/user.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export default Route.extend({
1515
return this.store.queryRecord('user', { user_id }).then(
1616
user => {
1717
params.user_id = user.get('id');
18+
params.include_yanked = 'n';
1819
return RSVP.hash({
1920
crates: this.store.query('crate', params),
2021
user,

src/controllers/krate/search.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
//! Endpoint for searching and discovery functionality
22
33
use diesel_full_text_search::*;
4+
use diesel::dsl::*;
45

56
use crate::controllers::helpers::Paginate;
67
use crate::controllers::prelude::*;
@@ -139,6 +140,19 @@ pub fn search(req: &mut dyn Request) -> CargoResult<Response> {
139140
);
140141
}
141142

143+
if let Some(include_yanked) = params.get("include_yanked").map(|s| match s.to_lowercase().as_ref() {
144+
"n" | "no" | "f" | "false" | "0" => false,
145+
_ => true,
146+
}) {
147+
if !include_yanked {
148+
query = query.filter(exists(
149+
versions::table
150+
.filter(versions::crate_id.eq(crates::id))
151+
.filter(versions::yanked.eq(false))
152+
));
153+
}
154+
}
155+
142156
if sort == "downloads" {
143157
query = query.then_order_by(crates::downloads.desc())
144158
} else if sort == "recent-downloads" {

0 commit comments

Comments
 (0)