File tree Expand file tree Collapse file tree 2 files changed +18
-19
lines changed Expand file tree Collapse file tree 2 files changed +18
-19
lines changed Original file line number Diff line number Diff line change @@ -41,25 +41,22 @@ pub async fn owners(state: AppState, Path(crate_name): Path<String>) -> AppResul
4141
4242/// Handles the `GET /crates/:crate_id/owner_team` route.
4343pub async fn owner_team ( state : AppState , Path ( crate_name) : Path < String > ) -> AppResult < Json < Value > > {
44- let conn = state. db_read ( ) . await ?;
45- spawn_blocking ( move || {
46- use diesel:: RunQueryDsl ;
47-
48- let conn: & mut AsyncConnectionWrapper < _ > = & mut conn. into ( ) ;
44+ use diesel_async:: RunQueryDsl ;
4945
50- let krate: Crate = Crate :: by_name ( & crate_name)
51- . first ( conn)
52- . optional ( ) ?
53- . ok_or_else ( || crate_not_found ( & crate_name) ) ?;
46+ let mut conn = state. db_read ( ) . await ?;
47+ let krate: Crate = Crate :: by_name ( & crate_name)
48+ . first ( & mut conn)
49+ . await
50+ . optional ( ) ?
51+ . ok_or_else ( || crate_not_found ( & crate_name) ) ?;
5452
55- let owners = Team :: owning ( & krate, conn) ?
56- . into_iter ( )
57- . map ( Owner :: into)
58- . collect :: < Vec < EncodableOwner > > ( ) ;
53+ let owners = Team :: owning ( & krate, & mut conn)
54+ . await ?
55+ . into_iter ( )
56+ . map ( Owner :: into)
57+ . collect :: < Vec < EncodableOwner > > ( ) ;
5958
60- Ok ( Json ( json ! ( { "teams" : owners } ) ) )
61- } )
62- . await
59+ Ok ( Json ( json ! ( { "teams" : owners } ) ) )
6360}
6461
6562/// Handles the `GET /crates/:crate_id/owner_user` route.
Original file line number Diff line number Diff line change 1+ use diesel_async:: AsyncPgConnection ;
12use http:: StatusCode ;
23
34use crate :: app:: App ;
@@ -199,15 +200,16 @@ impl Team {
199200 }
200201 }
201202
202- pub fn owning ( krate : & Crate , conn : & mut impl Conn ) -> QueryResult < Vec < Owner > > {
203- use diesel :: RunQueryDsl ;
203+ pub async fn owning ( krate : & Crate , conn : & mut AsyncPgConnection ) -> QueryResult < Vec < Owner > > {
204+ use diesel_async :: RunQueryDsl ;
204205
205206 let base_query = CrateOwner :: belonging_to ( krate) . filter ( crate_owners:: deleted. eq ( false ) ) ;
206207 let teams = base_query
207208 . inner_join ( teams:: table)
208209 . select ( Team :: as_select ( ) )
209210 . filter ( crate_owners:: owner_kind. eq ( OwnerKind :: Team ) )
210- . load ( conn) ?
211+ . load ( conn)
212+ . await ?
211213 . into_iter ( )
212214 . map ( Owner :: Team ) ;
213215
You can’t perform that action at this time.
0 commit comments