@@ -72,7 +72,7 @@ pub(crate) struct Import {
7272
7373#[ tracing:: instrument( skip_all) ]
7474pub ( crate ) async fn import (
75- _pool : sqlx:: SqlitePool ,
75+ pool : sqlx:: SqlitePool ,
7676 import : Option < Json < Import > > ,
7777 expected_key : String ,
7878) -> impl IntoResponse {
@@ -84,12 +84,46 @@ pub(crate) async fn import(
8484 return StatusCode :: NOT_FOUND . into_response ( ) ;
8585 }
8686
87- format ! (
88- "Got {} pending, {} manual, {} members, {} extras" ,
87+ let ( pending_got, manual_got, members_got, gaijin_got) = (
8988 db. pending . len ( ) ,
9089 db. manual . len ( ) ,
9190 db. members . len ( ) ,
92- db. extras. len( )
91+ db. extras . len ( ) ,
92+ ) ;
93+
94+ let mut gaijin_added = 0 ;
95+ let mut member_added = 0 ;
96+ let mut manual_added = 0 ;
97+ let mut pending_added = 0 ;
98+
99+ for gaijin in db. extras {
100+ if db:: insert_gaijin ( & pool, gaijin) . await . is_ok ( ) {
101+ gaijin_added += 1 ;
102+ }
103+ }
104+
105+ for member in db. members {
106+ if db:: insert_member ( & pool, member) . await . is_ok ( ) {
107+ member_added += 1 ;
108+ }
109+ }
110+
111+ for manual in db. manual {
112+ if db:: insert_manual ( & pool, manual) . await . is_ok ( ) {
113+ manual_added += 1 ;
114+ }
115+ }
116+
117+ for pending in db. pending {
118+ if db:: insert_pending ( & pool, pending) . await . is_ok ( ) {
119+ pending_added += 1 ;
120+ }
121+ }
122+
123+ format ! (
124+ "Got {pending_got} pending, {manual_got} manual, {members_got} members, \
125+ {gaijin_got} extras, added {gaijin_added} gaijin, {member_added} members, \
126+ {manual_added} manual, {pending_added} pending"
93127 )
94128 . into_response ( )
95129}
0 commit comments