Skip to content

Commit 55fcd6b

Browse files
committed
I noticed that the rest are either:
1. Handled by the new PR already, OR 2. Simply uses the User::encodable_public() function that does not rely on `email` variable at all.
1 parent e8b0ad4 commit 55fcd6b

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

src/models/krate.rs

+14-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use indexmap::IndexMap;
77
use url::Url;
88

99
use crate::app::App;
10+
use crate::models::user::{UserNoEmailType, USER_NO_EMAIL};
1011
use crate::util::{human, CargoResult};
1112

1213
use crate::models::{
@@ -399,14 +400,25 @@ impl Crate {
399400
Ok(Version::max(vs))
400401
}
401402

403+
// FIXME :: This function takes the result from user table so we must check
404+
// if its using the email variable...
402405
pub fn owners(&self, conn: &PgConnection) -> CargoResult<Vec<Owner>> {
403406
let base_query = CrateOwner::belonging_to(self).filter(crate_owners::deleted.eq(false));
404407
let users = base_query
405408
.inner_join(users::table)
406-
.select(users::all_columns)
409+
.select(USER_NO_EMAIL)
407410
.filter(crate_owners::owner_kind.eq(OwnerKind::User as i32))
408-
.load(conn)?
411+
.load::<UserNoEmailType>(conn)?
409412
.into_iter()
413+
.map(|user| User {
414+
id: user.0,
415+
email: None,
416+
gh_access_token: user.1,
417+
gh_login: user.2,
418+
name: user.3,
419+
gh_avatar: user.4,
420+
gh_id: user.5,
421+
})
410422
.map(Owner::User);
411423
let teams = base_query
412424
.inner_join(teams::table)

src/models/owner.rs

+12-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use crate::app::App;
44
use crate::github;
55
use crate::util::{human, CargoResult};
66

7+
use crate::models::user::{UserNoEmailType, USER_NO_EMAIL};
78
use crate::models::{Crate, Team, User};
89
use crate::schema::{crate_owners, users};
910
use crate::views::EncodableOwner;
@@ -54,8 +55,18 @@ impl Owner {
5455
)?))
5556
} else {
5657
users::table
58+
.select(USER_NO_EMAIL)
5759
.filter(users::gh_login.eq(name))
58-
.first(conn)
60+
.first::<UserNoEmailType>(conn)
61+
.map(|user| User {
62+
id: user.0,
63+
email: None,
64+
gh_access_token: user.1,
65+
gh_login: user.2,
66+
name: user.3,
67+
gh_avatar: user.4,
68+
gh_id: user.5,
69+
})
5970
.map(Owner::User)
6071
.map_err(|_| human(&format_args!("could not find user with login `{}`", name)))
6172
}

0 commit comments

Comments
 (0)