@@ -45,6 +45,8 @@ impl Database {
4545 price_increases_detected : i64 ,
4646 duplicates_detected : i64 ,
4747 receipts_matched : i64 ,
48+ spending_anomalies_detected : i64 ,
49+ tip_discrepancies_detected : i64 ,
4850 ) -> Result < ( ) > {
4951 let conn = self . conn ( ) ?;
5052 conn. execute (
@@ -62,7 +64,9 @@ impl Database {
6264 zombies_detected = ?,
6365 price_increases_detected = ?,
6466 duplicates_detected = ?,
65- receipts_matched = ?
67+ receipts_matched = ?,
68+ spending_anomalies_detected = ?,
69+ tip_discrepancies_detected = ?
6670 WHERE id = ?
6771 "# ,
6872 params ! [
@@ -79,6 +83,8 @@ impl Database {
7983 price_increases_detected,
8084 duplicates_detected,
8185 receipts_matched,
86+ spending_anomalies_detected,
87+ tip_discrepancies_detected,
8288 session_id,
8389 ] ,
8490 ) ?;
@@ -250,6 +256,7 @@ impl Database {
250256 s.tagged_by_bank_category, s.tagged_fallback,
251257 s.subscriptions_found, s.zombies_detected, s.price_increases_detected,
252258 s.duplicates_detected, s.receipts_matched,
259+ s.spending_anomalies_detected, s.tip_discrepancies_detected,
253260 s.user_email, s.ollama_model,
254261 s.status, s.processing_phase, s.processing_current, s.processing_total, s.processing_error,
255262 s.tagging_duration_ms, s.normalizing_duration_ms, s.matching_duration_ms,
@@ -404,24 +411,26 @@ impl Database {
404411 price_increases_detected : row. get ( 15 ) ?,
405412 duplicates_detected : row. get ( 16 ) ?,
406413 receipts_matched : row. get ( 17 ) ?,
407- user_email : row. get ( 18 ) ?,
408- ollama_model : row. get ( 19 ) ?,
414+ spending_anomalies_detected : row. get ( 18 ) ?,
415+ tip_discrepancies_detected : row. get ( 19 ) ?,
416+ user_email : row. get ( 20 ) ?,
417+ ollama_model : row. get ( 21 ) ?,
409418 status : status_str
410419 . as_deref ( )
411420 . and_then ( |s| s. parse ( ) . ok ( ) )
412421 . unwrap_or ( ImportStatus :: Pending ) ,
413422 processing_phase : row. get ( 21 ) ?,
414423 processing_current : row. get :: < _ , Option < i64 > > ( 22 ) ?. unwrap_or ( 0 ) ,
415- processing_total : row. get :: < _ , Option < i64 > > ( 23 ) ?. unwrap_or ( 0 ) ,
416- processing_error : row. get ( 24 ) ?,
417- tagging_duration_ms : row. get ( 25 ) ?,
418- normalizing_duration_ms : row. get ( 26 ) ?,
419- matching_duration_ms : row. get ( 27 ) ?,
420- detecting_duration_ms : row. get ( 28 ) ?,
421- total_duration_ms : row. get ( 29 ) ?,
424+ processing_total : row. get :: < _ , Option < i64 > > ( 25 ) ?. unwrap_or ( 0 ) ,
425+ processing_error : row. get ( 26 ) ?,
426+ tagging_duration_ms : row. get ( 27 ) ?,
427+ normalizing_duration_ms : row. get ( 28 ) ?,
428+ matching_duration_ms : row. get ( 29 ) ?,
429+ detecting_duration_ms : row. get ( 30 ) ?,
430+ total_duration_ms : row. get ( 31 ) ?,
422431 created_at : parse_datetime ( & created_at_str) ,
423432 } ,
424- account_name : row. get ( 31 ) ?,
433+ account_name : row. get ( 33 ) ?,
425434 } )
426435 }
427436
@@ -583,9 +592,11 @@ impl Database {
583592 price_increases_detected,
584593 duplicates_detected,
585594 receipts_matched,
586- ) : ( i64 , i64 , i64 , i64 , i64 ) = conn. query_row (
595+ spending_anomalies_detected,
596+ tip_discrepancies_detected,
597+ ) : ( i64 , i64 , i64 , i64 , i64 , i64 , i64 ) = conn. query_row (
587598 r#"SELECT subscriptions_found, zombies_detected, price_increases_detected,
588- duplicates_detected, receipts_matched
599+ duplicates_detected, receipts_matched, spending_anomalies_detected, tip_discrepancies_detected
589600 FROM import_sessions WHERE id = ?"# ,
590601 params ! [ session_id] ,
591602 |row| {
@@ -595,6 +606,8 @@ impl Database {
595606 row. get ( 2 ) ?,
596607 row. get ( 3 ) ?,
597608 row. get ( 4 ) ?,
609+ row. get ( 5 ) ?,
610+ row. get ( 6 ) ?,
598611 ) )
599612 } ,
600613 ) ?;
@@ -637,6 +650,8 @@ impl Database {
637650 price_increases_detected,
638651 duplicates_detected,
639652 receipts_matched,
653+ spending_anomalies_detected,
654+ tip_discrepancies_detected,
640655 sample_transactions,
641656 } )
642657 }
@@ -660,6 +675,8 @@ impl Database {
660675 "price_increases_detected" : snapshot. price_increases_detected,
661676 "duplicates_detected" : snapshot. duplicates_detected,
662677 "receipts_matched" : snapshot. receipts_matched,
678+ "spending_anomalies_detected" : snapshot. spending_anomalies_detected,
679+ "tip_discrepancies_detected" : snapshot. tip_discrepancies_detected,
663680 } )
664681 . to_string ( ) ;
665682
0 commit comments