File tree 2 files changed +26
-3
lines changed
2 files changed +26
-3
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ use indexmap::IndexMap;
7
7
use url:: Url ;
8
8
9
9
use crate :: app:: App ;
10
+ use crate :: models:: user:: { UserNoEmailType , USER_NO_EMAIL } ;
10
11
use crate :: util:: { human, CargoResult } ;
11
12
12
13
use crate :: models:: {
@@ -399,14 +400,25 @@ impl Crate {
399
400
Ok ( Version :: max ( vs) )
400
401
}
401
402
403
+ // FIXME :: This function takes the result from user table so we must check
404
+ // if its using the email variable...
402
405
pub fn owners ( & self , conn : & PgConnection ) -> CargoResult < Vec < Owner > > {
403
406
let base_query = CrateOwner :: belonging_to ( self ) . filter ( crate_owners:: deleted. eq ( false ) ) ;
404
407
let users = base_query
405
408
. inner_join ( users:: table)
406
- . select ( users :: all_columns )
409
+ . select ( USER_NO_EMAIL )
407
410
. filter ( crate_owners:: owner_kind. eq ( OwnerKind :: User as i32 ) )
408
- . load ( conn) ?
411
+ . load :: < UserNoEmailType > ( conn) ?
409
412
. 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
+ } )
410
422
. map ( Owner :: User ) ;
411
423
let teams = base_query
412
424
. inner_join ( teams:: table)
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ use crate::app::App;
4
4
use crate :: github;
5
5
use crate :: util:: { human, CargoResult } ;
6
6
7
+ use crate :: models:: user:: { UserNoEmailType , USER_NO_EMAIL } ;
7
8
use crate :: models:: { Crate , Team , User } ;
8
9
use crate :: schema:: { crate_owners, users} ;
9
10
use crate :: views:: EncodableOwner ;
@@ -54,8 +55,18 @@ impl Owner {
54
55
) ?) )
55
56
} else {
56
57
users:: table
58
+ . select ( USER_NO_EMAIL )
57
59
. 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
+ } )
59
70
. map ( Owner :: User )
60
71
. map_err ( |_| human ( & format_args ! ( "could not find user with login `{}`" , name) ) )
61
72
}
You can’t perform that action at this time.
0 commit comments