@@ -37,9 +37,9 @@ impl LibsqlConn {
3737
3838 if let Some ( row) = rows. next ( ) . await ? {
3939 let id: i64 = row. get ( 0 ) ?;
40- return Ok ( Some ( id) ) ;
40+ Ok ( Some ( id) )
4141 } else {
42- return Ok ( None ) ;
42+ Ok ( None )
4343 }
4444 }
4545
@@ -271,10 +271,7 @@ impl Database for LibsqlConn {
271271 } ) )
272272 }
273273 } ,
274- signer : match row. get :: < Option < String > > ( 15 ) ? {
275- Some ( issuer) => Some ( Signer { issuer } ) ,
276- None => None ,
277- } ,
274+ signer : row. get :: < Option < String > > ( 15 ) ?. map ( |issuer| Signer { issuer } ) ,
278275 certificates : None ,
279276 } ) ,
280277 None => None ,
@@ -329,13 +326,15 @@ impl Database for LibsqlConn {
329326
330327 let where_sql = format ! ( " WHERE {}" , where_clauses. join( " AND " ) ) ;
331328
332- let count_sql = format ! ( "SELECT COUNT(*) {}" , & base_sql) + & where_sql;
329+ let mut count_sql = format ! ( "SELECT COUNT(*) {}" , & base_sql) ;
330+ count_sql. push_str ( & where_sql) ;
333331 let total_records_row = self
334332 . query_one ( & count_sql, libsql:: params_from_iter ( params. clone ( ) ) )
335333 . await ?;
336334 let total_records: i64 = total_records_row. get ( 0 ) ?;
337- let total_pages =
338- ( ( total_records + query_options. page_size as i64 - 1 ) / query_options. page_size as i64 ) as u32 ;
335+ let total_pages = u32:: try_from (
336+ ( total_records + i64:: from ( query_options. page_size ) - 1 ) / i64:: from ( query_options. page_size ) ,
337+ ) ?;
339338
340339 let sort_columns = [ "success" , "timestamp" , "target_path" , "target_user_id" ] ;
341340 let sort_column = if sort_columns. contains ( & query_options. sort_column . as_str ( ) ) {
@@ -345,12 +344,14 @@ impl Database for LibsqlConn {
345344 } ;
346345 let sort_order = if query_options. sort_descending { "DESC" } else { "ASC" } ;
347346
348- let limit = query_options. page_size as i64 ;
349- let offset = ( query_options. page_number . saturating_sub ( 1 ) * query_options. page_size ) as i64 ;
347+ let limit = i64 :: from ( query_options. page_size ) ;
348+ let offset = i64 :: from ( query_options. page_number . saturating_sub ( 1 ) * query_options. page_size ) ;
350349
350+ base_sql. push_str ( & joins) ;
351+ base_sql. push_str ( & where_sql) ;
351352 let select_sql = format ! (
352353 "SELECT jit.id, jit.timestamp, jit.success, jit.target_path, u_display.account_name, u_display.domain_name, u_display.account_sid, u_display.domain_sid {} ORDER BY jit.{} {} LIMIT ? OFFSET ?" ,
353- base_sql + & joins + & where_sql ,
354+ base_sql,
354355 sort_column,
355356 sort_order
356357 ) ;
@@ -379,8 +380,8 @@ impl Database for LibsqlConn {
379380 }
380381
381382 Ok ( JitElevationLogPage {
382- total_pages : total_pages ,
383- total_records : total_records as u32 ,
383+ total_pages,
384+ total_records : u32:: try_from ( total_records ) ? ,
384385 results,
385386 } )
386387 }
0 commit comments