File tree Expand file tree Collapse file tree 2 files changed +20
-13
lines changed Expand file tree Collapse file tree 2 files changed +20
-13
lines changed Original file line number Diff line number Diff line change @@ -234,30 +234,33 @@ fn user_total_downloads() {
234
234
235
235
u = :: new_user ( "foo" ) . create_or_update ( & conn) . unwrap ( ) ;
236
236
237
- let mut krate = :: CrateBuilder :: new ( "foo_krate1" , u. id )
238
- . expect_build ( & conn) ;
237
+ let mut krate = :: CrateBuilder :: new ( "foo_krate1" , u. id ) . expect_build ( & conn) ;
239
238
krate. downloads = 10 ;
240
239
update ( & krate) . set ( & krate) . execute ( & * conn) . unwrap ( ) ;
241
240
242
- let mut krate2 = :: CrateBuilder :: new ( "foo_krate2" , u. id )
243
- . expect_build ( & conn) ;
241
+ let mut krate2 = :: CrateBuilder :: new ( "foo_krate2" , u. id ) . expect_build ( & conn) ;
244
242
krate2. downloads = 20 ;
245
243
update ( & krate2) . set ( & krate2) . execute ( & * conn) . unwrap ( ) ;
246
244
247
245
let another_user = :: new_user ( "bar" ) . create_or_update ( & conn) . unwrap ( ) ;
248
246
249
247
let mut another_krate = :: CrateBuilder :: new ( "bar_krate1" , another_user. id )
250
- . expect_build ( & conn) ;
248
+ . expect_build ( & conn) ;
251
249
another_krate. downloads = 2 ;
252
- update ( & another_krate) . set ( & another_krate) . execute ( & * conn) . unwrap ( ) ;
250
+ update ( & another_krate)
251
+ . set ( & another_krate)
252
+ . execute ( & * conn)
253
+ . unwrap ( ) ;
253
254
}
254
255
255
256
let mut req = :: req ( app, Method :: Get , & format ! ( "/api/v1/users/{}/stats" , u. id) ) ;
256
257
let mut response = ok_resp ! ( middle. call( & mut req) ) ;
257
258
258
259
#[ derive( RustcDecodable ) ]
259
- struct Response { total_downloads : i64 }
260
+ struct Response {
261
+ total_downloads : i64 ,
262
+ }
260
263
let response: Response = :: json ( & mut response) ;
261
264
assert_eq ! ( response. total_downloads, 30 ) ;
262
265
assert ! ( response. total_downloads != 32 ) ;
263
- }
266
+ }
Original file line number Diff line number Diff line change @@ -453,19 +453,23 @@ pub fn updates(req: &mut Request) -> CargoResult<Response> {
453
453
454
454
/// Handles the `GET /users/:user_id/stats` route.
455
455
pub fn stats ( req : & mut Request ) -> CargoResult < Response > {
456
- use diesel:: expression:: dsl:: sum;
456
+ use diesel:: expression:: dsl:: sum;
457
457
use owner:: OwnerKind ;
458
458
459
459
let user_id = & req. params ( ) [ "user_id" ] . parse :: < i32 > ( ) . ok ( ) . unwrap ( ) ;
460
460
let conn = req. db_conn ( ) ?;
461
461
462
- let data = crate_owners:: table. inner_join ( crates:: table)
463
- . filter ( crate_owners:: owner_id. eq ( user_id) . and ( crate_owners:: owner_kind. eq ( OwnerKind :: User as i32 ) ) )
464
- . select ( sum ( crates:: downloads) ) . first :: < i64 > ( & * conn) ?;
462
+ let data = crate_owners:: table
463
+ . inner_join ( crates:: table)
464
+ . filter ( crate_owners:: owner_id. eq ( user_id) . and (
465
+ crate_owners:: owner_kind. eq ( OwnerKind :: User as i32 ) ,
466
+ ) )
467
+ . select ( sum ( crates:: downloads) )
468
+ . first :: < i64 > ( & * conn) ?;
465
469
466
470
#[ derive( RustcEncodable ) ]
467
471
struct R {
468
- total_downloads : i64
472
+ total_downloads : i64 ,
469
473
}
470
474
Ok ( req. json ( & R { total_downloads : data } ) )
471
475
}
You can’t perform that action at this time.
0 commit comments