11use crate :: {
2- db:: { self , main:: conf:: schema:: Conf , main:: user:: schema:: Role , main:: MainPool } ,
2+ db:: { self , log :: LogPool , main:: conf:: schema:: Conf , main:: user:: schema:: Role , main:: MainPool } ,
33 Result ,
44} ;
55use actix_web:: {
@@ -91,6 +91,8 @@ pub enum RpcMethod {
9191 SyncSubmittedPlaces ,
9292 // Matrix
9393 SendMatrixMessage ,
94+ // Debug
95+ GetRequestLog ,
9496}
9597
9698impl Role {
@@ -271,6 +273,7 @@ pub async fn handle(
271273 req_body : String ,
272274 pool : Data < MainPool > ,
273275 conf : Data < Conf > ,
276+ log_pool : Data < LogPool > ,
274277) -> Result < Json < RpcResponse > > {
275278 let headers = req. headers ( ) ;
276279 let Ok ( req) = serde_json:: from_str :: < Map < String , Value > > ( & req_body) else {
@@ -556,6 +559,10 @@ pub async fn handle(
556559 serde_json:: Value :: Null ,
557560 ) )
558561 }
562+ RpcMethod :: GetRequestLog => RpcResponse :: from (
563+ req. id . clone ( ) ,
564+ super :: log:: get_request_log:: run ( params ( req. params ) ?, & log_pool) . await ?,
565+ ) ,
559566 } ?;
560567
561568 Ok ( Json ( res) )
@@ -583,7 +590,9 @@ pub fn handle_rpc_error<B>(res: ServiceResponse<B>) -> actix_web::Result<ErrorHa
583590#[ cfg( test) ]
584591mod test {
585592 use super :: * ;
586- use crate :: { db:: main:: test:: pool, service:: overpass:: OverpassElement } ;
593+ use crate :: {
594+ db:: log:: test:: pool as log_pool, db:: main:: test:: pool, service:: overpass:: OverpassElement ,
595+ } ;
587596 use actix_web:: {
588597 http:: { header, StatusCode } ,
589598 test,
@@ -598,11 +607,13 @@ mod test {
598607 let pool = pool ( ) ;
599608 let conf = Conf :: mock ( ) ;
600609 let client: Option < Client > = None ;
610+ let log_pool = log_pool ( ) ;
601611 let app = test:: init_service (
602612 App :: new ( )
603613 . app_data ( Data :: new ( pool) )
604614 . app_data ( Data :: new ( conf) )
605615 . app_data ( Data :: new ( client) )
616+ . app_data ( Data :: new ( log_pool) )
606617 . service ( scope ( "/" ) . service ( super :: handle) ) ,
607618 )
608619 . await ;
@@ -624,11 +635,13 @@ mod test {
624635 let pool = pool ( ) ;
625636 let conf = Conf :: mock ( ) ;
626637 let client: Option < Client > = None ;
638+ let log_pool = log_pool ( ) ;
627639 let app = test:: init_service (
628640 App :: new ( )
629641 . app_data ( Data :: new ( pool) )
630642 . app_data ( Data :: new ( conf) )
631643 . app_data ( Data :: new ( client) )
644+ . app_data ( Data :: new ( log_pool) )
632645 . service ( scope ( "/" ) . service ( super :: handle) ) ,
633646 )
634647 . await ;
@@ -651,11 +664,13 @@ mod test {
651664 db:: main:: element:: queries:: insert ( OverpassElement :: mock ( 1 ) , & pool) . await ?;
652665 let conf = Conf :: mock ( ) ;
653666 let client: Option < Client > = None ;
667+ let log_pool = log_pool ( ) ;
654668 let app = test:: init_service (
655669 App :: new ( )
656670 . app_data ( Data :: new ( pool) )
657671 . app_data ( Data :: new ( conf) )
658672 . app_data ( Data :: new ( client) )
673+ . app_data ( Data :: new ( log_pool) )
659674 . service ( scope ( "/" ) . service ( super :: handle) ) ,
660675 )
661676 . await ;
@@ -680,11 +695,13 @@ mod test {
680695 let pool = pool ( ) ;
681696 let conf = Conf :: mock ( ) ;
682697 let client: Option < Client > = None ;
698+ let log_pool = log_pool ( ) ;
683699 let app = test:: init_service (
684700 App :: new ( )
685701 . app_data ( Data :: new ( pool) )
686702 . app_data ( Data :: new ( conf) )
687703 . app_data ( Data :: new ( client) )
704+ . app_data ( Data :: new ( log_pool) )
688705 . service ( scope ( "/" ) . service ( super :: handle) ) ,
689706 )
690707 . await ;
@@ -709,11 +726,13 @@ mod test {
709726 let pool = pool ( ) ;
710727 let conf = Conf :: mock ( ) ;
711728 let client: Option < Client > = None ;
729+ let log_pool = log_pool ( ) ;
712730 let app = test:: init_service (
713731 App :: new ( )
714732 . app_data ( Data :: new ( pool) )
715733 . app_data ( Data :: new ( conf) )
716734 . app_data ( Data :: new ( client) )
735+ . app_data ( Data :: new ( log_pool) )
717736 . service ( scope ( "/" ) . service ( super :: handle) ) ,
718737 )
719738 . await ;
@@ -746,11 +765,13 @@ mod test {
746765 . await ?;
747766 let conf = Conf :: mock ( ) ;
748767 let client: Option < Client > = None ;
768+ let log_pool = log_pool ( ) ;
749769 let app = test:: init_service (
750770 App :: new ( )
751771 . app_data ( Data :: new ( pool) )
752772 . app_data ( Data :: new ( conf) )
753773 . app_data ( Data :: new ( client) )
774+ . app_data ( Data :: new ( log_pool) )
754775 . service ( scope ( "/" ) . service ( super :: handle) ) ,
755776 )
756777 . await ;
@@ -775,11 +796,13 @@ mod test {
775796 let pool = pool ( ) ;
776797 let conf = Conf :: mock ( ) ;
777798 let client: Option < Client > = None ;
799+ let log_pool = log_pool ( ) ;
778800 let app = test:: init_service (
779801 App :: new ( )
780802 . app_data ( Data :: new ( pool) )
781803 . app_data ( Data :: new ( conf) )
782804 . app_data ( Data :: new ( client) )
805+ . app_data ( Data :: new ( log_pool) )
783806 . service ( scope ( "/" ) . service ( super :: handle) ) ,
784807 )
785808 . await ;
0 commit comments