@@ -8,8 +8,7 @@ use crate::controllers::prelude::*;
8
8
use crate :: models:: user;
9
9
use crate :: models:: user:: UserNoEmailType ;
10
10
use crate :: models:: {
11
- Category , Crate , CrateCategory , CrateKeyword , CrateVersions , Keyword , RecentCrateDownloads ,
12
- User , Version ,
11
+ Category , Crate , CrateCategory , CrateKeyword , CrateVersions , Keyword , RecentCrateDownloads , Version ,
13
12
} ;
14
13
use crate :: schema:: * ;
15
14
use crate :: views:: {
@@ -107,10 +106,10 @@ pub fn show(req: &mut dyn Request) -> CargoResult<Response> {
107
106
let conn = req. db_conn ( ) ?;
108
107
let krate = Crate :: by_name ( name) . first :: < Crate > ( & * conn) ?;
109
108
110
- let mut versions_and_publishers: Vec < ( Version , Option < User > ) > = krate
109
+ let mut versions_and_publishers: Vec < ( Version , Option < UserNoEmailType > ) > = krate
111
110
. all_versions ( )
112
111
. left_outer_join ( users:: table)
113
- . select ( ( versions:: all_columns, users :: all_columns . nullable ( ) ) )
112
+ . select ( ( versions:: all_columns, user :: ALL_COLUMNS . nullable ( ) ) )
114
113
. load ( & * conn) ?;
115
114
versions_and_publishers. sort_by ( |a, b| b. 0 . num . cmp ( & a. 0 . num ) ) ;
116
115
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> {
153
152
) ,
154
153
versions : versions_and_publishers
155
154
. into_iter ( )
156
- . map ( |( v, pb) | v. encodable ( & krate. name , pb) )
155
+ . map ( |( v, pb) | v. encodable ( & krate. name , pb. map ( From :: from ) ) )
157
156
. collect ( ) ,
158
157
keywords : kws. into_iter ( ) . map ( Keyword :: encodable) . collect ( ) ,
159
158
categories : cats. into_iter ( ) . map ( Category :: encodable) . collect ( ) ,
@@ -189,15 +188,15 @@ pub fn versions(req: &mut dyn Request) -> CargoResult<Response> {
189
188
let crate_name = & req. params ( ) [ "crate_id" ] ;
190
189
let conn = req. db_conn ( ) ?;
191
190
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
193
192
. all_versions ( )
194
193
. left_outer_join ( users:: table)
195
- . select ( ( versions:: all_columns, users :: all_columns . nullable ( ) ) )
194
+ . select ( ( versions:: all_columns, user :: ALL_COLUMNS . nullable ( ) ) )
196
195
. load ( & * conn) ?;
197
196
versions_and_publishers. sort_by ( |a, b| b. 0 . num . cmp ( & a. 0 . num ) ) ;
198
197
let versions = versions_and_publishers
199
198
. into_iter ( )
200
- . map ( |( v, pb) | v. encodable ( crate_name, pb) )
199
+ . map ( |( v, pb) | v. encodable ( crate_name, pb. map ( From :: from ) ) )
201
200
. collect ( ) ;
202
201
203
202
#[ derive( Serialize ) ]
@@ -236,22 +235,7 @@ pub fn reverse_dependencies(req: &mut dyn Request) -> CargoResult<Response> {
236
235
) )
237
236
. load :: < ( Version , String , Option < UserNoEmailType > ) > ( & * conn) ?
238
237
. 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) ) )
255
239
. collect ( ) ;
256
240
257
241
#[ derive( Serialize ) ]
0 commit comments