File tree Expand file tree Collapse file tree 4 files changed +15
-22
lines changed Expand file tree Collapse file tree 4 files changed +15
-22
lines changed Original file line number Diff line number Diff line change
1
+ use crate :: models:: helpers:: with_count:: * ;
2
+ use crate :: util:: errors:: * ;
1
3
use diesel:: pg:: Pg ;
2
4
use diesel:: prelude:: * ;
3
5
use diesel:: query_builder:: * ;
4
- use diesel:: sql_types:: BigInt ;
5
6
use diesel:: query_dsl:: LoadQuery ;
7
+ use diesel:: sql_types:: BigInt ;
6
8
use indexmap:: IndexMap ;
7
- use crate :: util:: errors:: * ;
8
- use crate :: models:: helpers:: with_count:: * ;
9
9
10
10
#[ derive( Debug , Clone , Copy ) ]
11
11
pub ( crate ) enum Page {
@@ -87,10 +87,12 @@ pub struct Paginated<T> {
87
87
88
88
impl < T > Paginated < T > {
89
89
pub ( crate ) fn total ( & self ) -> Option < i64 > {
90
- Some ( self . records_and_total
91
- . get ( 0 )
92
- . map ( |row| row. total )
93
- . unwrap_or_default ( ) )
90
+ Some (
91
+ self . records_and_total
92
+ . get ( 0 )
93
+ . map ( |row| row. total )
94
+ . unwrap_or_default ( ) ,
95
+ )
94
96
}
95
97
96
98
pub ( crate ) fn next_page_params ( & self ) -> Option < IndexMap < String , String > > {
@@ -120,9 +122,7 @@ impl<T> Paginated<T> {
120
122
}
121
123
122
124
pub ( crate ) fn iter ( & self ) -> impl Iterator < Item = & T > {
123
- self . records_and_total
124
- . iter ( )
125
- . map ( |row| & row. record )
125
+ self . records_and_total . iter ( ) . map ( |row| & row. record )
126
126
}
127
127
}
128
128
Original file line number Diff line number Diff line change @@ -20,14 +20,9 @@ pub fn index(req: &mut dyn Request) -> CargoResult<Response> {
20
20
query = query. order ( keywords:: keyword. asc ( ) ) ;
21
21
}
22
22
23
- let data = query
24
- . paginate ( & req. query ( ) ) ?
25
- . load :: < Keyword > ( & * conn) ?;
23
+ let data = query. paginate ( & req. query ( ) ) ?. load :: < Keyword > ( & * conn) ?;
26
24
let total = data. total ( ) ;
27
- let kws = data
28
- . into_iter ( )
29
- . map ( Keyword :: encodable)
30
- . collect :: < Vec < _ > > ( ) ;
25
+ let kws = data. into_iter ( ) . map ( Keyword :: encodable) . collect :: < Vec < _ > > ( ) ;
31
26
32
27
#[ derive( Serialize ) ]
33
28
struct R {
Original file line number Diff line number Diff line change @@ -70,9 +70,7 @@ pub fn updates(req: &mut dyn Request) -> CargoResult<Response> {
70
70
71
71
let versions = data
72
72
. into_iter ( )
73
- . map ( |( version, crate_name, published_by) | {
74
- version. encodable ( & crate_name, published_by)
75
- } )
73
+ . map ( |( version, crate_name, published_by) | version. encodable ( & crate_name, published_by) )
76
74
. collect ( ) ;
77
75
78
76
#[ derive( Serialize ) ]
Original file line number Diff line number Diff line change @@ -3,8 +3,8 @@ use diesel::associations::Identifiable;
3
3
use diesel:: pg:: Pg ;
4
4
use diesel:: prelude:: * ;
5
5
use diesel:: sql_types:: Bool ;
6
- use url:: Url ;
7
6
use indexmap:: IndexMap ;
7
+ use url:: Url ;
8
8
9
9
use crate :: app:: App ;
10
10
use crate :: util:: { human, CargoResult } ;
@@ -525,9 +525,9 @@ impl Crate {
525
525
conn : & PgConnection ,
526
526
params : & IndexMap < String , String > ,
527
527
) -> CargoResult < ( Vec < ReverseDependency > , i64 ) > {
528
+ use crate :: controllers:: helpers:: pagination:: * ;
528
529
use diesel:: sql_query;
529
530
use diesel:: sql_types:: { BigInt , Integer } ;
530
- use crate :: controllers:: helpers:: pagination:: * ;
531
531
532
532
// FIXME: It'd be great to support this with `.paginate` directly,
533
533
// and get cursor/id pagination for free. But Diesel doesn't currently
You can’t perform that action at this time.
0 commit comments