@@ -8,8 +8,7 @@ use crate::controllers::prelude::*;
88use crate :: models:: user;
99use crate :: models:: user:: UserNoEmailType ;
1010use crate :: models:: {
11- Category , Crate , CrateCategory , CrateKeyword , CrateVersions , Keyword , RecentCrateDownloads ,
12- User , Version ,
11+ Category , Crate , CrateCategory , CrateKeyword , CrateVersions , Keyword , RecentCrateDownloads , Version ,
1312} ;
1413use crate :: schema:: * ;
1514use crate :: views:: {
@@ -107,10 +106,10 @@ pub fn show(req: &mut dyn Request) -> CargoResult<Response> {
107106 let conn = req. db_conn ( ) ?;
108107 let krate = Crate :: by_name ( name) . first :: < Crate > ( & * conn) ?;
109108
110- let mut versions_and_publishers: Vec < ( Version , Option < User > ) > = krate
109+ let mut versions_and_publishers: Vec < ( Version , Option < UserNoEmailType > ) > = krate
111110 . all_versions ( )
112111 . left_outer_join ( users:: table)
113- . select ( ( versions:: all_columns, users :: all_columns . nullable ( ) ) )
112+ . select ( ( versions:: all_columns, user :: ALL_COLUMNS . nullable ( ) ) )
114113 . load ( & * conn) ?;
115114 versions_and_publishers. sort_by ( |a, b| b. 0 . num . cmp ( & a. 0 . num ) ) ;
116115 let ids = versions_and_publishers. iter ( ) . map ( |v| v. 0 . id ) . collect ( ) ;
@@ -153,7 +152,7 @@ pub fn show(req: &mut dyn Request) -> CargoResult<Response> {
153152 ) ,
154153 versions : versions_and_publishers
155154 . into_iter ( )
156- . map ( |( v, pb) | v. encodable ( & krate. name , pb) )
155+ . map ( |( v, pb) | v. encodable ( & krate. name , pb. map ( From :: from ) ) )
157156 . collect ( ) ,
158157 keywords : kws. into_iter ( ) . map ( Keyword :: encodable) . collect ( ) ,
159158 categories : cats. into_iter ( ) . map ( Category :: encodable) . collect ( ) ,
@@ -189,15 +188,15 @@ pub fn versions(req: &mut dyn Request) -> CargoResult<Response> {
189188 let crate_name = & req. params ( ) [ "crate_id" ] ;
190189 let conn = req. db_conn ( ) ?;
191190 let krate = Crate :: by_name ( crate_name) . first :: < Crate > ( & * conn) ?;
192- let mut versions_and_publishers: Vec < ( Version , Option < User > ) > = krate
191+ let mut versions_and_publishers: Vec < ( Version , Option < UserNoEmailType > ) > = krate
193192 . all_versions ( )
194193 . left_outer_join ( users:: table)
195- . select ( ( versions:: all_columns, users :: all_columns . nullable ( ) ) )
194+ . select ( ( versions:: all_columns, user :: ALL_COLUMNS . nullable ( ) ) )
196195 . load ( & * conn) ?;
197196 versions_and_publishers. sort_by ( |a, b| b. 0 . num . cmp ( & a. 0 . num ) ) ;
198197 let versions = versions_and_publishers
199198 . into_iter ( )
200- . map ( |( v, pb) | v. encodable ( crate_name, pb) )
199+ . map ( |( v, pb) | v. encodable ( crate_name, pb. map ( From :: from ) ) )
201200 . collect ( ) ;
202201
203202 #[ derive( Serialize ) ]
@@ -236,22 +235,7 @@ pub fn reverse_dependencies(req: &mut dyn Request) -> CargoResult<Response> {
236235 ) )
237236 . load :: < ( Version , String , Option < UserNoEmailType > ) > ( & * conn) ?
238237 . into_iter ( )
239- . map ( |( version, krate_name, user) | {
240- if let Some ( user) = user {
241- let published_by = User {
242- id : user. 0 ,
243- email : None ,
244- gh_access_token : user. 1 ,
245- gh_login : user. 2 ,
246- name : user. 3 ,
247- gh_avatar : user. 4 ,
248- gh_id : user. 5 ,
249- } ;
250- version. encodable ( & krate_name, Some ( published_by) )
251- } else {
252- version. encodable ( & krate_name, None )
253- }
254- } )
238+ . map ( |( version, krate_name, user) | version. encodable ( & krate_name, user. map ( From :: from) ) )
255239 . collect ( ) ;
256240
257241 #[ derive( Serialize ) ]
0 commit comments