File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ use std::io::SeekFrom;
22use colored_text:: Colorize ;
33use tokio:: fs:: File ;
44use tokio:: io:: { AsyncReadExt , AsyncSeekExt } ;
5+ use crate :: database:: { ServerHistory , ServerInfo } ;
6+ use crate :: { database, logger} ;
57use crate :: logger:: DefaultColor ;
68use crate :: minecraft:: { Ping , Query } ;
79
@@ -154,4 +156,25 @@ pub fn format_time(time: u64) -> String {
154156 trimmer,
155157 seconds. hex( DefaultColor :: Highlight . hex( ) )
156158 )
159+ }
160+
161+ pub async fn save_server ( results : & Vec < ( ServerInfo , ServerHistory ) > ) {
162+ let use_db = crate :: USE_DATABASE . get ( ) . map ( |a| * * a) . unwrap_or ( true ) ;
163+
164+ if !use_db {
165+ logger:: debug ( "Skipping database insert..." . into ( ) ) . prefix ( "Database" ) . send ( ) . await ;
166+ return ;
167+ }
168+
169+ match database:: server:: insert_servers ( results) . await {
170+ Err ( e) => logger:: error (
171+ format ! ( "Failed to insert server to database: {}" , e. hex( DefaultColor :: Highlight . hex( ) ) )
172+ ) . prefix ( "File Scanner" ) . send ( ) . await ,
173+ Ok ( _) => logger:: success (
174+ format ! (
175+ "Saved {} servers to the database!" ,
176+ results. len( ) . hex( DefaultColor :: Highlight . hex( ) )
177+ )
178+ ) . prefix ( "File Scanner" ) . send ( ) . await
179+ }
157180}
You can’t perform that action at this time.
0 commit comments