Skip to content

Commit 9c32906

Browse files
committed
Use CrateOwner::by_owner_kind to exclude deleted crate ownerships
1 parent ae0a3fd commit 9c32906

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

src/controllers/user/me.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,9 @@ pub fn me(req: &mut dyn Request) -> AppResult<Response> {
3838
))
3939
.first::<(User, Option<bool>, Option<String>, bool)>(&*conn)?;
4040

41-
let owned_crates = crate_owners::table
41+
let owned_crates = CrateOwner::by_owner_kind(OwnerKind::User)
4242
.inner_join(crates::table)
4343
.filter(crate_owners::owner_id.eq(user_id))
44-
.filter(crate_owners::owner_kind.eq(OwnerKind::User as i32))
4544
.select((crates::id, crates::name, crate_owners::email_notifications))
4645
.order(crates::name.asc())
4746
.load(&*conn)?

src/controllers/user/other.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::controllers::prelude::*;
22

3-
use crate::models::{OwnerKind, User};
3+
use crate::models::{CrateOwner, OwnerKind, User};
44
use crate::schema::{crate_owners, crates, users};
55
use crate::views::EncodablePublicUser;
66

@@ -31,13 +31,9 @@ pub fn stats(req: &mut dyn Request) -> AppResult<Response> {
3131
let user_id = &req.params()["user_id"].parse::<i32>().ok().unwrap();
3232
let conn = req.db_conn()?;
3333

34-
let data = crate_owners::table
34+
let data = CrateOwner::by_owner_kind(OwnerKind::User)
3535
.inner_join(crates::table)
36-
.filter(
37-
crate_owners::owner_id
38-
.eq(user_id)
39-
.and(crate_owners::owner_kind.eq(OwnerKind::User as i32)),
40-
)
36+
.filter(crate_owners::owner_id.eq(user_id))
4137
.select(sum(crates::downloads))
4238
.first::<Option<i64>>(&*conn)?
4339
.unwrap_or(0);

src/tests/user.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,13 @@ fn user_total_downloads() {
326326

327327
let mut no_longer_my_krate = CrateBuilder::new("nacho", user.id).expect_build(conn);
328328
no_longer_my_krate.downloads = 5;
329-
update(&no_longer_my_krate).set(&no_longer_my_krate).execute(conn).unwrap();
329+
update(&no_longer_my_krate)
330+
.set(&no_longer_my_krate)
331+
.execute(conn)
332+
.unwrap();
330333
no_longer_my_krate
331334
.owner_remove(app.as_inner(), conn, user, &user.gh_login)
332335
.unwrap();
333-
334336
});
335337

336338
let url = format!("/api/v1/users/{}/stats", user.id);

0 commit comments

Comments
 (0)